I used this guide to install OpenPose on my Jetson Nano:
after that, I ran this command from the openpose folder:
bash ./scripts/ubuntu/install_caffe_and_openpose_JetsonTX2_JetPack3.3.sh
I can see my webcam turn on, and I can see a small window labelled OpenPost 1.5.0 open. However, after a few moments, I see this following log:
angelo@angelo-desktop:~/openpose$ ./build/examples/openpose/openpose.bin -camera_resolution 640x480 -net_resolution 128x96
Starting OpenPose demo...
Configuring OpenPose...
Starting thread(s)...
Auto-detecting camera index... Detected and opened camera 0.
Auto-detecting all available GPUs... Detected 1 GPU(s), using 1 of them starting at GPU 0.
Error occurred on a thread. OpenPose closed all its threads and then propagated the error to the main thread. Error description:
Cuda check failed (48 vs. 0): no kernel image is available for execution on the device
Coming from:
- src/openpose/net/netCaffe.cpp:reshapeNetCaffe():112
- src/openpose/gpu/cuda.cpp:cudaCheck():42
- src/openpose/net/netCaffe.cpp:reshapeNetCaffe():117
- src/openpose/net/netCaffe.cpp:forwardPass():256
- src/openpose/pose/poseExtractorCaffe.cpp:forwardPass():626
- src/openpose/pose/poseExtractor.cpp:forwardPass():53
- ./include/openpose/pose/wPoseExtractor.hpp:work():107
- ./include/openpose/thread/worker.hpp:checkAndWork():93
- [All threads closed and control returned to main thread]
- src/openpose/utilities/errorAndLog.cpp:checkWorkerErrors():280
- ./include/openpose/thread/threadManager.hpp:stop():243
- ./include/openpose/thread/threadManager.hpp:exec():202
- ./include/openpose/wrapper/wrapper.hpp:exec():424
I’m not sure how to proceed. I know my camera works, I’ve tested it via Cheese, and the imagenet-camera and detectnet-camera examples (I had to set the default camera to 0 instead of -1).
Does anyone know how to go about this issue? Any help is very much appreciated.
EDIT
It seems that this might be related to the CUDA setup in Caffe?
The Jetson TX2 guide makes you run a script that installs Caffe and OpenPose. Now, what I’m thinking is that the CUDA_ARCH variable wasn’t changed to be compatible with the Nano? This is the following CUDA_ARCH for Jetson Nano:
CUDA_ARCH := -gencode arch=compute_53,code=sm_53 \
-gencode arch=compute_53,code=compute_53
And I think that this is very much different from the TX2’s.
Right now, I’m not sure how to fix or edit the Makefile.config that the OpenPose script uses. I’ve also had my issues installing Caffe on the Nano as a standalone installation, and the OpenPose for TX2 script file was godsend. But it doesn’t seem to provide flexibility for configuring the Makefile.config.
Any leads are very much appreciated.
EDIT 2
There’s a Makefile.config.Ubuntu16_cuda9_JetsonTX2_JetPack33 file in the openpose/scripts/ubuntu folder. I’ll see what I can do here.