首页 > 解决方案 > Openpose 在 AWS 深度学习实例上失败。那么哪个实例可以100%运行呢?

问题描述

我尝试使用 AWS Deep Learning AMI https://aws.amazon.com/marketplace/pp/B077GCH38C?qid=1530671113739&sr=0-2&ref_=srh_res_product_title在 AWS p3.2xlarge 实例上构建 Openpose C++ 源

操作系统是 Ubuntu 16.04,几乎预装了所有先决条件(CUDA、cuDNN、OpenCV、Caffe)。我按照官方说明进行操作。 https://github.com/CMU-Perceptual-Computing-Lab/openpose/blob/master/doc/installation.md#operating-systems

这是我尝试使用 cmake 构建它时收到的主要错误消息。是不是说GPU架构太新,openpose无法编译?任何人都可以解释我得到的错误吗?

nvcc 致命:不支持的 gpu 架构“compute_70”

在构建之前的步骤中是否有任何错误的可能性?

最后想知道什么样的环境真正可以运行openpose,尤其是AWS。任何报告表示赞赏。

顺便说一句,整个错误消息在这里。

src/openpose/CMakeFiles/openpose.dir/build.make:63:目标“src/openpose/CMakeFiles/openpose.dir/hand/openpose_generated_renderHand.cu.o”的配方失败 make[2]:* [src/openpose/ CMakeFiles/openpose.dir/hand/openpose_generated_renderHand.cu.o] 错误 1 ​​make[2]: * Waiting for unfinished jobs.... nvcc fatal : Unsupported gpu architecture 'compute_70' CMake Error at openpose_generated_bodyPartConnectorBase.cu.o.cmake: 207(消息):错误生成/home/ubuntu/openpose/build/src/openpose/CMakeFiles/openpose.dir/pose/./openpose_generated_bodyPartConnectorBase.cu.o

nvcc 致命:不支持的 gpu 架构“compute_70”src/openpose/CMakeFiles/openpose.dir/build.make:77:目标“src/openpose/CMakeFiles/openpose.dir/pose/openpose_generated_bodyPartConnectorBase.cu.o”的配方失败 make[ 2]:*** [src/openpose/CMakeFiles/openpose.dir/pose/openpose_generated_bodyPartConnectorBase.cu.o] 错误 1 ​​CMake 错误在 openpose_generated_maximumBase.cu.o.cmake:207(消息):错误生成 /home/ubuntu/ openpose/build/src/openpose/CMakeFiles/openpose.dir/net/./openpose_generated_maximumBase.cu.o

src/openpose/CMakeFiles/openpose.dir/build.make:98:目标“src/openpose/CMakeFiles/openpose.dir/net/openpose_generated_maximumBase.cu.o”的配方失败 make[2]:*** [src/ openpose/CMakeFiles/openpose.dir/net/openpose_generated_maximumBase.cu.o] Error 1 nvcc fatal: Unsupported gpu architecture 'compute_70' CMake Error at openpose_generated_renderPose.cu.o.cmake:207 (message): Error generated /home/ubuntu/ openpose/build/src/openpose/CMakeFiles/openpose.dir/pose/./openpose_generated_renderPose.cu.o

nvcc 致命:openpose_generated_renderFace.cu.o.cmake:207 处不支持的 gpu 架构“compute_70”CMake 错误:207(消息):错误生成 /home/ubuntu/openpose/build/src/openpose/CMakeFiles/openpose.dir/face/./ openpose_generated_renderFace.cu.o

src/openpose/CMakeFiles/openpose.dir/build.make:84:目标“src/openpose/CMakeFiles/openpose.dir/pose/openpose_generated_renderPose.cu.o”的配方失败 make[2]:*** [src/ openpose/CMakeFiles/openpose.dir/pose/openpose_generated_renderPose.cu.o] Error 1 nvcc fatal: Unsupported gpu architecture 'compute_70' CMake Error at openpose_generated_resizeAndMergeBase.cu.o.cmake:207 (message): Error generated /home/ubuntu/ openpose/build/src/openpose/CMakeFiles/openpose.dir/net/./openpose_generated_resizeAndMergeBase.cu.o

