Closed kousik97 closed 7 years ago
What happened is that, on early stages of the project, the only implementations of conv3D
and maxpool3D
where done in Theano, but the maxpool3D was calling a bad cuda pooling operation (some memory problems at the GPU tent to raise) so I fork Keras
and fixed the called of the 3D pooling at Keras
code. I guess that because of this, the code even trying to run with CPU only, will call a Theano function which will call a cuda function.
The only solution is to port all the codebase to the newer versions of the frameworks which this problems (I guess) have been solved, but this will require an amount of work which right now I can not afford.
Sorry to not be more helpful with your problem.
Is it possible to run the pipeline in CPU mode ? If so, what changes must I do ? I get the following error while trying to run in CPU mode :
Using Theano backend. Reading Video... Duration: 130.6s FPS: 30.0 Number of frames: 3919 Loading C3D network... Traceback (most recent call last): File "scripts/run_all_pipeline.py", line 188, in args.activity_threshold File "scripts/run_all_pipeline.py", line 40, in run_all_pipeline model = C3D_conv_features(True) File "scripts/run_all_pipeline.py", line 99, in C3D_conv_features trainable=False)) File "/usr/local/lib/python2.7/dist-packages/keras/models.py", line 114, in add layer.create_input_layer(batch_input_shape, input_dtype) File "/usr/local/lib/python2.7/dist-packages/keras/engine/topology.py", line 341, in create_input_layer self(x) File "/usr/local/lib/python2.7/dist-packages/keras/engine/topology.py", line 485, in call self.add_inbound_node(inbound_layers, node_indices, tensor_indices) File "/usr/local/lib/python2.7/dist-packages/keras/engine/topology.py", line 543, in add_inbound_node Node.create_node(self, inbound_layers, node_indices, tensor_indices) File "/usr/local/lib/python2.7/dist-packages/keras/engine/topology.py", line 148, in create_node output_tensors = to_list(outbound_layer.call(input_tensors[0], mask=input_masks[0])) File "/usr/local/lib/python2.7/dist-packages/keras/layers/convolutional.py", line 552, in call filter_shape=self.W_shape) File "/usr/local/lib/python2.7/dist-packages/keras/backend/theano_backend.py", line 919, in conv3d conv_out = dnn.dnn_conv3d(x, kernel, border_mode=border_mode) File "/usr/local/lib/python2.7/dist-packages/theano/sandbox/cuda/dnn.py", line 1257, in dnn_conv3d return GpuDnnConv3d(algo=algo)(img, kerns, out, desc) File "/usr/local/lib/python2.7/dist-packages/theano/sandbox/cuda/dnn.py", line 513, in init super(GpuDnnConv3d, self).init(inplace=inplace, algo=algo) File "/usr/local/lib/python2.7/dist-packages/theano/sandbox/cuda/dnn.py", line 328, in init if version() < (3000, 3000): File "/usr/local/lib/python2.7/dist-packages/theano/sandbox/cuda/init.py", line 407, in dnn_version dnn_available.msg) Exception: ("We can't determine the cudnn version as it is not available", 'CUDA not available')