说明
做一个环境配置的过程记录
参考链接
https://blog.51cto.com/u_15953612/11663045
https://blog.****.net/qq_1532145264/article/details/143091659
服务器配置
PyTorch 1.7.0
Python 3.8(ubuntu18.04)
CUDA 11.0
GPU RTX 2080 Ti x2(22GB) * 1
CPU12 vCPU Intel® Xeon® Platinum 8336C CPU @ 2.30GHz
内存45GB
虚拟环境创建和安装依赖
conda create -n patchcore python=3.8
conda activate patchcore
unzip patchcore-inspection-main.zip
# 解压后,改了目录名,把main去掉了
cd patchcore-inspection
# 根据情况看是否需要镜像 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -r requirements.txt
pip install timm
训练指令
修改指令最后的数据的根目录,这里为 /root/autodl-tmp/SimpleNet-main/data4
python bin/run_patchcore.py --gpu 0 --seed 0 --save_patchcore_model --save_segmentation_images
--log_group IM224_WR50_L2-3_P01_D1024-1024_PS-3_AN-1_S0
--log_project MVTecAD_Results model 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 --subdatasets "bottle" mvtec /root/autodl-tmp/SimpleNet-main/data4
错误解决ModuleNotFoundError: No module named ‘patchcore’
参见https://blog.****.net/m0_63828250/article/details/137158892
注意这里运行时可能会提示ModuleNotFoundError: No module named ‘patchcore’,但实际上是有的,只是环境路径设置错误,使用export PYTHONPATH=src后再运行即可。
问题解决 No such file or directory: ‘/root/autodl-tmp/SimpleNet-main/data4/bottle/ground_truth/.ipynb_checkpoints’
有三处要加过滤语句,过滤掉 .ipynb_checkpoints 目录
在mvtec.py里加上:
for anomaly in anomaly_types:
anomaly_path = os.path.join(classpath, anomaly)
anomaly_files = sorted(os.listdir(anomaly_path))
# 过滤掉 .ipynb_checkpoints 目录
anomaly_files = [file for file in anomaly_files if file != '.ipynb_checkpoints']