TransUNet复现实验bug解决:汽车部件分割任务

复现一下TransUNet的实验,数据集是汽车部件,记录一下bug
https://blog.csdn.net/qq_37652891/article/details/123465472?spm=1001.2014.3001.5506

1.转化数据集,将images中的图像和labels中的标签生成一个.npz文件需要安装cv2库
先在控制台中更新pip,使用清华源非常快,否则速度很慢会报错安装失败。
若不更新直接安装可能会报错,不知道为什么
在这里插入图片描述

python -m pip install --upgrade pip  -i https://pypi.tuna.tsinghua.edu.cn/simple

然后再安装opencv-python就可以了

pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple` 

2.转化数据集的.py文件报错,需要在代码最后加上即可

if __name__ == '__main__':
npz()

3.自己写一个函数读取train_npz中所有的文件名称,然后将文件名称写入train.txt文件

import os
from fnmatch import fnmatch

# 修改成自己的路径
baseName = r"D:/APERSONAL/TransUNet-main/TransUNet-main/data/Synapse/train_npz"
print(baseName, '--------')
txtdata = open('D:/APERSONAL/TransUNet-main/TransUNet-main/lists/lists_Synapse/train.txt', 'w')
print(txtdata, '--------')

for root, dirs, files in os.walk(baseName):
    for file in files:
        if fnmatch(file, "*npz"):
            name = file.split('.')[0]
            print(name, '--------')
            txtdata.write(name + "\n")
os.path.join(baseName)

4.No such file or directory: '…/model/vit_checkpoint/imagenet21k/R50+ViT-B_16
解决方法:把vit_seg_configs.py中的…\model\vit_checkpoint\imagenet21k\R50+ViT-B_16.npz改成绝对路径。源码的训练权重包名可能不太一样,我们这里也要修改成R50+ViT-B_16。(源码好像是没有写R50+这几个字,test.py里还要改一下)
但我这边还是报了错,指向的是train.py的net.load_from(weights=np.load(config_vit.pretrained_path)这行,看来还是预训练权重的问题。。

5.最终方法,直接注释掉#net.load_from(weights=np.load(config_vit.pretrained_path))#,不使用作者提供的预训练权重,但效果可能会比较差。
在这里插入图片描述
先设置了max_epoch=1,batch_size=2试一试,运行train.py,可以运行(能跑就行,哈哈哈)

6.把测试集也做了,跟着改代码,这里一路畅通没有报错。
https://blog.csdn.net/qq_37652891/article/details/123470578?spm=1001.2014.3001.5506

效果看来一言难尽哈哈哈哈:
在这里插入图片描述但总算是大致完成了,后续再尝试换更好的设备训练、调参吧

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值