cvlab-epfl/LIFT

How can I run this program with cudnn?

yiran-THU opened this issue · 1 comments

Hi!
Thanks for releasing the code!

When I run the test program,it reports the following bug.


Time taken to read and prepare the image is 135.346 ms
INFO: Testing double scale
resize to test is [ 1.95833333  1.70482819  1.48413914  1.29201816  1.12476714  0.97916667
  0.85241409  0.74206957  0.64600908  0.56238357  0.48958333  0.42620705
  0.37103478  0.32300454  0.28119178  0.24479167  0.21310352  0.18551739
  0.16150227  0.14059589  0.12239583]
scales to test is [  1.           1.14869835   1.31950791   1.51571657   1.74110113   2.
   2.29739671   2.63901582   3.03143313   3.48220225   4.           4.59479342
   5.27803164   6.06286627   6.96440451   8.           9.18958684
  10.55606329  12.12573253  13.92880901  16.        ]

Time taken to resize image is 94.285ms

/usr/local/lib/python2.7/dist-packages/theano/sandbox/cuda/__init__.py:541: UserWarning: Theano flag device=gpu* (old gpu back-end) only support floatX=float32. You have floatX=float64. Use the new gpu back-end with device=cuda* for that value of floatX.
  warnings.warn(msg)

Using gpu device 0: GeForce GTX 1060 (CNMeM is disabled, cuDNN 5105)
Traceback (most recent call last):
  File "compute_detector.py", line 215, in <module>
    image, verbose=False)
  File "/home/yiran/LIFT/python-code/Utils/solvers.py", line 148, in TestImage
    myNet = CreateNetwork4Image(pathconf, param, image, verbose=verbose)
  File "/home/yiran/LIFT/python-code/Utils/solvers.py", line 138, in CreateNetwork4Image
    myNet.compileSpecific(verbose=verbose)  # Compile specific to runType
  File "/home/yiran/LIFT/python-code/Utils/networks/eccv_base.py", line 602, in compileSpecific
    deterministic=True)
  File "/usr/local/lib/python2.7/dist-packages/lasagne/layers/helper.py", line 191, in get_output
    all_outputs[layer] = layer.get_output_for(layer_inputs, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/lasagne/layers/conv.py", line 330, in get_output_for
    conved = self.convolve(input, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/lasagne/layers/dnn.py", line 505, in convolve
    conv_mode=conv_mode
  File "/usr/local/lib/python2.7/dist-packages/theano/sandbox/cuda/dnn.py", line 1265, in dnn_conv3d
    img = gpu_contiguous(img)
  File "/usr/local/lib/python2.7/dist-packages/theano/gof/op.py", line 604, in __call__
    node = self.make_node(*inputs, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/theano/sandbox/cuda/basic_ops.py", line 3910, in make_node
    input = as_cuda_ndarray_variable(input)
  File "/usr/local/lib/python2.7/dist-packages/theano/sandbox/cuda/basic_ops.py", line 46, in as_cuda_ndarray_variable
    return gpu_from_host(tensor_x)
  File "/usr/local/lib/python2.7/dist-packages/theano/gof/op.py", line 604, in __call__
    node = self.make_node(*inputs, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/theano/sandbox/cuda/basic_ops.py", line 132, in make_node
    dtype=x.dtype)()])
  File "/usr/local/lib/python2.7/dist-packages/theano/sandbox/cuda/type.py", line 95, in __init__
    (self.__class__.__name__, dtype, name))
TypeError: CudaNdarrayType only supports dtype float32 for now. Tried using dtype float64 for variable None
Parameters

My os is ubuntu 14.04,my cuda is 8.0

I hope I can get help here!
Thanks

sorry,it is my fault.
I forgot to configure Theano to use a GPU. Put this into your ~/.theanorc:

[global]
floatX = float32
device = gpu0

[nvcc]
fastmath = True