我需要将张量转换为张量列表,以将其正确地馈入模型的嵌入层。如果没有列表,则该层会在运行时引发InvalidArgumentError: indices[2,88] = 9 is not in [0, 9) [Op:ResourceGather]
,但带有列表(即model(list(x))
)时,我会得到正确的输出。
我正在将tf张量转换为列表,如下所示:
x = [x[i, :] for i in range(6)]
我已经尝试过使用list(x)
,但是由于tensorflow会导致Autograph
错误。
张量形状为(6,1024),它是通过tf.data.Dataset.from_tensor_slices
加载的,我希望得到长度为1024的6个张量的列表,并得到以下错误:
ValueError: slice index 1 of dimension 0 out of bounds. for '{{node strided_slice_1}} = StridedSlice[Index=DT_INT32, T=DT_INT32, begin_mask=2, ellipsis_mask=0, end_mask=2, new_axis_mask=0, shrink_axis_mask=1](args, strided_slice_1/stack, strided_slice_1/stack_1, strided_slice_1/stack_2)' with input shapes: [1,1024], [2], [2], [2] and with computed input tensors: input[1] = <1 0>, input[2] = <2 0>, input[3] = <1 1>.
这里可能是什么问题?