似乎我无法将具有非固定长度元素的列表转换为张量。例如,我得到一个类似[[1,2,3],[4,5],[1,4,6,7]]
的列表,我想通过{{将它转换为张量1}},它没有工作并抛出一个tf.convert_to_tensor
我不想因为某些原因填充或裁剪元素,有什么方法可以解决它吗?
提前谢谢!
答案 0 :(得分:3)
Tensorflow(据我所知)目前不支持尺寸不同的张量。
根据您的目标,您可以使用零填充列表(受this question启发),然后转换为张量。例如使用numpy:
>>> import numpy as np
>>> x = np.array([[1,2,3],[4,5],[1,4,6,7]])
>>> max_length = max(len(row) for row in x)
>>> x_padded = np.array([row + [0] * (max_length - len(row)) for row in x])
>>> x_padded
array([[1, 2, 3, 0],
[4, 5, 0, 0],
[1, 4, 6, 7]])
>>> x_tensor = tf.convert_to_tensor(x_padded)