<環境>
Linux
Ubuntu 18.04.3 LTS (Bionic Beaver)
Anaconda 64bit
python3.7
tensorflow 1.13-gpu
anacondaで作った環境下でkerasを用いて機械学習を勉強しています。参考サイト←このサイトを参考にして、学習したモデルの保存と読み込みを学んでいます。
↓自分で作成したコード
from tensorflow.python.keras.datasets import cifar10 from tensorflow.python.keras.callbacks import ModelCheckpoint (x_train, y_train), (x_test, y_test) = cifar10.load_data() print('x_train.shape:', x_train.shape) print('x_test.shape:', x_test.shape) print('y_train.shape:', y_train.shape) print('y_test.shape:', y_test.shape) x_train = x_train/255 x_test = x_test/255 from tensorflow.python.keras.utils import to_categorical y_train = to_categorical(y_train, 10) y_test = to_categorical(y_test, 10) from tensorflow.python.keras.models import Sequential model = Sequential() from tensorflow.python.keras.layers import Conv2D model.add( Conv2D( filters=32, input_shape=(32,32,3), kernel_size=(3,3), strides=(1,1), padding='same', activation='relu' ) ) model.add( Conv2D( filters=32, kernel_size=(3,3), strides=(1,1), padding='same', activation='relu' ) ) from tensorflow.python.keras.layers import MaxPooling2D model.add(MaxPooling2D(pool_size=(2,2))) from tensorflow.python.keras.layers import Dropout model.add(Dropout(0.25)) model.add( Conv2D( filters=64, kernel_size=(3,3), strides=(1,1), padding='same', activation='relu' ) ) model.add( Conv2D( filters=64, kernel_size=(3,3), strides=(1,1), padding='same', activation='relu' ) ) model.add(MaxPooling2D(pool_size=(2,2))) model.add(Dropout(0.25)) model.output_shape from tensorflow.python.keras.layers import Flatten model.add(Flatten()) model.output_shape from tensorflow.python.keras.layers import Dense model.add(Dense(units=512, activation='relu')) model.add(Dropout(0.5)) model.add(Dense(units=10, activation='softmax')) from tensorflow.python.keras.callbacks import TensorBoard model.compile( optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'] ) check_point = ModelCheckpoint( filepath="./model/model.{epoch:02d}-{val_loss:.4f}.hdf5", monitor="val_loss", save_best_only=True, mode="auto" ) tsb = TensorBoard(log_dir='./aaa') history_model = model.fit( x_train, y_train, batch_size=32, epochs=20, validation_split=0.2, callbacks=[tsb,check_point] )
とりあえず、ModelCheckpointを用いてval_lossが最小になるときのパラメーターを保存しようと思い実行したところ以下のエラー文が出ました。
'h5f.pyx' を開くことができません: ファイル (Error: ファイルが見つかりません (/home/spi/ドキュメント/h5py/h5f.pyx)) を読み取ることができません。
ModelCheckpointでファイル名を指定するときの「.hdf5」を「.h5」にしても同じエラーが起こります。
そもそも.hdf5ファイルを作りたいのになぜ開こうとしているのでしょうか。
やってみたこと
h5py,hdf5 のアップデート
どなたか回答お願いします
あなたの回答
tips
プレビュー