大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全家桶1年46,售后保障稳定
编译caffe2源码遇到的坑
最新的caffe2 已经移到pytorch中去了,直接下载其中的代码然后按照官方教程就可以了。
编译遇到的问题:
make[3]: Entering directory '/home/ubuntu/caffe2-master/build'
make[3]: Leaving directory '/home/ubuntu/caffe2-master/build'
make[3]: Entering directory '/home/ubuntu/caffe2-master/build'
[ 92%] Linking CXX executable ../bin/mpi_test
/usr/bin/ld: CMakeFiles/mpi_test.dir/mpi/mpi_test.cc.o: undefined reference to symbol '_ZN3MPI8Datatype4FreeEv'
//usr/lib/libmpi_cxx.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
caffe2/CMakeFiles/mpi_test.dir/build.make? recipe for target 'bin/mpi_test' failed
make[3]: *** [bin/mpi_test] Error 1
make[3]: Leaving directory '/home/ubuntu/caffe2-master/build'
CMakeFiles/Makefile2:2654: recipe for target 'caffe2/CMakeFiles/mpi_test.dir/all' failed
make[2]: *** [caffe2/CMakeFiles/mpi_test.dir/all] Error 2
make[2]: Leaving directory '/home/ubuntu/caffe2-master/build'
Makefile:140: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/ubuntu/caffe2-master/build'
Makefile:4: recipe for target 'all' failed
make: *** [all] Error 2
问题出在MPI的链接问题中。
因此你需要修改的文件如下:
pytorch->caffe2->CMakefiles.txt
添加如下到最后行就可以了:
SET(CMAKE_C_COMPILER mpicc)
SET(CMAKE_CXX_COMPILER mpicxx)
include_directories(MPI_INCLUDE_PATH)
target_link_libraries(mpi_test ${MPI_LIBRARIES})
测试遇到的问题
再输入测试时候会遇到问题:
python -c 'from caffe2.python import core'
发现不能import caffe2_pb,这一步其实是因为路径存在问题。
如果你位于PATH_TO/pytorch/build
你就会发现,可以解决了,因此你需要把这个目录加载到PYTHONPATH中去。
具体方法:
echo 'export PYTHONPATH=$PYTHONPATH:PATH_TO/pytorch/build' >> ~/.bashrc
中去。然后
source ~/.bashrc
就可以了。
其中PATH_TO
需要根据你自己的电脑上的目录操作。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/226862.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...