修改数据集路径
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,所以需要补充复制过来的代码.