I install opencv and caffe2 follow this using Ubuntu 16. Them I paste example code here to do feature extraction.
code:
python tools/extract_features.py \
--test_data=/home/maliqi/Desktop/c3d/R2Plus1D/my_lmdb_data \
--model_name=r2plus1d --model_depth=18 --clip_length_rgb=8 \
--gpus=0,1 \
--batch_size=2 \
--load_model_path=/home/maliqi/Desktop/c3d/R2Plus1D/r3d_d18_l8.pkl \
--output_path=my_features.pkl \
--features=softmax,final_avg,video_id \
--sanity_check=0 --get_video_id=1 --use_local_file=1 --num_labels=1
But I got this error:
RuntimeError: [enforce fail at operator.cc:209] op. Cannot create operator of type 'MSRAFill' on the device 'CUDA'. Verify that implementation for the corresponding device exist. It might also happen if the binary is not linked with the operator implementation code. If Python frontend is used it might happen if dyndep.InitOpsLibrary call is missing. Operator def: output: "gpu_0/conv1_middle_w" name: "" type: "MSRAFill" arg { name: "shape" ints: 45 ints: 3 ints: 1 ints: 7 ints: 7 } device_option { device_type: 1 cuda_gpu_id: 0 }
I only have CPU, so I want to ask does this can ONLY run with GPU?
I need to have GPU for feature extraction (for now the script is just supported GPU). We don't see a real use case where feature extraction is running on CPU.
I install opencv and caffe2 follow this using Ubuntu 16. Them I paste example code here to do feature extraction. code: python tools/extract_features.py \ --test_data=/home/maliqi/Desktop/c3d/R2Plus1D/my_lmdb_data \ --model_name=r2plus1d --model_depth=18 --clip_length_rgb=8 \ --gpus=0,1 \ --batch_size=2 \ --load_model_path=/home/maliqi/Desktop/c3d/R2Plus1D/r3d_d18_l8.pkl \ --output_path=my_features.pkl \ --features=softmax,final_avg,video_id \ --sanity_check=0 --get_video_id=1 --use_local_file=1 --num_labels=1
But I got this error: RuntimeError: [enforce fail at operator.cc:209] op. Cannot create operator of type 'MSRAFill' on the device 'CUDA'. Verify that implementation for the corresponding device exist. It might also happen if the binary is not linked with the operator implementation code. If Python frontend is used it might happen if dyndep.InitOpsLibrary call is missing. Operator def: output: "gpu_0/conv1_middle_w" name: "" type: "MSRAFill" arg { name: "shape" ints: 45 ints: 3 ints: 1 ints: 7 ints: 7 } device_option { device_type: 1 cuda_gpu_id: 0 }
I only have CPU, so I want to ask does this can ONLY run with GPU?