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

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

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

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

Python

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

解決済

Kerasでh5ファイルをロードする時にエラーが起こってしまいます…

Yukkiy
Yukkiy

総合スコア14

Keras

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

Python

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

2回答

0リアクション

0クリップ

424閲覧

投稿2022/07/18 02:03

編集2022/07/18 02:39

前提・実現したいこと

初めて機械学習をGoogle colaboratryでkerasを用いて勉強していました。モデルを作るまでは出来たのですが、いざモデルを読み込もうとすると‪”‬No file or directory found at model.h5‪”‬というエラーが出てしまいました。しかしmodel.h5ファイルはipymbファイルと同じフォルダーに保存してあります。teratailやGoogle colaboratry共に使うのが初めてで分からないことだらけなのですがどなたか教えて下さると幸いです…

発生している問題・エラーメッセージ

エラーメッセージ ``````OSError Traceback (most recent call last) <ipython-input-1-6210d8ecd14b> in <module>() 4 import keras 5 ----> 6 model = keras.models.load_model('model.h5', compile=False) 7 classes = pickle.load(open('classes.sav', 'rb')) 8 1 frames /usr/local/lib/python3.7/dist-packages/keras/saving/save.py in load_model(filepath, custom_objects, compile, options) 202 if isinstance(filepath_str, str): 203 if not tf.io.gfile.exists(filepath_str): --> 204 raise IOError(f'No file or directory found at {filepath_str}') 205 206 if tf.io.gfile.isdir(filepath_str): OSError: No file or directory found at model.h5

該当のソースコード

Python

コード ```import os import cv2 import numpy as np import glob as glob import pickle from sklearn.model_selection import train_test_split from keras.utils import np_utils from keras.applications.vgg16 import VGG16 from keras.models import Sequential from keras.models import model_from_json from keras.models import Model from keras.layers import Input, Activation, merge, Dense, Flatten,Dropout from tensorflow.keras.optimizers import Adam path = "/content/drive/MyDrive/perfume" folders = os.listdir(path) classes = [f for f in folders if os.path.isdir(os.path.join(path,f))] n_classes = len(classes) X = [] Y = [] for label,class_name in enumerate(classes): files = glob.glob(path + "/" + class_name+ "/*.jpg") for file in files: img = cv2.imread(file) img = cv2.resize(img,dsize=(224,224)) X.append(img) Y.append(label) X = np.array(X) X = X.astype("float32") X /= 255.0 Y = np.array(Y) Y = np_utils.to_categorical(Y,n_classes) Y[:5] X_train,X_test,Y_train,Y_test = train_test_split(X,Y,test_size=0.2) print(X_train.shape) print(X_test.shape) print(Y_train.shape) print(Y_test.shape) input_tensor = Input(shape=(224,224,3)) base_model = VGG16(weights="imagenet",input_tensor=input_tensor,include_top=False) top_model = Sequential() top_model.add(Flatten(input_shape=base_model.output_shape[1:])) top_model.add(Dense(n_classes, activation="softmax")) model = Model(inputs=base_model.input,outputs=top_model(base_model.output)) for layer in model.layers[:15]: layer.trainable = False print("# layers=",len(model.layers)) model.compile(loss="categorical_crossentropy",optimizer="adam",metrics=["accuracy"]) model.summary() model.fit(X_train,Y_train, epochs=100,batch_size=100) score = model.evaluate(X_test, Y_test, batch_size=100) pickle.dump(classes, open("classes.sav","wb")) model.save("model.h5")

Python

コード ```from keras.models import load_model import pickle import cv2 import keras model = keras.models.load_model('model.h5', compile=False) classes = pickle.load(open('classes.sav', 'rb')) img = cv2.imread('sample/sample.jpg') img = cv2.resize(img,dsize=(224,224)) img = img.astype('float32') img /= 255.0 img = img[None, ...] img = cv2.imread('sample/sample.jpg') cv2.imwrite('output/' + str(classes[pred])+ '/sample.jpg',img)

試したこと

モデルを作り直したりファイル名を変えたりしてみましたが出来ませんでした… 僕が初心者なこともありお手上げ状態です…

補足情報

ファイルは機械学習というファイルの下に機械学習.ipynbとclasses.sav、model.h5とoutput、sampleというファイルを置いています。
こちらのサイトを参考にしました。
https://sasuwo.org/image-classification/#toc3

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Keras

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

Python

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