Python 无法使用tf.train.batch()创建正确的批

Python 无法使用tf.train.batch()创建正确的批,python,neural-network,tensorflow,Python,Neural Network,Tensorflow,我有一堆长度为5000的数据(尽管内部列表的长度也不同),类型为numpy数组: In [39]: data.train_x Out[39]: array([ [10, 2093, 121, 87451, 1, 10, 478, 4, 185, 4, 109, 239, 1527, 96, 16, -1, 116, 1, 33, 276, 56, 989, 12, 13, 1232, 2683, 12, 7166, 1], [-1, -1, -1, 43, 15, 626, 53

我有一堆长度为5000的数据(尽管内部列表的长度也不同),类型为numpy数组:

In [39]: data.train_x
Out[39]: 
array([ [10, 2093, 121, 87451, 1, 10, 478, 4, 185, 4, 109, 239, 1527, 96, 16, -1, 116, 1, 33, 276, 56, 989, 12, 13, 1232, 2683, 12, 7166, 1],
       [-1, -1, -1, 43, 15, 626, 53, 524, 14, -1, 733, 1, 10, 68, 33, 1],
       [845, 14, -1, 32, 6455, 16, 29, 13987, 148, 4, 8995, 16, 1556, 1, 88, 610],
       ...,
       [151, 68, 353, 32, 46, -1, -1, 4, 29, 1034, 4, 15, 171, 122, 434, -1],
       [13182, 14732, 50100, 2917, 3526, 37, 48, 8617, 5057, 48, 2, 32029, 1477, 2, 5687, 5472, -1, 4, 127, 215, 425, 61376, -1],
       [13, 607, -1, 2476, 35, 171, 39, 515, -1, 3307, 2, 7094, 615, 92, -1, 4457, 46, 16, 26034, 13, 685, 2365, 543, -1]], dtype=object)
然后我转换并创建了一个张量列表,每个张量代表原始数据的一个示例:

inputs = [tf.convert_to_tensor(input, dtype=tf.int16) for input in data.train_x]
现在我尝试使用tf.train.batch()和tf.train.batch_join()生成批处理数据:

batched_inputs = tf.train.batch(
    tensors=inputs,
    batch_size=50,
    dynamic_pad=True,
    # enqueue_many=True,
    name='batching'
)
生成的批处理数据是错误的,它只是创建了一个张量列表(长度与
输入的长度相同),每个张量的形状为(50,一个输入的长度),我怀疑它只是该输入的50个副本

In [42]: batched_inputs[0]
Out[42]: <tf.Tensor 'batching_7:0' shape=(50, 29) dtype=int16>
[42]中的
:批处理的_输入[0]
出[42]:
有人能告诉我如何创建具有正确长度的正确批处理数据,并且每个批都是动态填充的吗

非常感谢

更新: 读过之后,问题似乎是它尝试了
tf.pack()
张量,但由于张量的长度不同而失败了。。尝试了一些事情,但没有成功