OpenPose 开源库安装


一、下载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环境搭建]( )

 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:
add the second line in the Makefile:

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.
make clean
cd caffe-master
mkdir build
cd build
cmake ..
make all -j8
I hope I could help you!

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM