python - 将列表列表传递到 tensorflow

标签 python tensorflow

我想知道如何将列表的列表传递到 tensorflow 中的张量中。我能够传入 [batch_size, seq_len] 数组,其中每个项目只是一个数字。但现在我有一个列表列表也是形状 (batch_size, seq_len] 但我如何传递它?

我试过这个:

self.inputs_X = [tf.placeholder(tf.int32, shape=[None, None],
                 name='inputs_X{0}'.format(i)) for i in xrange(SEQ_LEN)]

(* 我可以在不明确传递 SEQ_LEN 的情况下以任何方式做到这一点?)

首先,tf.int32 没有意义,因为我不再传递 int,而是传递列表。所以,我收到了这个错误:

ValueError:使用序列设置数组元素。

感谢您的帮助!

最佳答案

TensorFlow 相当于“x 的列表”是增加现有张量的维度。

例如如果你传入一个 [1, 2, 3, 4, 5] 的列表,现在你想传入一个列表,你将维数增加 1,最后得到一个矩阵(也就是维数为 2 的张量) ).

tf.int32 仍然有意义,因为您的张量仍然完全包含整数。

这很难说,但我认为您可以简单地向形状参数添加一个额外的元素,例如tf.placeholder(tf.int32, shape=[None, None, SEQ_LEN])(如果合适,将 SEQ_LEN 替换为 None)。我还没有看到数据,所以 SEQ_LEN 可能也需要处于不同的位置。

另一种策略是将列表列表展平为单个列表,然后使用 tf.reshape 将其更改为您需要的矩阵或更高维形状。

关于python - 将列表列表传递到 tensorflow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40269991/

相关文章:

javascript - 标量输出 Tensorflow JS

python - Pandas str.split 没有剥离分割模式

python - bitfinex api v2 错误,无效 key

tensorflow - DNNRegressor、DNNClassifier 和 DNNEstimator 之间的区别 - TensorFlow

python - 属性错误 : 'Tensor' object has no attribute 'numpy' in custom loss function (Tensorflow 2. 1.0)

python - tf.gather 在使用自定义 softmax_loss 函数时超出范围,即使它不应该

python - 尝试导入 Tensorflow 数据集时出错

python - 重新采样 MultiIndexed Pandas DataFrame 并将不同的函数应用于列

python - 使用 ODBC 时出现无法读取数据库错误

python - 在Python中使用QtCreator转换的文件