Скажем, у меня есть тензор ts
формы [s1, s2, s3]
, и я хочу перейти к нему с tf.map_fn
как:
tf.map_fn(lambda dim1:
tf.map_fn(lambda dim2:
do_sth(dim, idx1, idx2)
,dim)
,ts)
idx1
и idx2
выше - это индекс измерения 0 и измерения 1 из ts
, в котором в данный момент находится do_sth()
. Как я могу получить их? Я хочу получить это, как будто я делаю что-то вроде:
for idx1 in range(s1):
for idx2 in range(s2):
tensor = ts[idx1][idx2]
do_sth(tensor, idx1, idx2)
Причина, по которой я не могу сделать это таким образом, заключается в том, что большую часть времени s1, s2, s3
являются неизвестными (то есть ts
имеет форму (?, ?, t3)
или аналогичную)
Возможно ли это?