Ich versuche, das Maximum eines Vektors mit einem booleschen Wert zu erhalten.Theano: Warum schlägt die Indexierung in diesem Fall fehl?
Mit Numpy:
>>> this = np.arange(10)
>>> this[~(this>=5)].max()
4
Aber mit Theano:
>>> that = T.arange(10, dtype='int32')
>>> that[~(that>=5)].max().eval()
9
>>> that[~(that>=5).nonzero()].max().eval()
Traceback (most recent call last):
File "<pyshell#146>", line 1, in <module>
that[~(that>=5).nonzero()].max().eval()
AttributeError: 'TensorVariable' object has no attribute 'nonzero'
Warum passiert das das? Ist das eine subtile Nuance, die ich vermisse?
Nun, die wörtlichen Zurückverfolgungs für Ihren zweiter sagen, dass das Array keine 'ungleich Null hat()' Methode/Attribut, so dass Sie das nicht auf die gleiche Weise verwenden können, wie Sie ein numpy Array verwenden würden. –
@JeffTratner: Was ist gegen das [Beispiel] (http://deeplearning.net/software/theano/library/tensor/basic.html#indexing) auf der Website zur Verfügung gestellt ... –
@NoobSailbot verwenden Sie das Recht Ausführung? –