質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

1546閲覧

kerasの学習済みモデルをロードする際にOSErrorが出る

seyu0930

総合スコア20

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/08/01 00:07

編集2022/01/12 10:55

画像認識プログラミングレシピという本で学習中です。
model.saveしたモデルロードしたいのですがエラーが出てしまいできません。

compile=Falseなど色々試しましたがうまくいきませんでした。
わかる方ご回答よろしくお願いします。

python

1import numpy as np 2import tensorflow as tf 3from tensorflow import keras 4from tensorflow.python.keras.models import load_model 5 6model = load_model('keras-mnist-model.h5')

エラー内容

python

1--------------------------------------------------------------------------- 2OSError Traceback (most recent call last) 3<ipython-input-15-778fdc108898> in <module>() 4----> 1 model = load_model('sample.h5', compile=False) 5 62 frames 7/usr/local/lib/python3.7/dist-packages/tensorflow/python/saved_model/loader_impl.py in parse_saved_model(export_dir) 8 114 "SavedModel file does not exist at: %s%s{%s|%s}" % 9 115 (export_dir, os.path.sep, constants.SAVED_MODEL_FILENAME_PBTXT, 10--> 116 constants.SAVED_MODEL_FILENAME_PB)) 11 117 12 118 13 14OSError: SavedModel file does not exist at: sample.h5/{saved_model.pbtxt|saved_model.pb}

また、学習済みモデルをダウンロードし、jupyternotebookで試みましたが以下のエラーが出ました。

python

1import tensorflow as tf 2from tensorflow import keras 3import numpy as np 4from keras.models import load_model 5 6model = load_model("/Users/haru/Downloads/keras-mnist-model.h5")

エラー内容

python

1--------------------------------------------------------------------------- 2AttributeError Traceback (most recent call last) 3<ipython-input-13-5a0a860415ea> in <module> 4----> 1 model = load_model("/Users/haru/Downloads/keras-mnist-model.h5") 5 6/usr/local/Caskroom/miniforge/base/envs/python38/lib/python3.8/site-packages/tensorflow/python/keras/saving/save.py in load_model(filepath, custom_objects, compile, options) 7 8/usr/local/Caskroom/miniforge/base/envs/python38/lib/python3.8/site-packages/tensorflow/python/keras/saving/hdf5_format.py in load_model_from_hdf5(filepath, custom_objects, compile) 9 10AttributeError: 'str' object has no attribute 'decode'

イメージ説明

googlecolabの環境
keras2.5.0
tensorflow2.5.0
numpy1.19.5

jupyternotebookの環境
tensorflow2.4.0-rc0
keras2.4.0
numpy1.21.1

macOSXを利用

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

toast-uz

2021/08/01 01:38 編集

saveしたコードの提示をお願いします。単純にファイルが無いというエラーなので、ファイル名をスペルミスしているか、セーブ前の処理でカレントディレクトリが変わってしまっているのではないでしょうか。colabで存在しないファイル名でload_modelを実行すると、全く同じエラーが出ます。もしかして、keras-mnist-model.h5 という名前でセーブして、sample.h5 という名前でロードしていませんか? 後半の件は、h5pyのバージョンがセーブした環境とロードした環境で不一致であるときに、頻出するエラーです。
退会済みユーザー

退会済みユーザー

2021/08/01 01:24

Q.1 自前で学習したデータのモデル'sample.h5'がロードできない。「OSError: SavedModel file does not exist at: sample.h5/{saved_model.pbtxt|saved_model.pb}」が出て困っている。 Q.2対策として、"keras-mnist-model.h5"をDLしてロードしようとしたが、「AttributeError: 'str' object has no attribute 'decode'」が出て困っている。 であっていますか? 両方とも共通して確認してほしいことですが、 print(os.path.exists(モデルファイルのパス)) の結果を教えてもらえますか?
seyu0930

2021/08/01 02:26

toast-uzさんありがとうございます。 sample.h5でsaveしてkeras-mnist-model.h5でloadしていることに気づいてkeras-mnist-model.h5でsaveとloadしなおしましたが同じエラーが出ます。修正しておきました。申し訳ありません。 https://github.com/Kokensha/book-ml/blob/master/Colaboratory/05_01(TensorFlow_Keras_MNIST).ipynb saveまでのコードは上記のものを使いました。 saveするまでにエラーが出る部分があったので def plot_loss_accuracy_graphの[acc]の部分を[accuracy]にしたり 教師ラベルデータの変換のkeras.utils.to_categoricalをnp_utils.to_categoricalに変更したりしました。
seyu0930

2021/08/01 02:32

fourteenlengthさんありがとうございます。 その通りでございます。sample.h5→keras-mnist-model.h5など少々記載ミスがあったので修正いたしました。申し訳ありません。 colaboratoryは print(os.path.exists("/content/drive/MyDrive/keras-mnist-model.h5"))で trueでした。 jupyternotebookの方も print(os.path.exists("/Users/haru/Downloads/keras-mnist-model.h5"))で trueでした。
seyu0930

2021/08/01 02:39

colaboratoryで model = load_model("/content/drive/MyDrive/keras-mnist-model.h5") のようにロードすれば成功しました。 https://www.tensorflow.org/tutorials/keras/save_and_load?hl=ja 質問させていただいた方法はこちらの最後の方を参考に model = load_model('keras-mnist-model.h5') としているのですがやはりどちらもエラーになります。
toast-uz

2021/08/01 03:35

単純にセーブ時点でのカレントディレクトリが、/content/drive/MyDrive だったのを、ロード時点でデフォルトの /content に戻っているだけではないでしょうか。
退会済みユーザー

退会済みユーザー

2021/08/01 04:58

seyu0930さん toast-uzさんの指摘されている状況が起きているのであれば、以下のコードでうまくいきそうですね。 os.chdir("ファイルを格納しているフォルダの絶対パス") model = load_model("ファイル名")
seyu0930

2021/08/01 09:52

toast-uzさん それが原因だった場合学習済みモデルを置いている場所が問題だったということでしょうか?
seyu0930

2021/08/01 09:53

fourteenlengthさんありがとうございます それはcolab、jupyternotebookどちらもいけるでしょうか?
toast-uz

2021/08/01 10:45

これ(別ディレクトリに保存されていること)が問題かどうかは、質問者様が意図してやっているのかどうかに依存します。
退会済みユーザー

退会済みユーザー

2021/08/02 21:14

toast-uzさん > それはcolab、jupyternotebookどちらもいけるでしょうか? 単にカレントワーキングディレクトリを変えるだけなので恐らくどちらでも行けると思います。あとは、toast-uzさんの指摘にあるように、「意図的にどこかでカレントワーキングディレクトリを変えている(であれば後続の処理のために。用が済んだらCWDを戻すような処理を考えて対応しないといけない)」のか、「特に気にしていなかっただけで別にCWDを変えてしまって問題ない(CWDを都合に合わせて適当に変えてもいい)のか」とかそういう話になると思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問