J'ai essayé de déboguer du code Theano, pour lequel j'ai utilisé Keras comme frontal. Ce que je fais est d'insérer soit:Pourquoi les modules pdb et code de Python interagissent-ils différemment avec Theano?
import pdb
pdb.set_trace()
ou
import code
code.interact(local=locals(), banner='==>")
au point où je veux commencer à interagir avec mon code pour voir ce qui se passe et de tester de manière interactive des solutions. Mais, quand je l'utilise pdb pour interagir avec mon code, je vois ce comportement étrange:
--Return--
> /home/me/Projects/keras_expts2/cifar10_cnn_ecoc2a.py(174)<module>()->None
-> pdb.set_trace()
(Pdb) import theano.tensor as T
(Pdb) a=T.fvector()
(Pdb) type(a)
*** NameError: name 'a' is not defined
(Pdb) T
<module 'theano.tensor' from '/home/smgutstein/Downloads/Theano/theano/tensor/__init__.pyc'>
(Pdb) T.fvector
TensorType(float32, vector)
Alors, pdb sait ce que T et fvector sont, juste ne crée pas une variable fvector Théano.
Cependant, en utilisant le code, je vois cela (mieux) Comportement:
==>
>>> import theano.tensor as T
>>> a = T.fvector()
>>> type(a)
<class 'theano.tensor.var.TensorVariable'>
>>> T.fvector
TensorType(float32, vector)
>>>
Pourquoi cette différence?