数独模型Keras无效参数错误

数独模型Keras无效参数错误,keras,conv-neural-network,tensorflow2.0,sudoku,Keras,Conv Neural Network,Tensorflow2.0,Sudoku,我是一个全新的深度学习者,试图通过从Kaggle内核中获取灵感,构建一个CNN模型来解决数独问题。作为参考,可以找到内核 这是我建立的顺序模型- model = Sequential([ Conv2D(filters = 64, kernel_size = (3,3), activation = 'relu', padding = 'same', input_shape = (9,9,1)), BatchNormalization(), Con

我是一个全新的深度学习者,试图通过从Kaggle内核中获取灵感,构建一个CNN模型来解决数独问题。作为参考,可以找到内核

这是我建立的顺序模型-

    model = Sequential([
    Conv2D(filters = 64, kernel_size = (3,3), activation = 'relu', padding = 'same', 
    input_shape = (9,9,1)),
    
    BatchNormalization(),
    Conv2D(filters = 64, kernel_size = (3,3), activation = 'relu', padding = 'same'),
    BatchNormalization(),
    Conv2D(filters = 128, kernel_size = (1,1), activation = 'relu', padding = 'same'),    
    Flatten(),
    Dense(81*9),
    Reshape((-1,9)),
    Activation('softmax')
    ])

    model.compile(optimizer = Adam(lr = 0.0001), loss = 'sparse_categorical_crossentropy', metrics = ['accuracy'])

    X = np.array(unsolved).reshape(2000,9,9,1) # features
    y = np.array(solved) # labels
y是形状的数组(2000,81)。2000是培训示例的数量

model.fit(x = X, y = y, validation_split = 0.2, verbose = 1, batch_size = 1000, epochs = 20)
在训练模型时,我得到一个无效参数错误

InvalidArgumentError:  Received a label value of 9 which is outside the valid range of [0, 9).
我发现标签9超出了范围,如果我将解决方案数独中的所有数字从(1,9)重新标记为(0,8),模型可能会工作

但我认为这不是一个有效的解决办法。请务必让我知道如何解决这个问题。谢谢