src/openpose/CMakeFiles/openpose.dir/build.make:70:目标“src/openpose/CMakeFiles/openpose.dir/face/openpose_generated_renderFace.cu.o”的配方失败 make[2]:* [src/openpose/ CMakeFiles/openpose.dir/face/openpose_generated_renderFace.cu.o] 错误 1 ​​src/openpose/CMakeFiles/openpose.dir/build.make:112:目标 'src/openpose/CMakeFiles/openpose.dir/net/openpose_generated_resizeAndMergeBase 的配方。 cu.o' 使 [2] 失败:* [src/openpose/CMakeFiles/openpose.dir/net/openpose_generated_resizeAndMergeBase.cu.o] 错误 1 ​​nvcc 致命:不支持的 gpu 架构“compute_70”在 openpose_generated_pyramidalLK.cu.o 处出现 CMake 错误。 cmake:207(消息):生成/home/ubuntu/openpose/build/src/openpose/CMakeFiles/openpose.dir/tracking/./openpose_generated_pyramidalLK.cu.o时出错

src/openpose/CMakeFiles/openpose.dir/build.make:91:目标“src/openpose/CMakeFiles/openpose.dir/tracking/openpose_generated_pyramidalLK.cu.o”的配方失败 make[2]:* [src/openpose/ CMakeFiles/openpose.dir/tracking/openpose_generated_pyramidalLK.cu.o] 错误 1 ​​CMakeFiles/Makefile2:179: 目标 'src/openpose/CMakeFiles/openpose.dir/all' 的配方失败 make[1]: * [src/openpose/ CMakeFiles/openpose.dir/all] 错误 2 make[1]: *** Waiting for unfinished jobs.... [8%] Building CXX object src/openpose/filestream/CMakeFiles/openpose_filestream.dir/bvhSaver.cpp.o扫描目标 openpose_gpu 的依赖关系 扫描目标 openpose_thread 的依赖关系 [ 8%] 构建 NVCC(设备)对象 src/openpose/hand/CMakeFiles/openpose_hand.dir/openpose_hand_generated_renderHand.cu。o [9%] 构建 NVCC(设备)对象 src/openpose/face/CMakeFiles/openpose_face.dir/openpose_face_generated_renderFace.cu.o 扫描目标 openpose_calibration 的依赖项 [9%] 构建 CXX 对象 src/openpose/filestream/CMakeFiles/openpose_filestream。 dir/cocoJsonSaver.cpp.o [ 9%] 构建 CXX 对象 src/openpose/filestream/CMakeFiles/openpose_filestream.dir/defineTemplates.cpp.o [ 10%] 构建 CXX 对象 src/openpose/thread/CMakeFiles/openpose_thread.dir/ defineTemplates.cpp.o [ 11%] 构建 CXX 对象 src/openpose/calibration/CMakeFiles/openpose_calibration.dir/cameraParameterEstimation.cpp.o [ 11%] 构建 CXX 对象 src/openpose/calibration/CMakeFiles/openpose_calibration.dir/gridPatternFunctions。 cpp.o nvcc 致命:不支持的 gpu 架构“compute_70”openpose_hand_generated_renderHand.cu.o.cmake 处的 CMake 错误:207(消息):错误生成 /home/ubuntu/openpose/build/src/openpose/hand/CMakeFiles/openpose_hand.dir//./openpose_hand_generated_renderHand.cu.o

nvcc 致命:openpose_face_generated_renderFace.cu.o.cmake:207 处不支持的 gpu 架构“compute_70”CMake 错误(消息):生成/home/ubuntu/openpose/build/src/openpose/face/CMakeFiles/openpose_face.dir// 时出错。 /openpose_face_generated_renderFace.cu.o

src/openpose/hand/CMakeFiles/openpose_hand.dir/build.make:63:目标 'src/openpose/hand/CMakeFiles/openpose_hand.dir/openpose_hand_generated_renderHand.cu.o' 的配方失败 make[2]: * [src/ openpose/hand/CMakeFiles/openpose_hand.dir/openpose_hand_generated_renderHand.cu.o] 错误 1 ​​CMakeFiles/Makefile2:344: 目标 'src/openpose/hand/CMakeFiles/openpose_hand.dir/all' 的配方失败 make[1]: * [ src/openpose/hand/CMakeFiles/openpose_hand.dir/all] 错误 2

