前提・実現したいこと
kerasで分類問題のモデルを作っている途中なのですが、
「.ipynb_checkpoints」というファイル?によるエラーが発生しています。
以下のようなエラーメッセージが出るため該当のフォルダを確認すると、「.ipynb_checkpoints」といったファイルは存在していないため削除することもできず、エラーが解消できずに困っています。
そこで「.ipynb_checkpoints」の削除方法についてご存知でしたらご教示いただきたく質問させていただきます。
質問内容に不足している点がありましたらお知らせください。
お手数をおかけしますがどうぞよろしくお願い致します。
発生している問題・エラーメッセージ
FileNotFoundError: [Errno 2] No such file or directory: './hold_dir/.ipynb_checkpoints0.jpeg'
該当のソースコード
※学習部分のコードは省略させていただきます
Python
def test_acc(model, test_dir, hold_dir, classes, thresh=0, sample=1000): """ テスト用 model: 特徴抽出用モデル X: array test_dir: str 画像入ってるフォルダ hold_dir:str 登録データのフォルダ ファイル名はclass名.jpgにしてください classes: フォルダ名のリスト """ correct = 0 hold_vector = get_hold_vector(model, classes, hold_dir) test_datagen=ImageDataGenerator(rescale=1.0/255.) test_generator=test_datagen.flow_from_directory( test_dir, target_size=(512,496), batch_size=1, class_mode='categorical', classes=classes) for i in range(sample): X, Y = test_generator.next() Y = np.argmax(Y, axis=1) predict_vector = model.predict(X) index = judgment(predict_vector,hold_vector, thresh) label_index = index // 4 if Y == label_index: correct += 1 print('label_index{}'.format(label_index)) print('Y{}'.format(Y)) acc = correct / sample print("acc: {}".format(acc)) return acc def cosine_similarity(x1, x2): if x1.ndim == 1: x1 = x1[np.newaxis] if x2.ndim == 1: x2 = x2[np.newaxis] x1_norm = np.linalg.norm(x1, axis=1) x2_norm = np.linalg.norm(x2, axis=1) cosine_sim = np.dot(x1, x2.T)/(x1_norm*x2_norm+1e-10) return cosine_sim # new画像のcos類似度を比較して一番値が高いindexを取り出しその値が閾値を超えるならindexを閾値以下ならをNoneを返す def judgment(predict_vector, hold_vector, thresh): """ predict_vector : shape(1,1028) hold_vector : shape(5, 1028) """ cos_similarity = cosine_similarity(predict_vector, hold_vector) # shape(1, 5) print('cos_similarity{}'.format(cos_similarity[0])) # 最も値が高いindexを取得 high_index = np.argmax(cos_similarity[0]) # int # cos類似度が閾値を超えるか if cos_similarity[0, high_index] > thresh: #print('high_index{}'.format(high_index)) return high_index else: return None def get_hold_vector(model, classes, hold_dir): """ classes: クラス名のリスト イメージの名前はこのリスト名にしてください hold_dir: str イメージが入ったフォルダpath """ img_array = np.empty((0, 512,496,3)) for clas in classes: for i in range(4): imagepath = os.path.join(hold_dir, clas + str(i) +".jpeg") img = load_img(imagepath, target_size=(512,496)) array = img_to_array(img).reshape(1, 512, 496, 3) img_array = np.vstack((img_array, array)) img_array = img_array/255.0 hold_vector = model.predict(img_array) return hold_vector # hold_vector作成用の辞書 drink_dict = {"calpis":5, "ilohas_peach":4, "mitsuya":3, "ilohas_normal":2, "pocari":1} # hold_vectorをファイルに保存 import pickle def pickel_hold_vector(hold_vector, classes, num_image=4): #ファイルに書き込み name_list = [] for clas in classes: name_list += ["zidolegi_data2/feature/{}_{}_feature.dump".format(drink_dict[clas], i) for i in range(num_image)] for vec, name in zip(hold_vector, name_list): with open(name , 'wb') as f: pickle.dump(vec, f) hold_dir = "./hold_dir" test_dir = "./test_dir" classes = os.listdir(test_dir) hold_vector = get_hold_vector(model, classes, hold_dir) pickel_hold_vector(hold_vector, classes)
まだ回答がついていません
会員登録して回答してみよう