2015-04-17 1 views
0

Par conséquent, lorsque vous utilisez gpu, les variables doivent être float32. J'ai vérifié toutes mes variables pour être folat32, mais j'ai toujours l'erreur ci-dessous.Comment trouver quelle variable est float64 lorsque vous essayez d'utiliser GPU dans Theano

ERROR (theano.gof.opt): Optimization failure due to: local_gpu_incsubtensor 
ERROR (theano.gof.opt): TRACEBACK: 
ERROR (theano.gof.opt): Traceback (most recent call last): 
File "/public/home/ybfan/anaconda/lib/python2.7/site-packages/theano/gof/opt.py", line 1286, in process_node 
    replacements = lopt.transform(node) 
File "/public/home/ybfan/anaconda/lib/python2.7/site-packages/theano/sandbox/cuda/opt.py", line 855, in local_gpu_incsubtensor 
    gpu_from_host(y), 
File "/public/home/ybfan/anaconda/lib/python2.7/site-packages/theano/gof/op.py", line 399, in __call__ 
    node = self.make_node(*inputs, **kwargs) 
File "/public/home/ybfan/anaconda/lib/python2.7/site-packages/theano/sandbox/cuda/basic_ops.py", line 128, in make_node 
    dtype=x.dtype)()]) 
File "/public/home/ybfan/anaconda/lib/python2.7/site-packages/theano/sandbox/cuda/type.py", line 68, in __init__ 
    (self.__class__.__name__, dtype, name)) 
TypeError: CudaNdarrayType only supports dtype float32 for now. Tried using dtype float64 for variable None 

Il semble que certaines variables sont encore float64, ma question est de savoir comment localiser la position que j'utilise la variable de float64. Avec Theano 0.7, vous pouvez utiliser les drapeaux Theano: warn_float64.

Répondre

1

Vous pouvez lui donner l'une de ces valeurs: 'ignore', 'warn', 'raise', 'pdb'.

Cela vous permet de trouver facilement où float64 sont créés.