我最近编写了一个小NN来对我玩井字游戏。 这确实是我自己写的第一个NN。 今天,我想通过Google Collab展示给朋友,但出现此错误:
model.fit(train_layout, train_place, epochs=3000)
^
SyntaxError: invalid syntax
我以前从未遇到此错误。我认为这与使用1.14.0版的Google Collag和使用1.13.1版的我有关
这是我的代码:
import tensorflow as tf
from tensorflow import keras
model = keras.Sequential([
keras.layers.Dense(9, activation=tf.nn.tanh),
keras.layers.Dense(128, activation=tf.nn.relu),
keras.layers.Dense(256, activation=tf.nn.relu),
keras.layers.Dense(96, activation=tf.nn.relu),
keras.layers.Dense(9, activation=tf.nn.softmax)
])
gd = tf.train.GradientDescentOptimizer(0.2)
model.compile(gd, loss='mean_squared_error', metrics=['accuracy'])
model.fit(train_layout, train_place, epochs=3000)
训练数据如下:
train_layout = np.array([[0, 0, 0, 0, 1, 0, 0, 0, 0]])
train_place = np.array([[0, 1, 0, 0, 0, 0, 0, 0, 0]])
(当然只有一个数据块= D)
感谢您的提前帮助 -nailuj05
答案 0 :(得分:0)
您实际上给了自己一个答案。
我以前从未遇到此错误。我认为这与使用1.14.0版的Google Collag和使用1.13.1版的我有关
我认为解决此问题的一种方法是保存json
模型并手动检查操作员姓名(如果补丁中已更改)。如果您的模型是.h5
,我不知道有什么解决方案。
答案 1 :(得分:0)
首先,我在collab中复制粘贴的ur代码,但遇到的错误无法建立密集的层。
第二,对于这样一个简单的井字游戏问题,仅抛弃各种尺寸的致密层并不是一个好主意。...我确定您会遇到过拟合...
最重要的是...。您忘记了输入层的大小...这可能是导致错误的根本原因...
答案 2 :(得分:0)
如果您看到错误,它会显示syntax error
,这主要是因为您忘记了代码中要写的内容,例如方括号,逗号或有时是空格等。我不认为这是因为张量流版本。我可以在TF 1.14和1.13的colab中运行此代码,它只是显示了一个错误,可以通过在第一层之前定义输入形状来消除该错误。
例如
model = keras.Sequential([
keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(9, activation=tf.nn.tanh),
keras.layers.Dense(128, activation=tf.nn.relu),
keras.layers.Dense(256, activation=tf.nn.relu),
keras.layers.Dense(96, activation=tf.nn.relu),
keras.layers.Dense(9, activation=tf.nn.softmax)
])