patchcore-inspection-main代码复现
` 提示:以下教程以代码在cpu设备上复现为前提,其中代码可在https://github.com/amazon-science/patchcore-inspection中下载。
数据集下载
在https://www.mvtec.com/company/research/datasets/mvtec-ad中可下载MVTec AD数据集。
将下载好的数据集解压为mvtec文件,放在和代码里bin文件同级的目录下,mvtec文件的格式如下:
Train
在pycharm终端输入命令:python bin/run_patchcore.py --gpu 0 --seed 0 --save_patchcore_model --log_group IM224_WR50_L2-3_P01_D1024-1024_PS-3_AN-1_S0 --log_project MVTecAD_Results results patch_core -b wideresnet50 -le layer2 -le layer3 --pretrain_embed_dimension 1024 --target_embed_dimension 1024 --anomaly_scorer_num_nn 1 --patchsize 3 sampler -p 0.1 approx_greedy_coreset dataset --resize 256 --imagesize 224 -d pill mvtec mvtec
输入命令中的一些参数可参考代码里的sample_training.sh文件进行修改,训练结果将会保存在./results/MVTecAD_Results/目录下。
在训练时若遇到patchcore库报错的问题,可以将src目录下的patchcore文件复制到bin和test目录下。
Evaluate
在pycharm终端输入命令:python bin/load_and_evaluate_patchcore.py --gpu 0 --seed 0 “result” patch_core_loader -p “results/MVTecAD_Results/IM224_WR50_L2-3_P01_D1024-1024_PS-3_AN-1_S0_5/models/mvtec_pill/” dataset -d pill mvtec mvtec
输入命令中的一些参数可参考代码里的sample_evalution.sh文件进行修改,评估结果将会保存在./result/目录下。
训练和评估结果的保存路径和输入命令中的一些参数设置有关,在评估时输入的命令-p后输入的是训练好的权重路径,而不是models目录下的权重路径。
总结
`以上就是代码复现的大致步骤啦!