Próbuję uzyskać maksimum wektora z wartością boolowską.Theano: Dlaczego indeksowanie kończy się niepowodzeniem?
Z NumPy:
>>> this = np.arange(10)
>>> this[~(this>=5)].max()
4
Ale z 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'
Dlaczego tak się dzieje? Czy to subtelny niuans, którego mi brakuje?
Cóż, dosłowne traceback do drugiego mówi, że tablica nie posiada 'niezerową()' metody/atrybut, więc nie możesz go używać w ten sam sposób, w jaki używasz tablicy numpy. –
@JeffTratner: Który jest przeciwieństwem [przykład] (http://deeplearning.net/software/theano/library/tensor/basic.html#indexing) podanym na stronie internetowej ... –
@NoobSailbot czy używasz prawa wersja? –