facebookresearch / VMZ

VMZ: Model Zoo for Video Modeling
Apache License 2.0
1.04k stars 156 forks source link

CPU for feature extraction #38

Closed CHJoanna closed 5 years ago

CHJoanna commented 5 years ago

Ahh..missed that. Done.

dutran commented 5 years ago

@CHJoanna look great, thanks Joanna!

hali6779 commented 5 years ago

@CHJoanna Hi, thanks for your code for feature extraction with CPU, may I know what command should I execute? I executed the previous command in the tutorial but still get errors.

CHJoanna commented 5 years ago

@hali6779 What command do you execute? And what error do you get?

hali6779 commented 5 years ago

@CHJoanna I have changed the code to what you commit, and executing python tools/extract_features.py \ --test_data=my_lmdb_data \ --model_name=r2plus1d --model_depth=34 --clip_length_rgb=32 \ --gpus=0,1 \ --batch_size=4 \ --load_model_path=/mnt/homedir/trandu/video_models/kinetics/l32/r2.5d_d34_l32_ft_sports1m.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=400 as what indicates on the tutorial. And I get this output: (r21d) jam@jam-node-B:~/Downloads/VMZ-master$ python tools/extract_features.py --test_data=my_lmdb_data --model_name=r2plus1d --model_depth=34 --clip_length_rgb=32 --gpus=0,1 --batch_size=4 --load_model_path=/mnt/homedir/trandu/video_models/kinetics/l32/r2.5d_d34_l32_ft_sports1m.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=400 WARNING:root:This caffe2 python run does not have GPU support. Will run in CPU only mode. Ignoring @/caffe2/caffe2/contrib/nccl:nccl_ops as it is not a valid file. Ignoring @/caffe2/caffe2/contrib/gloo:gloo_ops as it is not a valid file. Ignoring @/caffe2/caffe2/contrib/gloo:gloo_ops_gpu as it is not a valid file. [E init_intrinsics_check.cc:43] CPU feature avx is present on your machine, but the Caffe2 binary is not compiled with it. It means you may not get the full speed of your CPU. [E init_intrinsics_check.cc:43] CPU feature avx2 is present on your machine, but the Caffe2 binary is not compiled with it. It means you may not get the full speed of your CPU. [E init_intrinsics_check.cc:43] CPU feature fma is present on your machine, but the Caffe2 binary is not compiled with it. It means you may not get the full speed of your CPU. Namespace(batch_size=4, clip_length_of=8, clip_length_rgb=32, clip_per_video=1, crop_size=112, db_type='pickle', decode_type=2, do_flow_aggregation=0, features='softmax,final_avg,video_id', flow_data_type=0, frame_gap_of=2, get_video_id=1, gpus='0,1', input_type=0, load_model_path='/mnt/homedir/trandu/video_models/kinetics/l32/r2.5d_d34_l32_ft_sports1m.pkl', model_depth=34, model_name='r2plus1d', num_channels=3, num_decode_threads=4, num_gpus=1, num_iterations=-1, num_labels=400, output_path='my_features.pkl', sampling_rate_of=2, sampling_rate_rgb=1, sanity_check=0, scale_h=128, scale_w=171, test_data='my_lmdb_data', use_cudnn=1, use_local_file=1) INFO:feature_extractor:Namespace(batch_size=4, clip_length_of=8, clip_length_rgb=32, clip_per_video=1, crop_size=112, db_type='pickle', decode_type=2, do_flow_aggregation=0, features='softmax,final_avg,video_id', flow_data_type=0, frame_gap_of=2, get_video_id=1, gpus='0,1', input_type=0, load_model_path='/mnt/homedir/trandu/video_models/kinetics/l32/r2.5d_d34_l32_ft_sports1m.pkl', model_depth=34, model_name='r2plus1d', num_channels=3, num_decode_threads=4, num_gpus=1, num_iterations=-1, num_labels=400, output_path='my_features.pkl', sampling_rate_of=2, sampling_rate_rgb=1, sanity_check=0, scale_h=128, scale_w=171, test_data='my_lmdb_data', use_cudnn=1, use_local_file=1) INFO:model_builder:Validated: r2plus1d with 34 layers INFO:model_builder:with input 32x112x112 Running on GPUs: [0, 1] INFO:feature_extractor:Running on GPUs: [0, 1] Running on GPUs: [0, 1] INFO:feature_extractor:Running on GPUs: [0, 1] WARNING:root:[====DEPRECATE WARNING====]: you are creating an object from CNNModelHelper class which will be deprecated soon. Please use ModelHelper object with brew module. For more information, please refer to caffe2.ai and python/brew.py, python/brew_test.py for more information. WARNING:data_parallel_model:** Only 0 GPUs available, GPUs [0, 1] requested INFO:data_parallel_model:Parallelizing model for devices: [0, 1] INFO:data_parallel_model:Create input and model training operators WARNING:data_parallel_model: WARNING:data_parallel_model:############# WARNING ############# WARNING:data_parallel_model:Model Extract Features/<caffe2.python.cnn.CNNModelHelper object at 0x7fd2996f3210> is used for testing/validation but WARNING:data_parallel_model:has init_params=True! WARNING:data_parallel_model:This can conflict with model training. WARNING:data_parallel_model:Please ensure model = ModelHelper(init_params=False) WARNING:data_parallel_model:#################################### WARNING:data_parallel_model: INFO:data_parallel_model:Model for GPU : 0 INFO:model_helper:outputing rgb data INFO:model_builder:creating r2plus1d, depth=34... INFO:video_model:Number of middle filters: 144 INFO:video_model:Number of middle filters: 144 INFO:video_model:Number of middle filters: 144 INFO:video_model:Number of middle filters: 144 INFO:video_model:Number of middle filters: 144 INFO:video_model:Number of middle filters: 144 INFO:video_model:Number of middle filters: 230 INFO:video_model:Number of middle filters: 288 INFO:video_model:Number of middle filters: 288 INFO:video_model:Number of middle filters: 288 INFO:video_model:Number of middle filters: 288 INFO:video_model:Number of middle filters: 288 INFO:video_model:Number of middle filters: 288 INFO:video_model:Number of middle filters: 288 INFO:video_model:Number of middle filters: 460 INFO:video_model:Number of middle filters: 576 INFO:video_model:Number of middle filters: 576 INFO:video_model:Number of middle filters: 576 INFO:video_model:Number of middle filters: 576 INFO:video_model:Number of middle filters: 576 INFO:video_model:Number of middle filters: 576 INFO:video_model:Number of middle filters: 576 INFO:video_model:Number of middle filters: 576 INFO:video_model:Number of middle filters: 576 INFO:video_model:Number of middle filters: 576 INFO:video_model:Number of middle filters: 576 INFO:video_model:Number of middle filters: 921 INFO:video_model:Number of middle filters: 1152 INFO:video_model:Number of middle filters: 1152 INFO:video_model:Number of middle filters: 1152 INFO:video_model:Number of middle filters: 1152 INFO:video_model:Number of middle filters: 1152 INFO:data_parallel_model:Model for GPU : 1 INFO:model_helper:outputing rgb data INFO:model_builder:creating r2plus1d, depth=34... INFO:video_model:Number of middle filters: 144 INFO:video_model:Number of middle filters: 144 INFO:video_model:Number of middle filters: 144 INFO:video_model:Number of middle filters: 144 INFO:video_model:Number of middle filters: 144 INFO:video_model:Number of middle filters: 144 INFO:video_model:Number of middle filters: 230 INFO:video_model:Number of middle filters: 288 INFO:video_model:Number of middle filters: 288 INFO:video_model:Number of middle filters: 288 INFO:video_model:Number of middle filters: 288 INFO:video_model:Number of middle filters: 288 INFO:video_model:Number of middle filters: 288 INFO:video_model:Number of middle filters: 288 INFO:video_model:Number of middle filters: 460 INFO:video_model:Number of middle filters: 576 INFO:video_model:Number of middle filters: 576 INFO:video_model:Number of middle filters: 576 INFO:video_model:Number of middle filters: 576 INFO:video_model:Number of middle filters: 576 INFO:video_model:Number of middle filters: 576 INFO:video_model:Number of middle filters: 576 INFO:video_model:Number of middle filters: 576 INFO:video_model:Number of middle filters: 576 INFO:video_model:Number of middle filters: 576 INFO:video_model:Number of middle filters: 576 INFO:video_model:Number of middle filters: 921 INFO:video_model:Number of middle filters: 1152 INFO:video_model:Number of middle filters: 1152 INFO:video_model:Number of middle filters: 1152 INFO:video_model:Number of middle filters: 1152 INFO:video_model:Number of middle filters: 1152 INFO:data_parallel_model:Parameter update function not defined --> only forward WARNING:caffe2.python.workspace:Original python traceback for operator1in networkExtract Features_init` in exception above (most recent call last): WARNING:caffe2.python.workspace: File "tools/extract_features.py", line 328, in WARNING:caffe2.python.workspace: File "tools/extract_features.py", line 323, in main WARNING:caffe2.python.workspace: File "tools/extract_features.py", line 126, in ExtractFeatures WARNING:caffe2.python.workspace: File "/home/jam/.virtualenvs/r21d/local/lib/python2.7/site-packages/caffe2/python/data_parallel_model.py", line 34, in Parallelize_GPU WARNING:caffe2.python.workspace: File "/home/jam/.virtualenvs/r21d/local/lib/python2.7/site-packages/caffe2/python/data_parallel_model.py", line 232, in Parallelize WARNING:caffe2.python.workspace: File "tools/extract_features.py", line 117, in create_model_ops WARNING:caffe2.python.workspace: File "/home/jam/Downloads/VMZ-master/lib/models/model_builder.py", line 128, in build_model WARNING:caffe2.python.workspace: File "/home/jam/Downloads/VMZ-master/lib/models/r3d_model.py", line 99, in create_model WARNING:caffe2.python.workspace: File "/home/jam/Downloads/VMZ-master/lib/models/r3d_model.py", line 145, in create_r3d WARNING:caffe2.python.workspace: File "/home/jam/.virtualenvs/r21d/local/lib/python2.7/site-packages/caffe2/python/cnn.py", line 86, in ConvNd WARNING:caffe2.python.workspace: File "/home/jam/.virtualenvs/r21d/local/lib/python2.7/site-packages/caffe2/python/brew.py", line 108, in scope_wrapper WARNING:caffe2.python.workspace: File "/home/jam/.virtualenvs/r21d/local/lib/python2.7/site-packages/caffe2/python/helpers/conv.py", line 164, in conv_nd WARNING:caffe2.python.workspace: File "/home/jam/.virtualenvs/r21d/local/lib/python2.7/site-packages/caffe2/python/helpers/conv.py", line 88, in _ConvBase WARNING:caffe2.python.workspace: File "/home/jam/.virtualenvs/r21d/local/lib/python2.7/site-packages/caffe2/python/model_helper.py", line 216, in create_param WARNING:caffe2.python.workspace: File "/home/jam/.virtualenvs/r21d/local/lib/python2.7/site-packages/caffe2/python/modeling/initializers.py", line 30, in create_param Traceback (most recent call last): File "tools/extract_features.py", line 328, in main() File "tools/extract_features.py", line 323, in main ExtractFeatures(args) File "tools/extract_features.py", line 137, in ExtractFeatures workspace.RunNetOnce(model.param_init_net) File "/home/jam/.virtualenvs/r21d/local/lib/python2.7/site-packages/caffe2/python/workspace.py", line 233, in RunNetOnce StringifyProto(net), File "/home/jam/.virtualenvs/r21d/local/lib/python2.7/site-packages/caffe2/python/workspace.py", line 212, in CallWithExceptionIntercept return func(*args, *kwargs) RuntimeError: [enforce fail at operator.cc:258] 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 device_id: 0 } frame #0: c10::ThrowEnforceNotMet(char const, int, char const, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, void const) + 0x76 (0x7fd2943d4556 in /home/jam/.virtualenvs/r21d/local/lib/python2.7/site-packages/caffe2/python/../../torch/lib/libc10.so) frame #1: caffe2::CreateOperator(caffe2::OperatorDef const&, caffe2::Workspace, int) + 0xd3c (0x7fd295fc486c in /home/jam/.virtualenvs/r21d/local/lib/python2.7/site-packages/caffe2/python/../../torch/lib/libcaffe2.so) frame #2: caffe2::SimpleNet::SimpleNet(std::shared_ptr const&, caffe2::Workspace) + 0x28f (0x7fd295fbcdef in /home/jam/.virtualenvs/r21d/local/lib/python2.7/site-packages/caffe2/python/../../torch/lib/libcaffe2.so) frame #3: + 0x19dbc8e (0x7fd295fbec8e in /home/jam/.virtualenvs/r21d/local/lib/python2.7/site-packages/caffe2/python/../../torch/lib/libcaffe2.so) frame #4: std::_Function_handler<std::unique_ptr<caffe2::NetBase, std::default_delete > (std::shared_ptr const&, caffe2::Workspace), std::unique_ptr<caffe2::NetBase, std::default_delete > ()(std::shared_ptr const&, caffe2::Workspace)>::_M_invoke(std::_Any_data const&, std::shared_ptr const&, caffe2::Workspace&&) + 0x23 (0x7fd295fac573 in /home/jam/.virtualenvs/r21d/local/lib/python2.7/site-packages/caffe2/python/../../torch/lib/libcaffe2.so) frame #5: caffe2::CreateNet(std::shared_ptr const&, caffe2::Workspace) + 0xb59 (0x7fd295fa1be9 in /home/jam/.virtualenvs/r21d/local/lib/python2.7/site-packages/caffe2/python/../../torch/lib/libcaffe2.so) frame #6: caffe2::CreateNet(caffe2::NetDef const&, caffe2::Workspace) + 0x9d (0x7fd295fa1f3d in /home/jam/.virtualenvs/r21d/local/lib/python2.7/site-packages/caffe2/python/../../torch/lib/libcaffe2.so) frame #7: caffe2::Workspace::RunNetOnce(caffe2::NetDef const&) + 0x32 (0x7fd295fd0be2 in /home/jam/.virtualenvs/r21d/local/lib/python2.7/site-packages/caffe2/python/../../torch/lib/libcaffe2.so) frame #8: + 0x53ce8 (0x7fd298a4ace8 in /home/jam/.virtualenvs/r21d/local/lib/python2.7/site-packages/caffe2/python/caffe2_pybind11_state.so) frame #9: + 0x53e94 (0x7fd298a4ae94 in /home/jam/.virtualenvs/r21d/local/lib/python2.7/site-packages/caffe2/python/caffe2_pybind11_state.so) frame #10: + 0x94f70 (0x7fd298a8bf70 in /home/jam/.virtualenvs/r21d/local/lib/python2.7/site-packages/caffe2/python/caffe2_pybind11_state.so)

frame #21: python() [0x4eb69f] frame #25: __libc_start_main + 0xf0 (0x7fd2a76b2830 in /lib/x86_64-linux-gnu/libc.so.6)` I have done every other parts in the installation guide and created dataset from the my_list.csv. Am I missing anything ? I am using Ubuntu16.04 with CPU only. Thanks in advance.