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

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

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

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

Q&A

0回答

886閲覧

Pythonによる機械学習にて学習済みネットワークの呼び出しでのエラー

suwato-taro

総合スコア0

Python

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

0グッド

0クリップ

投稿2020/09/02 23:08

前提・実現したいこと

Python 3.8でKerasを用いて機械学習を行っています。
画像の学習→判定をするシステムを作成しようとしています。

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

Traceback (most recent call last): File "003train004.py", line 85, in <module> model.save_weights('../result/model.weight') File "C:\Users\babit\anaconda3\envs\p38\lib\site-packages\keras\engine\saving.py", line 449, in save_wrapper save_function(obj, filepath, overwrite, *args, **kwargs) File "C:\Users\babit\anaconda3\envs\p38\lib\site-packages\keras\engine\network.py", line 1183, in save_weights with h5py.File(filepath, 'w') as f: File "C:\Users\babit\anaconda3\envs\p38\lib\site-packages\h5py\_hl\files.py", line 312, in __init__ fid = make_fid(name, mode, userblock_size, fapl, swmr=swmr) File "C:\Users\babit\anaconda3\envs\p38\lib\site-packages\h5py\_hl\files.py", line 148, in make_fid fid = h5f.create(name, h5f.ACC_TRUNC, fapl=fapl, fcpl=fcpl) File "h5py\_objects.pyx", line 54, in h5py._objects.with_phil.wrapper File "h5py\_objects.pyx", line 55, in h5py._objects.with_phil.wrapper File "h5py\h5f.pyx", line 98, in h5py.h5f.create OSError: Unable to create file (unable to open file: name = '../result/model.weight', errno = 2, error message = 'No such file or directory', flags = 13, o_flags = 302)

該当のソースコード

Python

1import params as P 2import os 3from PIL import Image 4import numpy as np 5num_classes=0 6n=0 7first=True 8for c in sorted(os.listdir(P.datadir)): 9 print(c) 10 for i in os.listdir(os.path.join(P.datadir,c)): 11 im=Image.open(os.path.join(P.datadir,c,i)) 12 img=np.zeros([1,P.W,P.H],dtype='uint8') 13 for x in range(P.W): 14 for y in range(P.H): 15 img[0,x,y]=im.getpixel((y,x)) 16 label=np.zeros([1],dtype='uint8') 17 label[0]=num_classes 18 if first: 19 img_array=np.asarray(img) 20 label_array=np.asarray(label) 21 first=False 22 else: 23 img_array=np.append(img_array,img,axis=0) 24 label_array=np.append(label_array,label,axis=0) 25 n+=1 26 num_classes+=1 27th=int(n*0.9) 28train_data=np.zeros([th,P.W,P.H],dtype='uint8') 29test_data=np.zeros([n-th,P.W,P.H],dtype='uint8') 30train_teacher_labels=np.zeros([th],dtype='uint8') 31test_teacher_labels=np.zeros([n-th],dtype='uint8') 32perm=np.random.permutation(n) 33for i in range(n): 34 if i<th: 35 train_data[i]=img_array[perm[i]] 36 train_teacher_labels[i]=label_array[perm[i]] 37 else: 38 test_data[i-th]=img_array[perm[i]] 39 test_teacher_labels[i-th]=label_array[perm[i]] 40import keras 41from keras import backend as Keras 42if Keras.image_data_format()=='channels_first': 43 train_data=train_data.reshape( 44 train_data.shape[0],1,P.W,P.H) 45 test_data=test_data.reshape( 46 test_data.shape[0],1,P.W,P.H) 47 input_shape=(1,P.W,P.H) 48else: 49 train_data=train_data.reshape( 50 train_data.shape[0],P.W,P.H,1) 51 test_data=test_data.reshape( 52 test_data.shape[0],P.W,P.H,1) 53 input_shape=(P.W,P.H,1) 54train_data=train_data.astype('float32') 55test_data=test_data.astype('float32') 56train_data/=255 57test_data/=255 58train_teacher_labels=keras.utils.to_categorical( 59 train_teacher_labels,num_classes) 60test_teacher_labels=keras.utils.to_categorical( 61 test_teacher_labels,num_classes) 62from keras.models import Sequential 63model=Sequential() 64from keras.layers import Dense,Dropout,Flatten,Conv2D,MaxPooling2D 65model.add( 66 Conv2D(32,kernel_size=(3,3),activation='relu',input_shape=input_shape)) 67model.add(Conv2D(64,(3,3),activation='relu')) 68model.add(MaxPooling2D(pool_size=(2,2))) 69model.add(Dropout(0.25)) 70model.add(Flatten()) 71model.add(Dense(128,activation='relu')) 72model.add(Dropout(0.5)) 73model.add(Dense(num_classes,activation='softmax')) 74model.summary() 75model.compile(optimizer=keras.optimizers.Adadelta(), 76 loss=keras.losses.categorical_crossentropy, 77 metrics=['accuracy']) 78BATCH_SIZE=256 79EPOCHS=10 80fit_record=model.fit(train_data,train_teacher_labels, 81 batch_size=BATCH_SIZE, 82 epochs=EPOCHS, 83 verbose=1, 84 validation_data=(test_data,test_teacher_labels)) 85model.save_weights('../result/model.weight') 86result_score=model.evaluate(test_data,test_teacher_labels,verbose=0) 87print("loss ",result_score[0]) 88print("accuracy",result_score[1]) 89

試したこと

学習のやり直し

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

meg_

2020/09/03 00:43

'../result'は存在していますか?
suwato-taro

2020/09/03 05:22

いま確認したら無かったのでresultを作成したらいけました! ありがとうございます( ;∀;)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問