Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
pytensor
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
testgroup
pytensor
Commits
61b4d95c
提交
61b4d95c
authored
8月 16, 2017
作者:
Gijs van Tulder
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add tensor6 and tensor7 (and typed variants).
上级
4747cf44
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
99 行增加
和
17 行删除
+99
-17
generate_dtype_tensor_table.py
doc/generate_dtype_tensor_table.py
+5
-3
basic.txt
doc/library/tensor/basic.txt
+31
-7
adding.txt
doc/tutorial/adding.txt
+7
-7
basic.py
theano/tensor/basic.py
+56
-0
没有找到文件。
doc/generate_dtype_tensor_table.py
浏览文件 @
61b4d95c
...
@@ -18,9 +18,11 @@ shapes = [
...
@@ -18,9 +18,11 @@ shapes = [
(
'matrix'
,
(
False
,
False
)),
(
'matrix'
,
(
False
,
False
)),
(
'tensor3'
,
(
False
,
False
,
False
)),
(
'tensor3'
,
(
False
,
False
,
False
)),
(
'tensor4'
,
(
False
,
False
,
False
,
False
)),
(
'tensor4'
,
(
False
,
False
,
False
,
False
)),
(
'tensor5'
,
(
False
,
False
,
False
,
False
,
False
)),]
(
'tensor5'
,
(
False
,
False
,
False
,
False
,
False
)),
(
'tensor6'
,
(
False
,)
*
6
),
(
'tensor7'
,
(
False
,)
*
7
),]
hdr
=
'============ =========== ==== ============
==================================='
hdr
=
'============ =========== ==== ============
==== ==============
==================================='
print
(
hdr
)
print
(
hdr
)
print
(
'Constructor dtype ndim shape broadcastable'
)
print
(
'Constructor dtype ndim shape broadcastable'
)
print
(
hdr
)
print
(
hdr
)
...
@@ -28,7 +30,7 @@ for letter in letters:
...
@@ -28,7 +30,7 @@ for letter in letters:
for
shape
in
shapes
:
for
shape
in
shapes
:
suff
=
',)'
if
len
(
shape
[
1
])
==
1
else
')'
suff
=
',)'
if
len
(
shape
[
1
])
==
1
else
')'
s
=
'('
+
','
.
join
(
'1'
if
b
else
'?'
for
b
in
shape
[
1
])
+
suff
s
=
'('
+
','
.
join
(
'1'
if
b
else
'?'
for
b
in
shape
[
1
])
+
suff
print
(
'
%
s
%-10
s
%-10
s
%-4
s
%-1
1
s
%-20
s'
%
(
print
(
'
%
s
%-10
s
%-10
s
%-4
s
%-1
5
s
%-20
s'
%
(
letter
[
0
],
shape
[
0
],
letter
[
1
],
len
(
shape
[
1
]),
s
,
shape
[
1
]
letter
[
0
],
shape
[
0
],
letter
[
1
],
len
(
shape
[
1
]),
s
,
shape
[
1
]
))
))
print
(
hdr
)
print
(
hdr
)
doc/library/tensor/basic.txt
浏览文件 @
61b4d95c
...
@@ -89,6 +89,14 @@ floating-point precision.
...
@@ -89,6 +89,14 @@ floating-point precision.
Return a Variable for a 5-dimensional ndarray
Return a Variable for a 5-dimensional ndarray
.. function:: tensor6(name=None, dtype=config.floatX)
Return a Variable for a 6-dimensional ndarray
.. function:: tensor7(name=None, dtype=config.floatX)
Return a Variable for a 7-dimensional ndarray
.. #COMMENT
.. #COMMENT
Each of the types described above can be constructed by two methods:
Each of the types described above can be constructed by two methods:
a singular version (e.g., :ref:`dmatrix <libdoc_tensor_creation>`)
a singular version (e.g., :ref:`dmatrix <libdoc_tensor_creation>`)
...
@@ -116,9 +124,9 @@ They are all callable, and accept an optional ``name`` argument. So for example
...
@@ -116,9 +124,9 @@ They are all callable, and accept an optional ``name`` argument. So for example
table generated by
table generated by
$ python Theano/doc/generate_dtype_tensor_table.py
$ python Theano/doc/generate_dtype_tensor_table.py
============ =========== ==== ============
===================================
============ =========== ==== ============
==== ==============
===================================
Constructor dtype ndim shape broadcastable
Constructor dtype ndim shape broadcastable
============ =========== ==== ============
===================================
============ =========== ==== ============
==== ==============
===================================
bscalar int8 0 () ()
bscalar int8 0 () ()
bvector int8 1 (?,) (False,)
bvector int8 1 (?,) (False,)
brow int8 2 (1,?) (True, False)
brow int8 2 (1,?) (True, False)
...
@@ -127,6 +135,8 @@ bmatrix int8 2 (?,?) (False, False)
...
@@ -127,6 +135,8 @@ bmatrix int8 2 (?,?) (False, False)
btensor3 int8 3 (?,?,?) (False, False, False)
btensor3 int8 3 (?,?,?) (False, False, False)
btensor4 int8 4 (?,?,?,?) (False, False, False, False)
btensor4 int8 4 (?,?,?,?) (False, False, False, False)
btensor5 int8 5 (?,?,?,?,?) (False, False, False, False, False)
btensor5 int8 5 (?,?,?,?,?) (False, False, False, False, False)
btensor6 int8 6 (?,?,?,?,?,?) (False, False, False, False, False, False)
btensor7 int8 7 (?,?,?,?,?,?,?) (False, False, False, False, False, False, False)
wscalar int16 0 () ()
wscalar int16 0 () ()
wvector int16 1 (?,) (False,)
wvector int16 1 (?,) (False,)
wrow int16 2 (1,?) (True, False)
wrow int16 2 (1,?) (True, False)
...
@@ -135,6 +145,8 @@ wmatrix int16 2 (?,?) (False, False)
...
@@ -135,6 +145,8 @@ wmatrix int16 2 (?,?) (False, False)
wtensor3 int16 3 (?,?,?) (False, False, False)
wtensor3 int16 3 (?,?,?) (False, False, False)
wtensor4 int16 4 (?,?,?,?) (False, False, False, False)
wtensor4 int16 4 (?,?,?,?) (False, False, False, False)
wtensor5 int16 5 (?,?,?,?,?) (False, False, False, False, False)
wtensor5 int16 5 (?,?,?,?,?) (False, False, False, False, False)
wtensor6 int16 6 (?,?,?,?,?,?) (False, False, False, False, False, False)
wtensor7 int16 7 (?,?,?,?,?,?,?) (False, False, False, False, False, False, False)
iscalar int32 0 () ()
iscalar int32 0 () ()
ivector int32 1 (?,) (False,)
ivector int32 1 (?,) (False,)
irow int32 2 (1,?) (True, False)
irow int32 2 (1,?) (True, False)
...
@@ -143,6 +155,8 @@ imatrix int32 2 (?,?) (False, False)
...
@@ -143,6 +155,8 @@ imatrix int32 2 (?,?) (False, False)
itensor3 int32 3 (?,?,?) (False, False, False)
itensor3 int32 3 (?,?,?) (False, False, False)
itensor4 int32 4 (?,?,?,?) (False, False, False, False)
itensor4 int32 4 (?,?,?,?) (False, False, False, False)
itensor5 int32 5 (?,?,?,?,?) (False, False, False, False, False)
itensor5 int32 5 (?,?,?,?,?) (False, False, False, False, False)
itensor6 int32 6 (?,?,?,?,?,?) (False, False, False, False, False, False)
itensor7 int32 7 (?,?,?,?,?,?,?) (False, False, False, False, False, False, False)
lscalar int64 0 () ()
lscalar int64 0 () ()
lvector int64 1 (?,) (False,)
lvector int64 1 (?,) (False,)
lrow int64 2 (1,?) (True, False)
lrow int64 2 (1,?) (True, False)
...
@@ -151,6 +165,8 @@ lmatrix int64 2 (?,?) (False, False)
...
@@ -151,6 +165,8 @@ lmatrix int64 2 (?,?) (False, False)
ltensor3 int64 3 (?,?,?) (False, False, False)
ltensor3 int64 3 (?,?,?) (False, False, False)
ltensor4 int64 4 (?,?,?,?) (False, False, False, False)
ltensor4 int64 4 (?,?,?,?) (False, False, False, False)
ltensor5 int64 5 (?,?,?,?,?) (False, False, False, False, False)
ltensor5 int64 5 (?,?,?,?,?) (False, False, False, False, False)
ltensor6 int64 6 (?,?,?,?,?,?) (False, False, False, False, False, False)
ltensor7 int64 7 (?,?,?,?,?,?,?) (False, False, False, False, False, False, False)
dscalar float64 0 () ()
dscalar float64 0 () ()
dvector float64 1 (?,) (False,)
dvector float64 1 (?,) (False,)
drow float64 2 (1,?) (True, False)
drow float64 2 (1,?) (True, False)
...
@@ -159,6 +175,8 @@ dmatrix float64 2 (?,?) (False, False)
...
@@ -159,6 +175,8 @@ dmatrix float64 2 (?,?) (False, False)
dtensor3 float64 3 (?,?,?) (False, False, False)
dtensor3 float64 3 (?,?,?) (False, False, False)
dtensor4 float64 4 (?,?,?,?) (False, False, False, False)
dtensor4 float64 4 (?,?,?,?) (False, False, False, False)
dtensor5 float64 5 (?,?,?,?,?) (False, False, False, False, False)
dtensor5 float64 5 (?,?,?,?,?) (False, False, False, False, False)
dtensor6 float64 6 (?,?,?,?,?,?) (False, False, False, False, False, False)
dtensor7 float64 7 (?,?,?,?,?,?,?) (False, False, False, False, False, False, False)
fscalar float32 0 () ()
fscalar float32 0 () ()
fvector float32 1 (?,) (False,)
fvector float32 1 (?,) (False,)
frow float32 2 (1,?) (True, False)
frow float32 2 (1,?) (True, False)
...
@@ -167,6 +185,8 @@ fmatrix float32 2 (?,?) (False, False)
...
@@ -167,6 +185,8 @@ fmatrix float32 2 (?,?) (False, False)
ftensor3 float32 3 (?,?,?) (False, False, False)
ftensor3 float32 3 (?,?,?) (False, False, False)
ftensor4 float32 4 (?,?,?,?) (False, False, False, False)
ftensor4 float32 4 (?,?,?,?) (False, False, False, False)
ftensor5 float32 5 (?,?,?,?,?) (False, False, False, False, False)
ftensor5 float32 5 (?,?,?,?,?) (False, False, False, False, False)
ftensor6 float32 6 (?,?,?,?,?,?) (False, False, False, False, False, False)
ftensor7 float32 7 (?,?,?,?,?,?,?) (False, False, False, False, False, False, False)
cscalar complex64 0 () ()
cscalar complex64 0 () ()
cvector complex64 1 (?,) (False,)
cvector complex64 1 (?,) (False,)
crow complex64 2 (1,?) (True, False)
crow complex64 2 (1,?) (True, False)
...
@@ -175,6 +195,8 @@ cmatrix complex64 2 (?,?) (False, False)
...
@@ -175,6 +195,8 @@ cmatrix complex64 2 (?,?) (False, False)
ctensor3 complex64 3 (?,?,?) (False, False, False)
ctensor3 complex64 3 (?,?,?) (False, False, False)
ctensor4 complex64 4 (?,?,?,?) (False, False, False, False)
ctensor4 complex64 4 (?,?,?,?) (False, False, False, False)
ctensor5 complex64 5 (?,?,?,?,?) (False, False, False, False, False)
ctensor5 complex64 5 (?,?,?,?,?) (False, False, False, False, False)
ctensor6 complex64 6 (?,?,?,?,?,?) (False, False, False, False, False, False)
ctensor7 complex64 7 (?,?,?,?,?,?,?) (False, False, False, False, False, False, False)
zscalar complex128 0 () ()
zscalar complex128 0 () ()
zvector complex128 1 (?,) (False,)
zvector complex128 1 (?,) (False,)
zrow complex128 2 (1,?) (True, False)
zrow complex128 2 (1,?) (True, False)
...
@@ -183,7 +205,9 @@ zmatrix complex128 2 (?,?) (False, False)
...
@@ -183,7 +205,9 @@ zmatrix complex128 2 (?,?) (False, False)
ztensor3 complex128 3 (?,?,?) (False, False, False)
ztensor3 complex128 3 (?,?,?) (False, False, False)
ztensor4 complex128 4 (?,?,?,?) (False, False, False, False)
ztensor4 complex128 4 (?,?,?,?) (False, False, False, False)
ztensor5 complex128 5 (?,?,?,?,?) (False, False, False, False, False)
ztensor5 complex128 5 (?,?,?,?,?) (False, False, False, False, False)
============ =========== ==== ============ ===================================
ztensor6 complex128 6 (?,?,?,?,?,?) (False, False, False, False, False, False)
ztensor7 complex128 7 (?,?,?,?,?,?,?) (False, False, False, False, False, False, False)
============ =========== ==== ================ =================================================
Plural Constructors
Plural Constructors
--------------------------
--------------------------
...
@@ -232,11 +256,11 @@ If you would like to construct a tensor variable with a non-standard
...
@@ -232,11 +256,11 @@ If you would like to construct a tensor variable with a non-standard
broadcasting pattern, or a larger number of dimensions you'll need to create
broadcasting pattern, or a larger number of dimensions you'll need to create
your own :class:`TensorType` instance. You create such an instance by passing
your own :class:`TensorType` instance. You create such an instance by passing
the dtype and broadcasting pattern to the constructor. For example, you
the dtype and broadcasting pattern to the constructor. For example, you
can create your own
6
-dimensional tensor type
can create your own
8
-dimensional tensor type
>>> dtensor
6 = TensorType('float64', (False,)*6
)
>>> dtensor
8 = TensorType('float64', (False,)*8
)
>>> x = dtensor
6
()
>>> x = dtensor
8
()
>>> z = dtensor
6
('z')
>>> z = dtensor
8
('z')
You can also redefine some of the provided types and they will interact
You can also redefine some of the provided types and they will interact
correctly:
correctly:
...
...
doc/tutorial/adding.txt
浏览文件 @
61b4d95c
...
@@ -175,13 +175,13 @@ by :ref:`broadcasting <libdoc_tensor_broadcastable>`.
...
@@ -175,13 +175,13 @@ by :ref:`broadcasting <libdoc_tensor_broadcastable>`.
The following types are available:
The following types are available:
* **byte**: ``bscalar, bvector, bmatrix, brow, bcol, btensor3, btensor4, btensor5``
* **byte**: ``bscalar, bvector, bmatrix, brow, bcol, btensor3, btensor4, btensor5
, btensor6, btensor7
``
* **16-bit integers**: ``wscalar, wvector, wmatrix, wrow, wcol, wtensor3, wtensor4, wtensor5``
* **16-bit integers**: ``wscalar, wvector, wmatrix, wrow, wcol, wtensor3, wtensor4, wtensor5
, wtensor6, wtensor7
``
* **32-bit integers**: ``iscalar, ivector, imatrix, irow, icol, itensor3, itensor4, itensor5``
* **32-bit integers**: ``iscalar, ivector, imatrix, irow, icol, itensor3, itensor4, itensor5
, itensor6, itensor7
``
* **64-bit integers**: ``lscalar, lvector, lmatrix, lrow, lcol, ltensor3, ltensor4, ltensor5``
* **64-bit integers**: ``lscalar, lvector, lmatrix, lrow, lcol, ltensor3, ltensor4, ltensor5
, ltensor6, ltensor7
``
* **float**: ``fscalar, fvector, fmatrix, frow, fcol, ftensor3, ftensor4, ftensor5``
* **float**: ``fscalar, fvector, fmatrix, frow, fcol, ftensor3, ftensor4, ftensor5
, ftensor6, ftensor7
``
* **double**: ``dscalar, dvector, dmatrix, drow, dcol, dtensor3, dtensor4, dtensor5``
* **double**: ``dscalar, dvector, dmatrix, drow, dcol, dtensor3, dtensor4, dtensor5
, dtensor6, dtensor7
``
* **complex**: ``cscalar, cvector, cmatrix, crow, ccol, ctensor3, ctensor4, ctensor5``
* **complex**: ``cscalar, cvector, cmatrix, crow, ccol, ctensor3, ctensor4, ctensor5
, ctensor6, ctensor7
``
The previous list is not exhaustive and a guide to all types compatible
The previous list is not exhaustive and a guide to all types compatible
with NumPy arrays may be found here: :ref:`tensor creation<libdoc_tensor_creation>`.
with NumPy arrays may be found here: :ref:`tensor creation<libdoc_tensor_creation>`.
...
...
theano/tensor/basic.py
浏览文件 @
61b4d95c
...
@@ -901,6 +901,62 @@ def tensor5(name=None, dtype=None):
...
@@ -901,6 +901,62 @@ def tensor5(name=None, dtype=None):
tensor5s
,
ftensor5s
,
dtensor5s
,
itensor5s
,
ltensor5s
=
_multi
(
tensor5s
,
ftensor5s
,
dtensor5s
,
itensor5s
,
ltensor5s
=
_multi
(
tensor5
,
ftensor5
,
dtensor5
,
itensor5
,
ltensor5
)
tensor5
,
ftensor5
,
dtensor5
,
itensor5
,
ltensor5
)
ctensor6
=
TensorType
(
'complex64'
,
((
False
,)
*
6
))
ztensor6
=
TensorType
(
'complex128'
,
((
False
,)
*
6
))
ftensor6
=
TensorType
(
'float32'
,
((
False
,)
*
6
))
dtensor6
=
TensorType
(
'float64'
,
((
False
,)
*
6
))
btensor6
=
TensorType
(
'int8'
,
((
False
,)
*
6
))
wtensor6
=
TensorType
(
'int16'
,
((
False
,)
*
6
))
itensor6
=
TensorType
(
'int32'
,
((
False
,)
*
6
))
ltensor6
=
TensorType
(
'int64'
,
((
False
,)
*
6
))
def
tensor6
(
name
=
None
,
dtype
=
None
):
"""Return a symbolic 6-D variable.
Parameters
----------
dtype: numeric type
None means to use theano.config.floatX.
name
A name to attach to this variable.
"""
if
dtype
is
None
:
dtype
=
config
.
floatX
type
=
TensorType
(
dtype
,
(
False
,)
*
6
)
return
type
(
name
)
tensor6s
,
ftensor6s
,
dtensor6s
,
itensor6s
,
ltensor6s
=
_multi
(
tensor6
,
ftensor6
,
dtensor6
,
itensor6
,
ltensor6
)
ctensor7
=
TensorType
(
'complex64'
,
((
False
,)
*
7
))
ztensor7
=
TensorType
(
'complex128'
,
((
False
,)
*
7
))
ftensor7
=
TensorType
(
'float32'
,
((
False
,)
*
7
))
dtensor7
=
TensorType
(
'float64'
,
((
False
,)
*
7
))
btensor7
=
TensorType
(
'int8'
,
((
False
,)
*
7
))
wtensor7
=
TensorType
(
'int16'
,
((
False
,)
*
7
))
itensor7
=
TensorType
(
'int32'
,
((
False
,)
*
7
))
ltensor7
=
TensorType
(
'int64'
,
((
False
,)
*
7
))
def
tensor7
(
name
=
None
,
dtype
=
None
):
"""Return a symbolic 7-D variable.
Parameters
----------
dtype: numeric type
None means to use theano.config.floatX.
name
A name to attach to this variable.
"""
if
dtype
is
None
:
dtype
=
config
.
floatX
type
=
TensorType
(
dtype
,
(
False
,)
*
7
)
return
type
(
name
)
tensor7s
,
ftensor7s
,
dtensor7s
,
itensor7s
,
ltensor7s
=
_multi
(
tensor7
,
ftensor7
,
dtensor7
,
itensor7
,
ltensor7
)
Tensor
=
TensorType
Tensor
=
TensorType
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论