是否可以使用超过 26 个小写字母作为索引tf.einsum
?
Numpy 也允许使用大写字母,即np.einsum('zA,AB->zB',M1,M2)
whiletf.einsum
返回错误。
这对于收缩张量网络非常有用。
是否可以使用超过 26 个小写字母作为索引tf.einsum
?
Numpy 也允许使用大写字母,即np.einsum('zA,AB->zB',M1,M2)
whiletf.einsum
返回错误。
这对于收缩张量网络非常有用。
目前这是不可能的。
einsum
TensorFlow使用以下正则表达式验证传递给的方程:
match = re.match('([a-z,]+)(->[a-z]*)?', equation)
if not match:
raise ValueError(
'Indices have incorrect format: %s' % equation
)
任何不在类中的字符[a-z]
都会导致函数引发错误。由于 TensorFlow 的einsum
函数不支持椭圆...
并且必须明确标记所有轴,这意味着只能对 26 维或更少维的张量进行操作。