Ответ 1
get_value
работает только для общих переменных. TensorVariables
являются общими выражениями и поэтому потенциально нуждаются в дополнительном вводе, чтобы иметь возможность определить их значение (предположим, что вы установили y = x + z
, где z
- другая тензорная переменная. Вам нужно будет указать z
, прежде чем сможете вычислить y
). Вы можете либо создать функцию для предоставления этого ввода, либо предоставить его в словаре с помощью метода eval
.
В вашем случае y
зависит только от x
, поэтому вы можете сделать
import theano
import theano.tensor as T
x = theano.shared(numpy.asarray([1, 2, 3], dtype='float32'))
y = T.cast(x, 'int32')
y.eval()
и вы должны увидеть результат
array([1, 2, 3], dtype=int32)
(А в случае y = x + z
вам нужно было бы сделать y.eval({z : 3.})
, например)