1.数据集转换:pre_grey_rgb.py,将rgb图像与标签转换为npy格式。
2.模型训练:是对转换后的npy格式的数据集进行训练。训练完成后得到的模型权重文件.pth不能直接用于推理,需要利用ckpy_convert.py将模型训练出来的权重文件转换为参数对应的另一份.pth文件。
3.模型推理:MedSAM_Inference.py以及gui.py只能对单张图像进行推理且无法快速保存分割后的结果,从而无法用于模型测试。
4.模型测试:先使用inference.py对测试集的图像进行操作,得到训练出来的模型预测后的分割结果。如果是对单张进行操作,那么将recursive设置为False,如果是遍历一个文件夹下所有图像,将其设置为True。然后再用metrices.py脚本将分割结果与人工标注真值图像传入,得到测试集的评价指标计算。
5.训练过程可视化:利用wandb来实现,注意要在train_one_gpu,py脚本中设置wandb为true。在wandb网站上创建新项目获得api key。在终端中输入wandb login,然后粘贴api key,注意粘贴后是不会显示出来的,直接回车就好。
6.autodl使用:
- source activate激活conda命令
- 库安装:pip install -e . ,pip install wandb
- 压缩包解压:apt-get update && apt-get install -y fastjar,然后jar xvf xxx.zip
- 数据盘垃圾清理:cd到tmp中,du -sh .[!.]* * | sort -hr列出当前路径下的文件大小, rm -rf .Trash-0,清除trash-0这个文件夹,存放的是tmp数据盘中删除掉的垃圾文件,占地很大。系统盘清理的话直接重置就好,环境再重新安装。
- 数据上传与下载:利用这个实例的公网网盘与阿里云盘链接,通过阿里云盘将电脑本地文件或压缩包上传,然后再在公网网盘将阿里云盘上的资源下载到tmp中。数据下载的话就可以先将tmp中的文件传到公网网盘,从而在阿里云盘中实现保存。但是不能够直接从阿里云盘下载到本地,因为有网页端的限制。所以直接从autodl的tmp文件中进行下载,速度会比较慢。
- Pycharm远程连接:此问题通过看autodl官方帮助文档解决。在从本地上传文件到服务器时,注意在初步创建SSH连接,选择服务器文件映射地址时,点进右侧的文件夹小图标进去,手动对路径进行修改,一定是:/root/autodl-tmp/project_name/。这个root很关键,个人猜测是因为在连接主机时,用户名输入的root,也可能是因为autodl给出的登陆指令中有root。否则在pycharm进行本地文件的部署上传时,本地会显示成功上传,但是在autodl网页并不会显示。注意:只能用才此方法上传代码等并实现代码更新,大批量数据集需要通过网盘方式上传。
PS:文中提到的部分脚本仅用于个人项目。