关于AutoDL的使用心得

关于AutoDL的使用心得


官方地址:https://www.autodl.com/

此处分享两种不同方式对AutoDL的使用方法,本人是Pycharm党,所以两篇内容都是与Pycharm下代码如何部署在服务器上有关

AutoDL 是什么

AutoDL平台通过自动搜索最佳模型架构、超参数调优、数据处理等关键步骤,帮助用户更高效地进行机器学习和深度学习任务。无论是初学者还是资深研究者,都能轻松使用,极大降低了深度学习应用的门槛‌

个人之所以使用AutoDL,其实很大原因是的GPU服务器市场租赁,真的贵。对于AI学习的人而言,如果你需要长时间不间断炼丹还好,要是只是间歇性炼丹,闲暇时间段的GPU算力浪费又是一个问题。最早的时候使用过阿里云的GPU云服务器,性能好是好,就是很多内容似乎对那时刚入门的我来说,简直就是天书。这就让我开始,不得不思考,为什么就没有一款产品可以弹性租赁,且价格公道。我承认第一款产品并不是接触的AutoDL,而是一款叫做极客云的产品,但是被坑惨了,所以国内GPU租赁这一块,我是很推荐AutoDL,特别是很多学校的算力资源非常匮乏,很多学生又需要动手学习训练,但家庭条件有比较局限。目前租赁服务器我就花了二十多元,但是从CNN系列,RCNN系列,FCN系列,Two-Stage系列,One-Stage系列,基本跑了个遍,令人学习情绪非常高涨。

还有一点,就是AutoDL 上手非常简洁,租算力之后就可以开始使用了,简直不要太安逸。此时正逢AutoDL做活动,就此博客做一个使用的总结。

个人定义项目部署

此处的Unet 项目是我个人定义并编写的部分代码,数据集的话需要个人去定义

流程与步骤:

1. 数据集预处理

这个板块,有个经验一定要说的话,就是上传服务器一定要把自己的数据先打包成pt或者pth等数据格式文件。

你试试向服务器上传个十几万张图像,让你见不到希望的那种等待。(很大程度真的会影响上传效率),此处这样操作的话,我们可以利用Dataset可以很方便取数据。

class CustomDataset(Dataset):
    def __init__(self, data):
        super().__init__()
        self.data = data

    def __getitem__(self, index):
        return self.data[index]

    def __len__(self):
        return len(self.data)


total_dataset = CustomDataset(torch.load("./data/seg/seg_images.pth", weights_only=False))
train_dataset = total_dataset[:800]
valid_dataset = total_dataset[800:]
total_labels = CustomDataset(torch.load("./data/seg/seg_labels.pth", weights_only=False))
train_labels = total_labels[:800]
valid_labels = total_labels[800:]
2. 代码部署

autoDL 平台并不是什么都给你弄好了,上传的代码里面,如果没有你需要的库,你可能需要自己进行安装

其次就是,py文件的部分代码可能在jupyter中失效,这个得大家自己去摸索总结。

然后就是根目录不要放数据,这个很重要 ,数据在根目录可能会遇到文件找不到的错误

3. 训练

极限压榨算力,算是基本思想了,不管代码有没有优化,跑结果是第一任务,其次才是优化性能

所以我非常建议大家使用GPU占用库,实时检查结果中GPU的占有量,且不断试出极限值。

import pynvml

pynvml.nvmlInit()
handle = pynvml.nvmlDeviceGetHandleByIndex(0)

# 此处为GPU检测
meminfo = pynvml.nvmlDeviceGetMemoryInfo(handle)
print(f'GPU in use {(meminfo.used / 1024 ** 3):.4f}/{meminfo.total / 1024 ** 3} G')
4. 结果

关于保存的模型文件,如果大家设置为best.pth 这种格式,那么如果此时你直接下载,会有文件被重写的可能,因此你需要设置分步保存的方式。否则你的模型就一直下载不下来。

5.省钱小密招

尽量写好代码再去跑,不然浪费时间,然后autoDL平台中,也没有丰富的代码提示功能。

6.尽量多看官方文档说明

这一点很重要

git项目部署

与上述项目不同之处,在于直接git clone的项目,不需要在乎代码如何设置,只要保证环境数据集ok就行。

此处需要大家有一定的Linux的使用常识,数量指令集的执行方式。

比如YOLOv5这种项目,我们可以使用AutoDL中带的Terminal工具进行git clone, 之后

pip install -r requirements.txt

安装好所需要的环境

比如YOLOv5这种项目,我们可以使用AutoDL中带的Terminal工具进行git clone, 之后

pip install -r requirements.txt

安装好所需要的环境

准备好需要的数据集(参照 Utralytics官网做就好了)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值