我试图用最后一个内部Tensor填充一个2DTensor,使最后一个值成为新Tensor的整行。这可能是没有意义的,所以这里有一个给定tensora = [[1,2,3],[2,2,2],[4,3,4],[2,3,7]]的例子。新Tensor为[[3,3,3],[2,2,2],[4,4,4],[7,7,7]]。它是内部Tensor的最后一个值。
我尝试的是
tf.fill(input_layer.shape, input_layer[:,-1])
这会导致数值错误:
ValueError:调用层“tf.fill”(类型TFOpLambda)时遇到异常。尝试将“dims”转换为Tensor,但失败。错误:无法将部分已知的TensorShape(None,32,1024)转换为Tensor。调用层“tf.fill”接收的参数(类型TFOpLambda):
· dims=TensorShape([无,32,1024])
· value=tf.Tensor(shape=(1024,),dtype=float32)
· name=无
任何关于如何修复此错误或替代方法的帮助都将是很好的。这样做的目的是通过拥抱面部来获得告密者预训练模型的输入之一。我需要过去观察到的特征,我已经将其存储在最后一个维度的输出中。如果有一个更简单的方法来做到这一点,在过去观察到的特征是不同的地方,我可以改变位置。
1条答案
按热度按时间nwsw7zdq1#
tf.fill() API接受参数dims(Tensor形状)和value(标量Tensor),但您将value -作为数组给出,这导致了此错误。
所以使用循环的一种方法如下:
输出:
使用
For
循环:输出: