提交 61b4d95c authored 作者: Gijs van Tulder's avatar Gijs van Tulder

Add tensor6 and tensor7 (and typed variants).

上级 4747cf44
......@@ -18,17 +18,19 @@ shapes = [
('matrix', (False,False)),
('tensor3', (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('Constructor dtype ndim shape broadcastable')
print('Constructor dtype ndim shape broadcastable')
print(hdr)
for letter in letters:
for shape in shapes:
suff = ',)' if len(shape[1])==1 else ')'
s = '(' + ','.join('1' if b else '?' for b in shape[1]) + suff
print('%s%-10s %-10s %-4s %-11s %-20s' %(
print('%s%-10s %-10s %-4s %-15s %-20s' %(
letter[0], shape[0], letter[1], len(shape[1]), s, shape[1]
))
print(hdr)
......@@ -175,13 +175,13 @@ by :ref:`broadcasting <libdoc_tensor_broadcastable>`.
The following types are available:
* **byte**: ``bscalar, bvector, bmatrix, brow, bcol, btensor3, btensor4, btensor5``
* **16-bit integers**: ``wscalar, wvector, wmatrix, wrow, wcol, wtensor3, wtensor4, wtensor5``
* **32-bit integers**: ``iscalar, ivector, imatrix, irow, icol, itensor3, itensor4, itensor5``
* **64-bit integers**: ``lscalar, lvector, lmatrix, lrow, lcol, ltensor3, ltensor4, ltensor5``
* **float**: ``fscalar, fvector, fmatrix, frow, fcol, ftensor3, ftensor4, ftensor5``
* **double**: ``dscalar, dvector, dmatrix, drow, dcol, dtensor3, dtensor4, dtensor5``
* **complex**: ``cscalar, cvector, cmatrix, crow, ccol, ctensor3, ctensor4, ctensor5``
* **byte**: ``bscalar, bvector, bmatrix, brow, bcol, btensor3, btensor4, btensor5, btensor6, btensor7``
* **16-bit integers**: ``wscalar, wvector, wmatrix, wrow, wcol, wtensor3, wtensor4, wtensor5, wtensor6, wtensor7``
* **32-bit integers**: ``iscalar, ivector, imatrix, irow, icol, itensor3, itensor4, itensor5, itensor6, itensor7``
* **64-bit integers**: ``lscalar, lvector, lmatrix, lrow, lcol, ltensor3, ltensor4, ltensor5, ltensor6, ltensor7``
* **float**: ``fscalar, fvector, fmatrix, frow, fcol, ftensor3, ftensor4, ftensor5, ftensor6, ftensor7``
* **double**: ``dscalar, dvector, dmatrix, drow, dcol, dtensor3, dtensor4, dtensor5, dtensor6, dtensor7``
* **complex**: ``cscalar, cvector, cmatrix, crow, ccol, ctensor3, ctensor4, ctensor5, ctensor6, ctensor7``
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>`.
......
......@@ -901,6 +901,62 @@ def tensor5(name=None, dtype=None):
tensor5s, ftensor5s, dtensor5s, itensor5s, ltensor5s = _multi(
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
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论