Multimodal Industrial Anomaly Detection by Crossmodal Reverse Distillation (CRD)在3080上运行(需改小batch)

在这里插入图片描述

修改数据集路径

python train_Eyecandies.py

大概是因为预处理和M3DM不同,找不到数据,先预处理才行

Traceback (most recent call last):
File “/home/code_project/zgp/CRD_liu_ar/CRD-main/utils/preprocess_eyecandies.py”, line 3, in
import cv2
ModuleNotFoundError: No module named ‘cv2’
必须指定python3.8才行改为
nohup stdbuf -oL -eL python3.8 /home/code_project/zgp/CRD_liu_ar/CRD-main/utils/preprocess_eyecandies.py > pre38eye.txt 2>&1 &
本文的预处理目录结构是
在这里插入图片描述

之前M3DM的预处理目录结构是

在这里插入图片描述

路径最后面的斜线千万别丢了,此处代码后面还要加类名构成下一级目录:

data_root = ‘/home/code_project/zgp/Eyedataset/Eyecandies_CRD_preprocessed/’
可以了,但是3080的显存不够用
在这里插入图片描述
在这里插入图片描述

缩小batch_size = 8

(原论文batch_size = 16
新的报错
ssh://zgp@211.71.76.246:22/home/hanmh/anaconda3/envs/zgp_m3dm/bin/python3.8 -u /home/code_project/zgp/CRD_liu_ar/CRD-main/train_Eyecandies.py
-----------------------training on CandyCane[1 / 10]-----------------------
Traceback (most recent call last):
File “/home/code_project/zgp/CRD_liu_ar/CRD-main/train_Eyecandies.py”, line 283, in
train(device, classname, data_root, log, epochs_i, learning_rate, batch_size, img_size, ckp)
File “/home/code_project/zgp/CRD_liu_ar/CRD-main/train_Eyecandies.py”, line 122, in train
train_one_epoch(teacher_rgb, teacher_depth, student_rgb, student_depth, train_dataloader, optimizer_rgb, optimizer_depth, device, log, epoch)
File “/home/code_project/zgp/CRD_liu_ar/CRD-main/train_Eyecandies.py”, line 40, in train_one_epoch
proj_d, proj_d_amply, output_Sr, output_Sr_am = student_rgb(output_Tr_detach, output_Td_detach)
File “/home/hanmh/anaconda3/envs/zgp_m3dm/lib/python3.8/site-packages/torch/nn/modules/module.py”, line 1102, in _call_impl
return forward_call(*input, **kwargs)
File “/home/code_project/zgp/CRD_liu_ar/CRD-main/models/decoders.py”, line 41, in forward
x_amply, x = self.decoder.forward_fuse(x_bn, proj_amply)
File “/home/code_project/zgp/CRD_liu_ar/CRD-main/models/de_resnet.py”, line 494, in forward_fuse
feature_c_0 = self.layer3(feature_b)
File “/home/hanmh/anaconda3/envs/zgp_m3dm/lib/python3.8/site-packages/torch/nn/modules/module.py”, line 1102, in _call_impl
return forward_call(*input, **kwargs)
File “/home/hanmh/anaconda3/envs/zgp_m3dm/lib/python3.8/site-packages/torch/nn/modules/container.py”, line 141, in forward
input = module(input)
File “/home/hanmh/anaconda3/envs/zgp_m3dm/lib/python3.8/site-packages/torch/nn/modules/module.py”, line 1102, in _call_impl
return forward_call(*input, **kwargs)
File “/home/code_project/zgp/CRD_liu_ar/CRD-main/models/de_resnet.py”, line 147, in forward
out = self.conv3(out)
File “/home/hanmh/anaconda3/envs/zgp_m3dm/lib/python3.8/site-packages/torch/nn/modules/module.py”, line 1102, in _call_impl
return forward_call(*input, **kwargs)
File “/home/hanmh/anaconda3/envs/zgp_m3dm/lib/python3.8/site-packages/torch/nn/modules/conv.py”, line 446, in forward
return self._conv_forward(input, self.weight, self.bias)
File “/home/hanmh/anaconda3/envs/zgp_m3dm/lib/python3.8/site-packages/torch/nn/modules/conv.py”, line 442, in _conv_forward
return F.conv2d(input, weight, bias, self.stride,
RuntimeError: Unable to find a valid cuDNN algorithm to run convolution

继续改小为batch_size = 1

刚好够用,可以了
在这里插入图片描述
在这里插入图片描述

训练完还有报错

epoch 97, loss_rgb: 0.2251601709, loss_depth: 0.0997876752
epoch 98, loss_rgb: 0.2250656316, loss_depth: 0.0997520798
epoch 99, loss_rgb: 0.2249631949, loss_depth: 0.0997140518
epoch 100, loss_rgb: 0.2248745372, loss_depth: 0.0996831759
[0.04882031833527401, 0.049528286798212195, 0.025916558898161416, 0.013695268675328913]
Traceback (most recent call last):
File “/home/code_project/zgp/CRD_liu_ar/CRD-main/train_Eyecandies.py”, line 283, in
train(device, classname, data_root, log, epochs_i, learning_rate, batch_size, img_size, ckp)
File “/home/code_project/zgp/CRD_liu_ar/CRD-main/train_Eyecandies.py”, line 131, in train
test(teacher_rgb, teacher_depth, student_rgb, student_depth, test_dataloader, device, log, epochs-1, classname, data_root, ckp_path, params)
File “/home/code_project/zgp/CRD_liu_ar/CRD-main/train_Eyecandies.py”, line 154, in test
for i, data in enumerate(test_dataloader, 0):
File “/home/hanmh/anaconda3/envs/zgp_m3dm/lib/python3.8/site-packages/torch/utils/data/dataloader.py”, line 521, in next
data = self._next_data()
File “/home/hanmh/anaconda3/envs/zgp_m3dm/lib/python3.8/site-packages/torch/utils/data/dataloader.py”, line 561, in _next_data
data = self._dataset_fetcher.fetch(index) # may raise StopIteration
File “/home/hanmh/anaconda3/envs/zgp_m3dm/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py”, line 49, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File “/home/hanmh/anaconda3/envs/zgp_m3dm/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py”, line 49, in
data = [self.dataset[idx] for idx in possibly_batched_index]
File “/home/code_project/zgp/CRD_liu_ar/CRD-main/dataset/eyecandies.py”, line 32, in getitem
gt = Image.open(gt).convert(‘L’)
File “/home/hanmh/anaconda3/envs/zgp_m3dm/lib/python3.8/site-packages/PIL/Image.py”, line 3431, in open
fp = builtins.open(filename, “rb”)
FileNotFoundError: [Errno 2] No such file or directory: ‘/home/code_project/zgp/Eyedataset/Eyecandies_CRD_preprocessed/CandyCane/test/bad/gt/036.png’
这个文件夹都是空的,预处理的时候没有处理这部分的gt,所以需要补充复制过来的代码.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值