擅长:python、mysql、java
<p>如果y是theano变量,y.shape将是theano变量。所以这很正常</p>
<pre><code>print y.shape
</code></pre>
<p>返回:</p>
<pre><code>Shape.0
</code></pre>
<p>如果要计算表达式y.shape,可以执行以下操作:</p>
<pre><code>y.shape.eval()
</code></pre>
<p>如果<code>y.shape</code>不输入计算本身(它只依赖于共享变量和常量)。否则,如果<code>y</code>依赖于<code>x</code>这个no变量,则可以像这样传递输入值:</p>
<pre><code>y.shape.eval(x=numpy.random.rand(...))
</code></pre>
<p>这对<code>sum</code>来说也是一样的。no图是一个符号变量,只有用<code>theano.function</code>编译或调用<code>eval()</code>才能进行计算。</p>
<p><strong>编辑:</strong>根据<a href="http://deeplearning.net/software/theano/library/gof/graph.html#theano.gof.graph.Variable.eval" rel="noreferrer">docs</a>,较新版本的ano中的语法是</p>
<pre><code>y.shape.eval({x: numpy.random.rand(...)})
</code></pre>