今回の記事は完全に備忘録の内容になりますが、TensorflowをDocke上で利用している際によく出てくるエラーで、私はこれのせいで昔はtensorflowのKerasではなくスタンドアローン型のKerasを使用しているほどでした。
私の機械学習の環境はDocker上で構築していることが主なのでもしかするとDocker上で発生するのかもし得れません。
まあ、回避方法に関して記載しておきますので煮るなり、役なり好きにして下さい。
「ModuleNotFoundError: No module named ‘tensorflow.keras.utils.〜」回避方法
原因はパスが通っていないのかTensorFlowのモジュールをtだしくimportできていないことが原因です。パスをフルパスにすることでimportを確実に行うことができます。
gitから引っ張ってきたtensorflowのレポジトリを確認すると、pythonというフォルダの中に本体が眠って今す。そのためおそらく下記のようにimportを記載している部分を編集するとエラーが回避されます。
from tensorflow.keras.layers.core import Dense
from tensorflow.keras.models import Sequential
from tensorflow.keras.utils import np_utils
from tensorflow.python.keras.layers.core import Dense
from tensorflow.keras.models import Sequential
from tensorflow.python.keras.utils import np_utils
フルパスを指定しなくともimportできる箇所も混在して正直よくわかりませんが、タイトルのようなメッセージでエラーが解されれば適宜その行をフルパス表記にすれば良いと思います。
では今回の記事は以上です。他にも多数の機械学習関連の記事を記載していますので、興味があればサイト内を見ていって下さい。
コメント