一、下载openpose
下载openpose
使用Git直接下载openpose
git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose.git
或者去github下载 openpose master.zip
unzip openpose-master.zip,用unzip命令解压, mv openpose-master openpose, 然后重命名为openpose
二、下载模型文件
cd models ./getModels.sh cd ..
三、Cmake编译
cd build cmake ../
修改buil/CMakeCache.txt的相关文件目录:
BULID_CAFFE -> OFF
Caffe_LIBS -> 修改成本地安装的目录
Caffe_INCLUDE_DIRS _> caffe安装文件的include目录
# 之后就可以编译了
make -j 8
四、测试安装
./build/examples/openpose/openpose.bin --video examples/media/video.avi
【注意】此处使用的caffe需要时openpose自带的caffe编译。否则运行自带模型会报错
- 首先把3rdparty/caffe/的文件 move到openpose同一级目录,然后编译caffe
- caffe编译之后,就可以使用此caffe编译OpenPose了
参考资料:
[OpenPose环境搭建]( )
杂七杂八-------------------------------------------------------------------------------------------
ErrOR
fatal error: hdf5.h: No such file or directory compilation terminated.
fatal error: hdf5.h: No such file or directory compilation terminated.
|
1.修改 Makefile.config 文件 添加/usr/include/hdf5/serial/ 到 INCLUDE_DIRS后
即原来的:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include 现在变成:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
2.修改 Makefile 文件 在 Makefile 文件中,按住crtl+f 搜索:LIBRARIES +=
注意不是上面第1步的 Makefile.config!!!
把 hdf5_hl 和hdf5修改为hdf5_serial_hl 和 hdf5_serial。
即原来的:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5 现在变成:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial ———————————————— 版权声明:本文为CSDN博主「volcano_Lin」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_38451119/article/details/81383266 |
nvcc fatal : Unsupported gpu architecture 'compute_20'
https://blog.csdn.net/weixin_37983220/article/details/85341058
错误:
VCC src/caffe/layers/softmax_loss_layer.cu nvcc fatal : Unsupported gpu architecture 'compute_20' Makefile:605: recipe for target '.build_release/cuda/src/caffe/layers/softmax_loss_layer.o' failed make: *** [.build_release/cuda/src/caffe/layers/softmax_loss_layer.o] Error 1
解决方案:
在Makefile.config文件中根据自己CUDA的版本注释不同的行。
# CUDA architecture setting: going with all of them. # For CUDA < 6.0, comment the *_50 through *_61 lines for compatibility. # For CUDA < 8.0, comment the *_60 and *_61 lines for compatibility. # For CUDA >= 9.0, comment the *_20 and *_21 lines for compatibility. CUDA_ARCH := #-gencode arch=compute_20,code=sm_20 \ #-gencode arch=compute_20,code=sm_21 -gencode arch=compute_30,code=sm_30 \ -gencode arch=compute_35,code=sm_35 \ -gencode arch=compute_50,code=sm_50 \ -gencode arch=compute_52,code=sm_52 \ -gencode arch=compute_60,code=sm_60 \ -gencode arch=compute_61,code=sm_61 \ -gencode arch=compute_61,code=compute_61
———————————————— 版权声明:本文为CSDN博主「青春如诗_」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_37983220/article/details/85341058 |
ERROR: gflags’
注意看第三句的末尾把namespace更改为了google,所以把原来函数前面的 " gflags:: " 改为 " google:: " 即可。
src/caffe/common.cpp: In function ‘void caffe::GlobalInit(int*, char***)’: src/caffe/common.cpp:45:5: error: ‘::gflags’ has not been declared ::gflags::ParseCommandLineFlags(pargc, pargv, true); ^~~~~~ Makefile:591: recipe for target '.build_release/src/caffe/common.o' failed make: *** [.build_release/src/caffe/common.o] Error 1 make: *** Waiting for unfinished jobs.... In file included from src/caffe/solvers/sgd_solver.cpp:5:0: ./include/caffe/util/hdf5.hpp:7:10: fatal error: hdf5.h: No such file or directory #include "hdf5.h" ^~~~~~~~ compilation terminated. Makefile:591: recipe for target '.build_release/src/caffe/solvers/sgd_solver.o' failed make: *** [.build_release/src/caffe/solvers/sgd_solver.o] Error 1 |
ERROR
https://github.com/BVLC/caffe/issues/4621 Not sure if the correct solution but seemingly works: LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5 \ opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs
|
ISSUE: CXX/LD -o .build_release/examples/mnist/convert_mnist_data.bin .build_release/lib/libcaffe.so: undefined reference to `cblas_sgemv' .build_release/lib/libcaffe.so: undefined reference to `cblas_dgemm' .build_release/lib/libcaffe.so: undefined reference to `cblas_sscal' .build_release/lib/libcaffe.so: undefined reference to `cblas_dgemv' .build_release/lib/libcaffe.so: undefined reference to `cblas_saxpy' .build_release/lib/libcaffe.so: undefined reference to `cblas_ddot' .build_release/lib/libcaffe.so: undefined reference to `cblas_dasum' .build_release/lib/libcaffe.so: undefined reference to `cblas_sgemm' .build_release/lib/libcaffe.so: undefined reference to `cblas_dscal' .build_release/lib/libcaffe.so: undefined reference to `cblas_scopy' .build_release/lib/libcaffe.so: undefined reference to `cblas_sasum' .build_release/lib/libcaffe.so: undefined reference to `cblas_daxpy' .build_release/lib/libcaffe.so: undefined reference to `cblas_dcopy' .build_release/lib/libcaffe.so: undefined reference to `cblas_sdot' collect2: error: ld returned 1 exit status Makefile:636: recipe for target '.build_release/tools/extract_features.bin' failed make: *** [.build_release/tools/extract_features.bin] Error 1 make: *** Waiting for unfinished jobs....
|
ERROR R_X86_64_32 against
Linking CXX shared library ../../lib/libcaffe-d.so /usr/bin/ld: /usr/local/lib/libcblas.a(cblas_sgemv.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/local/lib/libcblas.a: error adding symbols: Bad value collect2: error: ld returned 1 exit status make[2]: *** [lib/libcaffe-d.so.1.0.0-rc3] Error 1 make[1]: *** [src/caffe/CMakeFiles/caffe.dir/all] Error 2
———————————————— 版权声明:本文为CSDN博主「持久决心」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/u013832707/article/details/52748944 |
解决方法: 编辑build文件夹下的CMakeCache.txt,将
//Path to a library. Atlas_CBLAS_LIBRARY:FILEPATH=<path to libcblas.a>
改为: //Path to a library. Atlas_CBLAS_LIBRARY:FILEPATH=/usr/lib/libcblas.so //<path to libcblas.so in my machine>
———————————————— 版权声明:本文为CSDN博主「持久决心」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/u013832707/article/details/52748944 |
https://github.com/BVLC/caffe/issues/4621
I think the reason is you use make to compile, which makes caffe's python port only find libraries in this catalog. Maybe you use cmake to compile and it could work. |