TFlearn将形状作为inpu输入时出错

2024-04-23 06:09:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个神经网络来玩井字游戏。我在神经网络中使用tflearn。这是我正在使用的培训数据

[[[1, 1, 1, 0, -1, -1, -1, 0, 0], 6], [[1, 1, 1, 0, -1, -1, -1, 0, 0], 3], [[1, 1, 1, 0, -1, -1, -1, 0, 0], 5],
                     [[1, 1, 1, 0, -1, -1, -1, 0, 0], 2], [[1, 1, 1, 0, -1, -1, -1, 0, 0], 7], [[1, 1, 1, 0, -1, -1, -1, 0, 0], 1],
                     [[0, 0, 1, -1, 1, 0, 1, -1, -1], 4], [[0, 0, 1, -1, 1, 0, 1, -1, -1], 3], [[0, 0, 1, -1, 1, 0, 1, -1, -1], 8],
                     [[0, 0, 1, -1, 1, 0, 1, -1, -1], 5], [[0, 0, 1, -1, 1, 0, 1, -1, -1], 9], [[0, 0, 1, -1, 1, 0, 1, -1, -1], 7],
                     [[0, -1, 1, 0, 1, 0, 1, -1, -1], 9], [[0, -1, 1, 0, 1, 0, 1, -1, -1], 3], [[0, -1, 1, 0, 1, 0, 1, -1, -1], 2],
                     [[0, -1, 1, 0, 1, 0, 1, -1, -1], 5], [[0, -1, 1, 0, 1, 0, 1, -1, -1], 8], [[0, -1, 1, 0, 1, 0, 1, -1, -1], 7],
                     [[1, -1, -1, 0, 1, 0, -1, 0, 1], 2], [[1, -1, -1, 0, 1, 0, -1, 0, 1], 1], [[1, -1, -1, 0, 1, 0, -1, 0, 1], 3],
                     [[1, -1, -1, 0, 1, 0, -1, 0, 1], 5], [[1, -1, -1, 0, 1, 0, -1, 0, 1], 7], [[1, -1, -1, 0, 1, 0, -1, 0, 1], 9],
                     [[-1, 1, -1, 0, 1, 0, -1, 1, 0], 1], [[-1, 1, -1, 0, 1, 0, -1, 1, 0], 5], [[-1, 1, -1, 0, 1, 0, -1, 1, 0], 3],
                     [[-1, 1, -1, 0, 1, 0, -1, 1, 0], 2], [[-1, 1, -1, 0, 1, 0, -1, 1, 0], 7], [[-1, 1, -1, 0, 1, 0, -1, 1, 0], 8]]

它包含当前电路板状态9个数字的列表和工件1编号的位置。我把电路板和数据和标签的位置分开。当我把数据输入神经网络时,我得到了这个错误

ValueError: Cannot feed value of shape (30, 9) for Tensor u'input/X:0', which has shape '(?, 30, 9)'

这是我用来创建和训练模型的代码

^{pr2}$

Tags: 数据游戏列表状态错误数字神经网络标签
1条回答
网友
1楼 · 发布于 2024-04-23 06:09:55

你在第二行写了

network = input_data(shape=(None, 30, 9), name='input')

这将创建一个具有指定形状(None,30,9)的TensorFlow占位符,其中None表示批大小。在

但是当你在这一行中提供你的输入

^{pr2}$

您提供的形状(30,9)与input_data函数创建的占位符形状不匹配。所以我建议您导入numpy并在之前添加这行代码模型.拟合在

x = np.reshape(x, (-1, 30, 9))

这会将数组重塑为占位符所期望的形状。即(批次大小,30,9)

相关问题 更多 >