目的
深層学習で、しっかりしたgithubから得たコードを実行しても、エラーが出る場合がある。
ここでは、kerasの以下のエラーについて対処方法を説明する。
結論から先に書くと、kerasのバージョンをupgradeすれば解決する。
尚、kerasのバージョンが新しすぎてエラーになる場合の、別のケースであるので、
常に、新しくするのが万能な解ではない。
エラーの内容は、以下。
TypeError: Unexpected keyword argument passed to optimizer: learning_rate
エラーの詳細は、以下。
Traceback (most recent call last):
File "cifar10_cnn.py", line 59, in <module>
opt = keras.optimizers.RMSprop(learning_rate=0.0001, decay=1e-6)
File "C:\Users\XYZZ0\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\optimizers.py", line 240, in __init__
super(RMSprop, self).__init__(**kwargs)
File "C:\Users\XYZZ0\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\optimizers.py", line 79, in __init__
'passed to optimizer: ' + str(k))
TypeError: Unexpected keyword argument passed to optimizer: learning_rate
十分な実績のあるコードで、上記のようなエラーは、バージョンの問題しか、
ないでしょう!!
エラー対策
エラーが出ている状態で、kerasのバージョンを確認する。
コマンドは、以下。
C:\Users\xxx\keras-master\examples>python -m pip show keras
結果は、以下。
Name: Keras
Version: 2.2.5
Summary: Deep Learning for humans
Home-page: https://github.com/keras-team/keras
Author: Francois Chollet
Author-email: francois.chollet@gmail.com
License: MIT
Location: c:\users\XYZZ0\appdata\local\programs\python\python37\lib\site-packages
Requires: h5py, scipy, six, keras-applications, keras-preprocessing, pyyaml, numpy
Required-by: keras-adversarial
何か、別のソースの都合で、最新から少し古いのにしたかもしれない記憶はあり。
では、以下のコマンドでupgrade
C:\Users\xxxx\keras-master\examples>python -m pip install keras --upgrade
upgradeの結果は、以下。
Collecting keras
Downloading https://files.pythonhosted.org/packages/1b/18/2e1ef121e5560ac24c7ac9e363aa5fa7006c40563c989e7211aba95b793a/Keras-2.3.0-py2.py3-none-any.whl (377kB)
|????????????????????????????????| 378kB 384kB/s
Requirement already satisfied, skipping upgrade: keras-preprocessing>=1.0.5 in c:\users\XYZZ0\appdata\local\programs\python\python37\lib\site-packages (from keras) (1.1.0)
Requirement already satisfied, skipping upgrade: scipy>=0.14 in c:\users\XYZZ0\appdata\local\programs\python\python37\lib\site-packages (from keras) (1.1.0)
Requirement already satisfied, skipping upgrade: pyyaml in c:\users\XYZZ0\appdata\roaming\python\python37\site-packages (from keras) (5.1)
Requirement already satisfied, skipping upgrade: numpy>=1.9.1 in c:\users\XYZZ0\appdata\local\programs\python\python37\lib\site-packages (from keras) (1.16.4)
Requirement already satisfied, skipping upgrade: six>=1.9.0 in c:\users\XYZZ0\appdata\local\programs\python\python37\lib\site-packages (from keras) (1.12.0)
Requirement already satisfied, skipping upgrade: keras-applications>=1.0.6 in c:\users\XYZZ0\appdata\local\programs\python\python37\lib\site-packages (from keras) (1.0.8)
Requirement already satisfied, skipping upgrade: h5py in c:\users\XYZZ0\appdata\local\programs\python\python37\lib\site-packages (from keras) (2.9.0)
Installing collected packages: keras
Found existing installation: Keras 2.2.5
Uninstalling Keras-2.2.5:
Successfully uninstalled Keras-2.2.5
Successfully installed keras-2.3.0
2.2.5が2.3.0へ
この結果、エラーは消えて、無事実行できました。
まとめ
エラーが出て、
ぐぐって、、、
そうするしかないですが、、、ちょっと、嫌です。
関連(本人)
pythonをストレスなく使う!(generatorに詳しくなる。since1975らしい。)
pythonをストレスなく使う!(Pythonでは、すべてがオブジェクトとして実装されている)
pythonをストレスなく使う!(Pylintに寄り添う)
pythonをストレスなく使う!(ExpressionとStatement)
英語と日本語、両方使ってPythonを丁寧に学ぶ。
今後
コメントなどあれば、お願いします。
勉強します、、、、