【发布时间】:2016-12-21 07:11:38
【问题描述】:
我正在尝试将 SigmoidCrossEntropyLossLayer 修改为我自己的版本。我只实现了 .cpp 版本。已经有一个 SigmoidCrossEntropyLossLayer 的 .cu 文件,看来我必须使用 backword_gpu 作为我的后向实现。我试图删除这个 .cu 文件,这是弹出的错误之一(实际上所有类似的错误只是使用不同的 bin 文件):
make: *** [.build_release/tools/compute_image_mean.bin] Error 1
.build_release/lib/libcaffe.so: undefined reference to `caffe::SigmoidCrossEntropyLossLayer<double>::Backward_gpu(std::vector<caffe::Blob<double>*, std::allocator<caffe::Blob<double>*> > const&, std::vector<bool, std::allocator<bool> > const&, std::vector<caffe::Blob<double>*, std::allocator<caffe::Blob<double>*> > const&)'
有谁知道如何让 caffe 忽略这个单一的 .cu 文件?我不想再在我的项目中使用它了。非常感谢!
【问题讨论】:
-
我找到了一种方法,即在backward_gpu中调用backward_cpu。我可以这样做,但我仍然想知道是否有更简洁的方法来实现。
标签: c++ machine-learning neural-network deep-learning caffe