工业异常检测AnomalyGPT复现

为上一版作补充,链接如下:

demo部分:

工业异常检测AnomalyGPT-Demo试跑-CSDN博客

train部分:

工业异常检测AnomalyGPT-训练试跑及问题解决_valueerror: no slot '1' specified on host 'localho-CSDN博客

官方论文:AnomalyGPT: Detecting Industrial Anomalies Using Large Vision-Language Models

官方代码:GitHub - CASIA-IVA-Lab/AnomalyGPT: [AAAI 2024 Oral] AnomalyGPT: Detecting Industrial Anomalies Using Large Vision-Language Models

1.环境

git clone https://github.com/CASIA-IVA-Lab/AnomalyGPT.git
conda create -n ano python=3.8
conda activate ano
进入 AnomalyGPT-main/
pip install -r requirement.txt

2.数据集权重

数据集和权重按官网下载即可

另vicuna的权重是由llama和vicuna的delta权重合并而来,详细过程看官网

3.演示

需要指定路径,在web_demo.py中

进入code路径下

python web_demo.py

4.训练

方式1:提前修改train_mvtec.py文件

如果有四张卡
deepspeed --include localhost:0,1,2,3 --master_port 28400 train_mvtec.py
如果只有一张卡 (以此类推
deepspeed --include localhost:0 --master_port 28400 train_mvtec.py

当你修改卡的数量后,还要修改code/dsconfig路径下

openllama_peft_stage_1.json文件中的batchsize(默认为8)

满足 train_batch_size = train_micro_batch_size_per_gpu * gradient_accumulation_steps

方式2:编辑code/scripts/train_mvtec.sh

同方式1修改路径

在code/scripts路径下
bash train_mvtec.sh

运行截图

问题部分!!

1.运行web_demo的问题:

(1)ImportError: libGL.so.1: cannot open shared object file: No such file or dir...

pip install opencv-python-headless

(2)requests.exceptions.ReadTimeout: HTTPConnectionPool(host='xx.xx.xx.xx', port=xxxx): Read timed out. (read timeout=3)

export no_proxy="localhost,127.0.0.1,::1"

 (3)如果本机无法打开127.0.0.1可以使用gradio包,会生成一个72h有效的网站

登录账号username ,密码password,可自行修改

需要在web_demo.py加入

demo.launch(share=True, auth=("username", "password"))

2.运行train_mvtc的问题:

(1)AssertionError: CUDA_HOME does not exist, unable to compile CUDA op(s)

conda install -c nvidia cuda-compiler

(2) ModuleNotFoundError: No module named 'skimage'

 pip install scikit-image

(3)ubprocess.CalledProcessError: Command '['which', 'c++']' returned non-zero exit status 1. 

sudo apt-get install make gcc g++  
sudo apt-get install manpages-dev
g++ --version

(4)NameError: name 'LlamaTokenizer' is not defined

在AnomalyGPT/code/model/openllama.py中加

from transformers import LlamaTokenizer

(5)loraconfig找不到

在AnomalyGPT/code/model/openllama.py中加

from peft import LoraConfig, TaskType, get_peft_model

(6)TypeError: 'NoneType' object is not subscriptable

一般前面还会有Caught TypeError in DataLoader worker process 6

我更换了image数据集和pandagpt4_visual_instruction_data.json以及mvtec数据集

目前就是遇到了这些错误,感谢@独鹿的文章。

  • 24
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值