请考虑以下几行
import theano.tensor as T
x = T.dscalar('x')
y = T.dscalar('y')
z = x+y
Run Code Online (Sandbox Code Playgroud)
然后,
In [15]: type(x)
Out[15]: theano.tensor.var.TensorVariable
Run Code Online (Sandbox Code Playgroud)
而,
In [16]: x.type
Out[16]: TensorType(float64, scalar)
Run Code Online (Sandbox Code Playgroud)
为什么type(x)和x.type提供两个不同的信息?他们传达了什么信息?
我也看到了提到Theano教程,
>>> type(x)
<class 'theano.tensor.basic.TensorVariable'>
>>> x.type
TensorType(float64, scalar)
Run Code Online (Sandbox Code Playgroud)
为什么类型(x)输出在我的情况下是不同的?这些是由版本特定的实现差异引起的,这是由这种差异所表示的吗?
type(x) 是一个内置的.
x.type 是在对象中定义的属性.
它们是完全独立的,type(x)返回什么类型的对象x,并x.type做任何对象想要它.在这种情况下,它返回有关对象类型的一些信息
theano.tensortype当你说时,你有一个属性
x.type
Run Code Online (Sandbox Code Playgroud)
这dtype与许多对象携带的numpy对象属性类似(如果您熟悉该库).
另一方面type是一个Python函数,它查看传入的对象的实际类型,type(x)实际上是一个
theano.tensor.var.TensorVariable
Run Code Online (Sandbox Code Playgroud)
总而言之,您将属性与实际对象类型进行比较.
| 归档时间: |
|
| 查看次数: |
676 次 |
| 最近记录: |