CAFFE中图层的.cpp和.cu之间的关系

时间:2017-08-05 07:24:30

标签: machine-learning deep-learning caffe

我发现一个层可以用CPU(.cpp)或GPU(.cu)版本实现。例如,批量规范化层有两个源文件:batch_norm_layer.cppbatch_norm_layer.cu

当我编译代码时,我通过取消注释USE_CUDNN := 1来选择CUDA模式。然后,当我使用批量规范化层时,CAFFE将执行.cu文件中的所有内容,而不从.cpp文件获取任何信息。我是对的吗?

我问过它,因为我不确定我的CPU实现的更正,但我确定GPU实现是正确的。因此,我不知道CPU代码中的任何错误都会影响我的GPU代码。感谢

1 个答案:

答案 0 :(得分:2)

{。{1}}在.cpp代码中执行,因此您需要正确执行此操作。否则,你是对的(给你选择LayerSetup),你的.cu代码应该为前进和后退传递。