0

こんにちは。ここに投稿するのは初めてです。


Pycharm IDLE で、Python を使用して AI チャットボットを作成しようとしています。チャットボットを機能させるニューラル ネットワークのトレーニングを開始しようとしているときに、このエラーに遭遇し、これを解決するために使用できるリソースを見つけることができませんでした。

トレースバック (最新の呼び出しが最後):
ファイル "C:\Users\Owner\PycharmProjects\ai\main.py"、71 行目、model.compile(loss='categorical_crossentropy', optimiser=sgd, metrics=['accuracy' 内) ])

ファイル "C:\Users\Owner\AppData\Roaming\Python\Python39\site-packages\keras\utils\traceback_utils.py"、67 行目、error_handler で e.with_traceback(filtered_tb) を None

File "C: \Users\Owner\AppData\Roaming\Python\Python39\site-packages\keras\engine\training.py", line 2983, in _validate_compile raise TypeError('Invalid keyword argument(s) in `compile()`: '

TypeError : `compile()` の無効なキーワード引数: ({'optimiser'},)。有効なキーワード引数には、"cloning"、"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

これの解き方わかる人いたら教えてください!

4

1 に答える 1

0

私も初めての投稿です。

問題は:

model.compile(loss='categorical_crossentropy', optimiser=sgd, metrics=['accuracy'])

引数の順序を変更する必要があります。また、sgd一重引用符で囲む必要があります。また、 にはzoptimiser付ける必要があります。optimizer

したがって、次のようになります。

model.compile(optimizer='sgd', loss='categorical_crossentropy', metrics=['accuracy'])

また、インポートに関しては、これを試してください:

from tensorflow.keras.optimizers import SGD また、以前に categorical_crossentropy をインポートしたことを確認してください。keras Web サイトの役立つドキュメント: https://www.tensorflow.org/api_docs/python/tf/keras/Model。そして、ここで役に立つかもしれない 30 の例を見つけることができます: https://www.programcreek.com/python/example/97109/keras.losses.categorical_crossentropy .

あなたのプロジェクトで頑張ってください!

于 2022-02-16T11:55:04.817 に答える