caffe*** Aborted at 1457505270 (unix time) try "date -d @1457505270" if you are using GNU date ***

来源:互联网 发布:js数组转成json字符串 编辑:程序博客网 时间:2024/05/01 02:55

在自己建立新的caffe层时,出现错误:

*** Aborted at 1457505270 (unix time) try "date -d @1457505270" if you are using GNU date ***

这个十分怪异的!在BLVC的论坛上也没找到解决办法。
有人说重新编译就好了,我试了也没什么效果。
仔细分析代码,并加了好多LOG(INFO)后,发现问题是出现在使用shuffle的地方。问题很清晰了,应该是shuffle使用了时间作为随机种子,但 unix 的时间格式可能没有正确解析。可以注释掉下面这句话

  caffe::rng_t* prefetch_rng =      static_cast<caffe::rng_t*>(prefetch_rng_->generator());

也可以直接使用std::random_shuffle函数,不过需要在编译的时候使用c++11特性。

—————-华丽丽的分割线2016.06.15———————–

这段时间使用caffe,又多次出现了这个错误,发现这个错误是很诡异的,而且这个错误本身基本上也不能给出正确的错误信息,但是一般还是会给出一个调用堆栈。这次我出现这个错误是由于将老版本caffe接口和新版本接口混用导致的,源代码使用的是一个论文提供的版本,自己也没注意。混用之后caffe好像是直接按照旧版本进行解析,但是我又有很多新版本的,所以解析失败,然而,caffe抛出了这个错误。然后把错误指向了softmax 层的 Forward_cpu(). 显然这个没有正确给出信息。

1 0