TensorVariable to Array - PullRequest
       37

TensorVariable to Array

0 голосов
/ 15 ноября 2018

Я пытаюсь оценить выражение theano TensorValue:

import pymc3
import numpy as np
with pymc3.Model():
    growth = pymc3.Normal('growth_%s' % 'some_name', 0, 10)

x = np.arange(4)
(x * growth).eval()

, но получаю ошибку

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/danna/.virtualenvs/lib/python2.7/site-packages/theano/gof/graph.py", line 522, in eval
    self._fn_cache[inputs] = theano.function(inputs, self)
  File "/home/danna/.virtualenvs/lib/python2.7/site-packages/theano/compile/function.py", line 317, in function
    output_keys=output_keys)
  File "/home/danna/.virtualenvs/lib/python2.7/site-packages/theano/compile/pfunc.py", line 486, in pfunc
    output_keys=output_keys)
  File "/home/danna/.virtualenvs/lib/python2.7/site-packages/theano/compile/function_module.py", line 1839, in orig_function
    name=name)
  File "/home/danna/.virtualenvs/lib/python2.7/site-packages/theano/compile/function_module.py", line 1487, in __init__
    accept_inplace)
  File "/home/danna/.virtualenvs/lib/python2.7/site-packages/theano/compile/function_module.py", line 181, in std_fgraph
    update_mapping=update_mapping)
  File "/home/danna/.virtualenvs/lib/python2.7/site-packages/theano/gof/fg.py", line 175, in __init__
    self.__import_r__(output, reason="init")
  File "/home/danna/.virtualenvs/lib/python2.7/site-packages/theano/gof/fg.py", line 346, in __import_r__
    self.__import__(variable.owner, reason=reason)
  File "/home/danna/.virtualenvs/lib/python2.7/site-packages/theano/gof/fg.py", line 391, in __import__
    raise MissingInputError(error_msg, variable=r)
theano.gof.fg.MissingInputError: Input 0 of the graph (indices start from 0), used to compute InplaceDimShuffle{x}(growth_some_name), was not provided and not given a value. Use the Theano flag exception_verbosity='high', for more information on this error.

Я пытался Может кто-нибудь помочь мне увидеть, что на самом деле выводят переменные theano?Спасибо!Я использую Python 2.7 и theano 1.0.3

1 Ответ

0 голосов
/ 15 ноября 2018

В то время как дистрибутивы PyMC3 являются TensorVariable объектами, они не имеют технических значений для оценки вне выборки. Если вы хотите значения, вы должны как минимум запустить выборку на модели:

with pymc3.Model():
    growth = pymc3.Normal('growth', 0, 10)

    trace = pymc3.sample(10)

x = np.arange(4)
x[:, np.newaxis]*trace['growth'] 

Если вы хотите просматривать значения узлов во время выборки, вам нужно будет использовать theano.tensor.printing.Print объекты. Для получения дополнительной информации см. советы по отладке PyMC3 .

...