[PVT]运行记录

仅作为记录,大佬请跳过。

文章目录

  • 关于测试自己的数据

Pyramid Vision Transformer

github位置

(根据这个视频发现的PVT方法)


调试做法

完全按照github中README.md里的做法即可:

1、博主在原有的root环境(未建立虚拟环境),仅将github中的classification放在PVT的根目录[PVT项目包括分类、识别和分割,这里只使用分类]

[PVT]运行记录_第1张图片

2、在classification目录,新建imagenet文件夹;

[PVT]运行记录_第2张图片

3、然后使用软连接ln -s,将服务器上的分类数据(按这个github项目的数据结构组成的),软连接到imagenet文件夹;

所要求的数据结构:

[PVT]运行记录_第3张图片
博主软连接代码:

ln -s /Data4T/unet/train /Data4T/unet/PVT/classification/imagenet
ln -s /Data4T/unet/val /Data4T/unet/PVT/classification/imagenet

软连接后:

[PVT]运行记录_第4张图片

4、发现木有timm包,直接在任何路径下pip

pip install timm==0.3.2

[PVT]运行记录_第5张图片

5、然后使用命令:

bash dist_train.sh configs/pvt/pvt_small.py 1 --data-path /Data4T/hufei/unet/PVT/classification/imagenet

即可运行。

注:bash

[PVT]运行记录_第6张图片


然后发现总是CUDA out of memory,(要么是CUDA已经占用了,要么是程序里的batch_size设置过大)

经过查看(运行命令中提到的pvt_small.py和dist_train.sh),发现主要的代码是在main.py里面,更改para里面的batch_size,将128改成32,即可运行。

[PVT]运行记录_第7张图片

展示:
[PVT]运行记录_第8张图片
[PVT]运行记录_第9张图片

关于测试自己的数据

不仅仅是上述-将文件夹里换上图像数据:

[PVT]运行记录_第10张图片
而且要更改程序中,寻train_datasettest_dataset位置:

首先在main.py文件夹里(通过查看dist_train.sh,得知main.py是主程序)

[PVT]运行记录_第11张图片


在main.py文件里,

[PVT]运行记录_第12张图片
[PVT]运行记录_第13张图片

找到train_datatest_data的引用,是build_dataset函数;然后在main.py的import中,找到是datasets.py里面

[PVT]运行记录_第14张图片


在datasets.py,发现训练测试数据的路径位置

[PVT]运行记录_第15张图片
将main.py的paser部分中的–data-set设置成IMNET,即可使用自定义数据集

[PVT]运行记录_第16张图片[PVT]运行记录_第17张图片


[PVT]运行记录_第18张图片
[PVT]运行记录_第19张图片
[PVT]运行记录_第20张图片

你可能感兴趣的:(debug,python,linux)