Closed Akasan closed 1 year ago
@Akasan 下記のREADME.mdとdownload_all_models.shへの追加をお願いします。 https://github.com/axinc-ai/ailia-models/blob/master/README.md https://github.com/axinc-ai/ailia-models/blob/master/scripts/download_all_models.sh
anomaly_detection/README.mdとanomaly_detection/LICENSEの追加もお願いします。
@kyakuno いただいたコメントに対応しました。
モデルダウンロード時に必要なため、以下のご対応いただけますでしょうか?
現在padimのストレージに保存されているresnet18とwide_resnet50_2のモデルファイルをpatchcoreのストレージを作成してコピーいただくことは可能ですか? PaDiMのストレージ:https://storage.googleapis.com/ailia-models/padim/ PatchCoreのストレージ(作成していただきたいもの):https://storage.googleapis.com/ailia-models/patchcore/
対応、ありがとうございます。モデルはpadimのフォルダからダウンロード頂く形で問題ありません。
@kyakuno それではダウンロードリンクをpadimに変更しておきます!
embeddingsディレクトリの作成が必要そうなので、os.makedirsを追加しました。
Getting transformed features...
Calculating distances...
Maximum distance from cluster centers is 4.89
initial embedding size : (655424, 768)
final embedding size : (655, 768)
Traceback (most recent call last):
File "/Users/kyakuno/Desktop/repos/ailia-models-ax/anomaly_detection/patchcore/patchcore.py", line 427, in <module>
main()
File "/Users/kyakuno/Desktop/repos/ailia-models-ax/anomaly_detection/patchcore/patchcore.py", line 423, in main
train_and_infer(net, params)
File "/Users/kyakuno/Desktop/repos/ailia-models-ax/anomaly_detection/patchcore/patchcore.py", line 391, in train_and_infer
embedding_coreset = train_from_image_or_video(net, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kyakuno/Desktop/repos/ailia-models-ax/anomaly_detection/patchcore/patchcore.py", line 196, in train_from_image_or_video
train_outputs = training(
^^^^^^^^^
File "/Users/kyakuno/Desktop/repos/ailia-models-ax/anomaly_detection/patchcore/patchcore_utils.py", line 358, in training
faiss.write_index(index, "embeddings/index.faiss")
File "/usr/local/lib/python3.11/site-packages/faiss/swigfaiss.py", line 9918, in write_index
return _swigfaiss.write_index(*args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Error in faiss::FileIOWriter::FileIOWriter(const char *) at /Users/runner/work/faiss-wheels/faiss-wheels/faiss/faiss/impl/io.cpp:98: Error: 'f' failed: could not open embeddings/index.faiss for writing: No such file or directory
まだ下記のエラーが出る。
100%|██████████████████████████████████| 3136/3136 [00:00<00:00, 2465480.29it/s]
Traceback (most recent call last):
File "/Users/kyakuno/Desktop/repos/ailia-models-ax/anomaly_detection/patchcore/patchcore.py", line 427, in <module>
main()
File "/Users/kyakuno/Desktop/repos/ailia-models-ax/anomaly_detection/patchcore/patchcore.py", line 423, in main
train_and_infer(net, params)
File "/Users/kyakuno/Desktop/repos/ailia-models-ax/anomaly_detection/patchcore/patchcore.py", line 402, in train_and_infer
threshold = decide_threshold_from_gt_image(net, params, embedding_coreset, gt_imgs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kyakuno/Desktop/repos/ailia-models-ax/anomaly_detection/patchcore/patchcore.py", line 279, in decide_threshold_from_gt_image
threshold = decide_threshold(scores, gt_imgs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/kyakuno/Desktop/repos/ailia-models-ax/anomaly_detection/patchcore/patchcore.py", line 251, in decide_threshold
precision, recall, thresholds = precision_recall_curve(gt_mask.flatten(), scores.flatten())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sklearn/metrics/_ranking.py", line 878, in precision_recall_curve
fps, tps, thresholds = _binary_clf_curve(
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/sklearn/metrics/_ranking.py", line 749, in _binary_clf_curve
raise ValueError("{0} format is not supported".format(y_type))
ValueError: unknown format is not supported
@kyakuno こちら、おそらくground truth画像を設定していなかったときに起こったものだと想定されます! 実装チェックします
gt_masksもリポジトリへの登録が必要そうな気がしますね。
@Akasan trainフォルダとgt_masksフォルダが存在しない場合に、適切なエラーメッセージを表示するようにしていただけると嬉しいです。
動作としては問題なさそうでした。
@kyakuno 両フォルダがない場合にエラーを出して終了させるようにしました
ありがとうございます!良さそうです。
585 の実装です