Python 将具有非定长元素的列表转换为张量

Python 将具有非定长元素的列表转换为张量,python,tensorflow,Python,Tensorflow,似乎我无法将具有非固定长度元素的列表转换为张量。例如,我得到了一个类似于[[1,2,3],[4,5],[1,4,6,7],我想通过tf将其转换为张量。convert_to_tensor,它不起作用并抛出一个值错误:参数必须是密集张量:[[1,2,3],[4,5],[1,4,6,7]]-获得形状[3],但需要[3,3]。出于某些原因,我不想填充或裁剪元素,有什么方法可以解决它吗? 提前谢谢 Tensorflow(据我所知)目前不支持沿维度具有不同长度的张量 根据您的目标,您可以在列表中填充零(灵感

似乎我无法将具有非固定长度元素的列表转换为张量。例如,我得到了一个类似于
[[1,2,3],[4,5],[1,4,6,7]
,我想通过
tf将其转换为张量。convert_to_tensor
,它不起作用并抛出一个
值错误:参数必须是密集张量:[[1,2,3],[4,5],[1,4,6,7]]-获得形状[3],但需要[3,3]。
出于某些原因,我不想填充或裁剪元素,有什么方法可以解决它吗?
提前谢谢

Tensorflow(据我所知)目前不支持沿维度具有不同长度的张量

根据您的目标,您可以在列表中填充零(灵感来源于),然后转换为张量。例如,使用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)

我相当肯定TensorFlow不适用于锯齿张量。