在一个配置好pycaffe的服务器上,将caffe迁移到线上服务器的步骤
保存动态共享库
for i in `ldd ./build/tools/caffe.bin | grep -v "linux-vdso.so.1" | grep -v "openmpi" | awk -F '=>' '{print $2}' | awk -F ' ' '{print $1}'`; do echo $i; cp $i ./caffe_libs; done
anaconda 迁移
- 将anaconda2/bin/python2.7 cp到新机器的python_lib 中
- ldd python2.7,将依赖的动态库复制到python_lib中
- 改变python2.7的依赖库位置
patchelf --set-rpath '$ORIGIN/python_lib' ./python2.7
patchelf --set-interpreter ./python_lib/ld-linux-x86-64.so.2 ./python2.7
- 将anaconda整体迁移到新机器上,并把pyyhon_lib中的python2.7替换anaconda2/bin/python2.7
- 执行即可
pycaffe迁移
- 将caffe-master下的python文件夹库迁移到新机器
- ldd python/caffe/_caffe.so ,将依赖的动态库复制到caffe_so_lib中
- 改变_caffe.so 的依赖库位置,参照anaconda的第3步
- 在python脚本中添加
import sys
caffe_root = '/home/bml/bml_cmd/cnn_train/caffe_python'
sys.path.insert(0, caffe_root)
import caffe
即可使用pycaffe
其他问题
如libtcmalloc.so.4其他库,使用export LD_LIBRARY_PATH=./usr_lib:$LD_LIBRARY_PATH添加