伙计们好啊。第一次在这里发帖子。
因此,我试图在Pycharm空闲环境中使用Python制作一个AI聊天机器人。在尝试开始训练神经网络以使聊天机器人工作时,我遇到了这个错误,无法找到任何资源来帮助我解决这个问题:
回溯(最近一次调用):
文件"C:\Users\Owner\PycharmProjects\ai\main.py",第71行,在C:\Users\Owner\PycharmProjects\ai\main.py optimiser=sgd中,度量=‘准确性’)
文件"C:\Users\Owner\AppData\Roaming\Python\Python39\site-packages\keras\utils\traceback_utils.py",第67行,在error_handler raise e.with_traceback(filtered_tb)中为None
文件"C:\Users\Owner\AppData\Roaming\Python\Python39\site-packages\keras\engine\training.py",第2983行,在_validate_compile引发TypeError(“compile()中的无效关键字参数:”)
TypeError:compile():({'optimiser'} )中的无效关键字参数。有效的关键字参数包括“克隆”、"experimental_run_tf_function“、”分发“、"target_tensors”或"sample_weight_mode“。
原始代码
(发生错误的代码)
sgd = gradient_descent_v2.SGD(learning_rate=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='categorical_crossentropy', optimiser=sgd, metrics=['accuracy'])我还必须像这样导入SGD,因为否则找不到它:
from keras.optimizers import gradient_descent_v2如果有人知道如何解决这个问题,请告诉我!
发布于 2022-02-16 11:55:04
这也是我第一次发帖子。
问题是:
model.compile(loss='categorical_crossentropy', optimiser=sgd, metrics=['accuracy'])
争论的顺序应该改变。sgd应该包含在单引号中。另外,optimiser应该是带有z的optimizer。
所以应该是这样的:
model.compile(optimizer='sgd', loss='categorical_crossentropy', metrics=['accuracy'])
在导入方面,也尝试如下:
from tensorflow.keras.optimizers import SGD,并确保您之前导入了categorical_crossentropy。来自keras网站的一个有用的文档:https://www.tensorflow.org/api_docs/python/tf/keras/Model。在这里,您可以找到30个可能有用的示例:https://www.programcreek.com/python/example/97109/keras.losses.categorical_crossentropy。
祝你的项目好运!
发布于 2022-05-15 02:03:25
在Tensorflow 2.0中,参数的顺序并不重要。而且,它也不必是单引号。上面唯一的问题似乎是's‘而不是'z’在‘优化器’中。
https://stackoverflow.com/questions/71140867
复制相似问题