o 在来自 /home/ubuntu/openpose/include/openpose/filestream/headers.hpp:9:0 的文件中,来自 /home/ubuntu/openpose/src/openpose/filestream/defineTemplates.cpp:1:/home/ubuntu /openpose/include/openpose/filestream/fileStream.hpp:54:32:错误:“CV_IMWRITE_JPEG_QUALITY”未在此范围内声明 = {CV_IMWRITE_JPEG_QUALITY, 100, CV_IMWRITE_PNG_COMPRESSION, 9}); ^ 编译因 -Wfatal-errors 而终止。src/openpose/filestream/CMakeFiles/openpose_filestream.dir/build.make:110:目标'src/openpose/filestream/CMakeFiles/openpose_filestream.dir/defineTemplates.cpp.o'的配方失败make [2]:[src/openpose /filestream/CMakeFiles/openpose_filestream.dir/defineTemplates.cpp.o] 错误 1 ​​make[2]: Waiting for unfinished jobs.... [13%] 构建 CXX 对象 src/openpose/gpu/CMakeFiles/openpose_gpu.dir/gpu .cpp。o 在 /home/ubuntu/openpose/src/openpose/filestream/fileStream.cpp:7:0 包含的文件中:/home/ubuntu/openpose/include/openpose/filestream/fileStream.hpp:54:32:错误:' CV_IMWRITE_JPEG_QUALITY' 未在此范围内声明 = {CV_IMWRITE_JPEG_QUALITY, 100, CV_IMWRITE_PNG_COMPRESSION, 9}); ^ 编译因 -Wfatal-errors 而终止。src/openpose/filestream/CMakeFiles/openpose_filestream.dir/build.make:158:目标'src/openpose/filestream/CMakeFiles/openpose_filestream.dir/fileStream.cpp.o'的配方失败make [2]:[src/openpose /filestream/CMakeFiles/openpose_filestream.dir/fileStream.cpp.o] 错误 1 ​​[13%] 构建 CXX 对象 src/openpose/gpu/CMakeFiles/openpose_gpu.dir/opencl.cpp.o CMakeFiles/Makefile2:234:目标配方'src/openpose/filestream/CMakeFiles/openpose_filestream.dir/all' 失败 make[1]: [src/openpose/filestream/CMakeFiles/openpose_filestream.dir/all] 错误 2 在 /home/ubuntu/openpose/src/openpose/calibration/cameraParameterEstimation.cpp:11:0: /home 中包含的文件中/ubuntu/openpose/include/openpose/filestream/fileStream.hpp:54:32:错误:未在此范围内声明“CV_IMWRITE_JPEG_QUALITY”= {CV_IMWRITE_JPEG_QUALITY, 100, CV_IMWRITE_PNG_COMPRESSION, 9}); ^ 编译因 -Wfatal-errors 而终止。src/openpose/calibration/CMakeFiles/openpose_calibration.dir/build.make:62:目标“src/openpose/calibration/CMakeFiles/openpose_calibration.dir/cameraParameterEstimation.cpp.o”的配方失败 make[2]:[src/openpose /calibration/CMakeFiles/openpose_calibration.dir/cameraParameterEstimation.cpp.o] 错误 1 ​​make[2]: Waiting for unfinished jobs.... /home/ubuntu/openpose/src/openpose/calibration/gridPatternFunctions.cpp:在函数'void op::improveCornersPositionsAtSubPixelLevel(std::vector >&, const cv::Mat&)'中:/home/ubuntu/openpose/src/ openpose/calibration/gridPatternFunctions.cpp:22:52: 错误: 'CV_TERMCRIT_EPS' 未在此范围内声明 cv::TermCriteria{ CV_TERMCRIT_EPS+CV_TERMCRIT_ITER, 1000, 1e-9 }); ^ 编译因 -Wfatal-errors 而终止。src/openpose/calibration/CMakeFiles/openpose_calibration.dir/build.make:86:目标'src/openpose/calibration/CMakeFiles/openpose_calibration.dir/gridPatternFunctions.cpp.o'的配方失败make [2]:[src/openpose /calibration/CMakeFiles/openpose_calibration.dir/gridPatternFunctions.cpp.o] 错误 1 ​​CMakeFiles/Makefile2:511: 目标配方'

标签: amazon-web-servicesubuntuamazon-ec2cmakedeep-learning

解决方案


AWS p3 实例具有需要 CUDA 9 及更高版本的 Tesla V100。但是 OpenPose 需要 CUDA 8。

如果要在 AWS 上使用 OpenPose,则必须使用 p2 实例。


推荐阅读