是否可以在tf.einsum
中使用超过26个小写字母作为索引?
Numpy允许使用大写字母,即np.einsum('zA,AB->zB',M1,M2)
,而tf.einsum
则返回错误。
这对于收缩张量网络非常有用。
答案 0 :(得分:0)
目前无法实现。
TensorFlow验证传递给einsum
using the following regular expression的等式:
match = re.match('([a-z,]+)(->[a-z]*)?', equation)
if not match:
raise ValueError(
'Indices have incorrect format: %s' % equation
)
不在类[a-z]
中的任何字符都会导致该函数引发错误。由于TensorFlow的einsum
函数不支持省略号...
,并且必须明确标记所有轴,因此只需要操作具有26维或更少维度的张量。