当前位置: 首页 > news >正文

Patchcore运行过程

论文github地址:https://github.com/amazon-science/patchcore-inspection

平台:autodl云服务器

1.将下载的代码上传到autodl-tmp/PatchCore里面解压,将数据集上传path_to_mvtec_folder/mvtec里,目录结构如图

2.安装依赖

cd autodl-tmp/PatchCore/patchcore-inspection-main
pip install -e 
pip install -r requirements.txt
pip install timm

3. 训练

(1)修改sample_training.sh 的数据集路径,将路径替换为数据集所在路径

datapath=patch_to_mvtec_folder/mvtec

判断数据集路径是否定位准确,如果定位准确,显示如下

ls path_to_mvtec_folder/mvtec

(2)运行代码

env PYTHONPATH=src 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 "${dataset_flags[@]}" mvtec $datapath

相较于github上的命令行,去掉了原来的参数--faiss_on_gpu,因为用的是faiss-cpu ,去掉参数--log_online

(3)运行过程中报错

ModuleNotFoundError: No module named ‘patchcore’

解决方法:

export PYTHONPATH=src

在运行python命令前加上这句,用于设置环境变量,PYTHONPATH的值为src,PYTHONPATH是一个环境变量,类似系统的PATH环境变量,它告诉 Python 解释器在运行时要额外搜索哪些目录来查找模块和包。通过设置 PYTHONPATH,告诉 Python 在运行时要额外搜索src目录

module ‘faiss‘ has no attribute ‘GpuIndexFlatL2’

解决方法:我这里是直接去掉了原来的参数--faiss_on_gpu,用的是faiss-cpu,https://valoray.github.io/2024/06/15/PatchCore%E4%BB%A3%E7%A0%81%E5%A4%8D%E7%8E%B0/这篇博客说用faiss-gpu在推理阶段会报错且训练精度会下降,所以直接用的faiss-cpu

另外关于这个错误的解决方法详见下面这个解决方法(我没试,我用cpu跑的):

在使用faiss时,报以下错误:module ‘faiss‘ has no attribute ‘GpuIndexFlatL2‘,已经成功解决_attributeerror: module 'faiss' has no attribute 'g-CSDN博客

http://www.lryc.cn/news/466296.html

相关文章:

  • 一小时快速入门Android GPU Inspector
  • 二叉树展开为链表
  • 基于SpringBoot+Vue+uniapp微信小程序的教学质量评价系统的详细设计和实现
  • 【二刷hot100】day 4
  • 10.22学习
  • 【不要离开你的舒适圈】:猛兽才希望你落单,亲人总让你回家,4个维度全面构建舒适圈矩阵
  • OpenIPC开源FPV之Channel配置
  • UG NX12.0建模入门笔记:1.0 UG NX12.0安装教程
  • 【C++】踏上C++学习之旅(三):“我“ 与 “引用“ 的浪漫邂逅
  • 中间件之Seata
  • MySQL 异常: “Host ‘xxx‘ is not allowed to connect to this MySQL server“
  • c语言中字符串函数strlen,strcmp,strcpy,srtcat,strncpy,strncat,strncmp
  • 携程线下一面,面试内容:
  • DeepL翻译:全世界最准确的翻译
  • 15分钟学Go 实战项目一:命令行工具
  • lesson02 作业
  • 港大和字节提出长视频生成模型Loong,可生成具有一致外观、大运动动态和自然场景过渡的分钟级长视频。
  • RabbitMQ进阶_可靠性
  • JavaScript字符串的常用方法有哪些?
  • jmeter发送post请求
  • 图文深入理解Oracle Total Recall
  • 腾讯云控制台URL刷新URL预热 使用接口刷新
  • 构建后端为etcd的CoreDNS的容器集群(二)、下载最新的etcd容器镜像
  • libaom-all-intra参数说明
  • 应用假死?
  • SAP MM+FI - 物料管理模块与财务会计模块的集成配置
  • 初阶数据结构【3】--单链表(比顺序表还好的一种数据结构!!!)
  • mysql迁移到达梦的修改点
  • Go小技巧易错点100例(十八)
  • 【python】极简教程8-字符串