Python feed_dict中具有不同尺寸长度的2D阵列系列

Python feed_dict中具有不同尺寸长度的2D阵列系列,python,multidimensional-array,tensorflow,Python,Multidimensional Array,Tensorflow,我有一系列二维数组,它们的一维大小总是不同的,例如(20,87),(20100),(20,76),等等。。。这些阵列由时间步长(时间)的Mel频率倒谱系数(MFCC)和so(MFCC,时间)组成 为了在Tensorflow中训练CNN,我需要为字典提供一批2d数组 我想要一个3d数组,因为我的输入张量是:x=tf.placeholder('float',shape=(n,mfcc,times)),其中n是批量大小。因此,批处理将是一个具有以下形状的3d数组:(n,mfcc,times),其中只有

我有一系列二维数组,它们的一维大小总是不同的,例如(20,87),(20100),(20,76),等等。。。这些阵列由时间步长(时间)的Mel频率倒谱系数(MFCC)和so(MFCC,时间)组成

为了在Tensorflow中训练CNN,我需要为字典提供一批2d数组

我想要一个3d数组,因为我的输入张量是:x=tf.placeholder('float',shape=(n,mfcc,times)),其中n是批量大小。因此,批处理将是一个具有以下形状的3d数组:(n,mfcc,times),其中只有times的大小维度发生变化

我还想使用2d数组列表而不是3d数组。但是是否可以在feed_dict(例如feed_dict={x:list?})中提供列表?如果是,您是如何做到的


非常感谢您提前提供的帮助。

对于不同的大小,但作为阵列,您可以尝试列表:

a = [[0]*87 for range(20)]
b = [[0]*100 for range(20)]
c = [[0]*76 for range(20)]

big_list = []
big_list.append(a)
big_list.append(b)
big_list.append(c)

所有这些之后,
big_list
的长度为3,其中每个元素都包含各自的列表/数组。

对于不同的大小,但作为一个数组,可以尝试列表:

a = [[0]*87 for range(20)]
b = [[0]*100 for range(20)]
c = [[0]*76 for range(20)]

big_list = []
big_list.append(a)
big_list.append(b)
big_list.append(c)

在所有这些之后,
big_list
的长度为3,其中每个元素包含各自的列表/数组。

是否使用numpy数组列表?如果没有额外的上下文,很难说出更多的内容……将它们全部添加到列表中!!所以实际上我确实创建了一个数组列表,但是因为我必须在Tensorflow中的字典中输入它们,所以我不确定是否可以使用一个列表。如果可以的话,您将如何输入这个2d数组列表?您可以使用
+
操作符或
\uuuuIdd\uuuuUd
特殊方法。通常的解决方案是将每个批元素填充到最长列表的长度,然后使用标准密集张量。在大多数情况下,这将是最有效的。也可以输入这些数据,然后用它们构造一个SparseTensor,但是卷积运算在SparseTensor上不会很好,所以我不推荐在这里使用它。对于更高级的不规则序列的批处理,有
SequenceQueueingStateSaver
,它本质上就是在示例中播放俄罗斯方块。我需要更多关于该模型的详细信息来知道推荐哪一种。使用numpy阵列列表?如果没有额外的上下文,很难说出更多的内容……将它们全部添加到列表中!!所以实际上我确实创建了一个数组列表,但是因为我必须在Tensorflow中的字典中输入它们,所以我不确定是否可以使用一个列表。如果可以的话,您将如何输入这个2d数组列表?您可以使用
+
操作符或
\uuuuIdd\uuuuUd
特殊方法。通常的解决方案是将每个批元素填充到最长列表的长度,然后使用标准密集张量。在大多数情况下,这将是最有效的。也可以输入这些数据,然后用它们构造一个SparseTensor,但是卷积运算在SparseTensor上不会很好,所以我不推荐在这里使用它。对于更高级的不规则序列的批处理,有
SequenceQueueingStateSaver
,它本质上就是在示例中播放俄罗斯方块。我需要有关型号的更多详细信息,以了解推荐哪种型号。为什么一种型号使用
*
运算符,而另一种型号不使用该运算符?对不起,我应该提供有关该问题的更多详细信息。这些2d阵列是Tensorflow中CNN的输入数据。我原以为有一个大列表,但我可以在feed_dict={x:big_list?}中输入这个列表吗?如果是,您是如何做到这一点的?@EmanuelaLiaci我认为您应该编辑您的问题,以包括您试图对tensorflow执行的操作。为什么您对一个dimmension使用
*
运算符,而不对另一个dimmension使用该运算符?我应该提供有关该问题的更多详细信息,对不起。这些2d阵列是Tensorflow中CNN的输入数据。我原以为有一个大列表,但我可以在feed_dict={x:big_list?}中输入这个列表吗?如果是的话,你是如何做到的?@EmanuelaLiaci我认为你应该编辑你的问题,包括你试图用tensorflow做什么。