首页 > 解决方案 > 没有足够的值来解包(预期为 2,得到 0)

问题描述

我有以下错误:

没有足够的值来解包(预期为 2,得到 0)

请帮忙。

这是我的代码:

with tf.Session() as sess:
    ## Initialize the variables
    sess.run(tf.global_variables_initializer())

    for epoch in range(training_epochs):           
        for batch in total_batch:
            batch_images, batch_labels = map(list, zip(*batch))
            batch_images = np.array(batch_images)
            batch_labels = np.array(batch_labels).reshape(-1, 1)

            ## Run the training procedures
            _, l, acc = sess.run([optimizer, loss, accuracy], feed_dict={x: batch_images, y: 
            batch_labels})

        if epoch % display == 0:
            print('\nEpoch: %d, Loss: %f, Accuracy: %f' % (epoch + 1, l, acc))

标签: python

解决方案


我相信这是由于使用map. 您可以将结果转换为可迭代的,例如 alist或 a tuple。尝试更改这行代码:

...
for batch in total_batch:
    batch_images, batch_labels = list(map(list, zip(*batch)))
...

推荐阅读