使用启智算力进行人工智能模型训练

前言

本人正在学习人工智能相关的内容。由于是新手,很多东西都是一知半解,想要进行实战遇到了不少的问题,比如环境的搭建,算力的来源。总之,这些东西对于新手来说还是有着一定的门槛。

好在,在朋友的介绍下,知道了启智这样一个平台,它可以提供一整套完整的人工智能学习环境,还提供免费的算力。免去了自己折腾环境等繁琐的步骤,可以将更多的精力放在学习人工智能上!

在此感谢一下启智!也希望大家能够知道这个平台。

平台介绍

启智AI协作平台,简称 启智社区 ,是一个开源在线Web应用,旨在为人工智能算法、模型开发提供在线协同工作环境,它提供了代码托管、数据集管理与共享、免费云端算力资源支持(GPU/NPU)、共享镜像等功能。启智社区是基于Gitea发展而来的,我们对其进行了Fork并基于此扩展了人工智能开发中需要的功能,如数据集管理和模型训练等。对于和代码托管相关的功能,您可以参考Gitea的文档。

平台提供的算力

平台可以提供训练任务的算力资源如下:

集群

卡类型

算力卡

启智集群

GPU

A100

V100

NPU

Ascend 910

智算集群

GPU

A100

V100

NPU

Ascend 910

目前其中启智集群A100资源排队时间较久,若使用GPU训练,可以优先选择V100智算集群的资源

以上数据来源于平台文档。

准备工作

注册启智

首先我们得注册,这样才可以使用平台提供的免费算力

注册请点击:启智社区注册地址

注意:注册成功后,必须激活!通过邮件点击了激活链接成功才算激活成功。

安装Git工具

启智的代码协作平台是fork自Gitea的,因此启智平台的代码管理工具使用git就可以。

因本文章的目的是为了记录并分享使用启智算力进行模型训练的,因此安装GIT以及GIT操作相关的,本文不再赘述,不过可以参考下面大佬的安装使用教程。

参考教程:https://blog.csdn.net/qq_41521682/article/details/122764915

编写代码

创建代码仓库

首先,我们需要将自己的模型训练代码托管到启智。

登录协作平台后,点击右上方的“+”,选择创建项目

输入项目名称等信息,勾选最后一个复选框。然后就可以创建项目了。

创建成功后,可以根据具体情况将代码托管到启智。可以创建一个新的项目,也可以将已有的本地仓库推送到启智。

编写训练代码

我们可以根据自己的实际情况编写代码,不过要注意几个点。因为这个是启智平台提供的算力,他应该是使用了容器化技术,对目录有一点要求,如果我们要使用的自己数据集的话,需要遵循以下的规则:

训练脚本存储在 /code 中,数据集存储在 /dataset 中,预训练模型存放在运行参数 ckpt_url 中,训练输出请存储在 /model 中以供后续下载。

解释一下:我们可以认为启智给我们提供了一台有A100或V100的Linux服务器,那么它的路径就可以按照如下理解:

  • 训练脚本存储在 /code 中,即根目录的code文件夹,这里相当于就是将仓库里面的代码路径结构,放到了/code下

  • 数据集存储在 /dataset 中,即根目录的dataset文件夹,代码上要从这个路径获取数据集,示例如下:

train_loader,valid_loader,test_loader = read_dataset(batch_size=batch_size,pic_path='/dataset/')
  • 训练输出请存储在 /model 中,即根目录的model文件夹,最后训练成功的模型需要下载的话,是默认从这个目录打包下载的。使用其他路径保存是会提示没有权限的。保存示例如下:

torch.save(model.state_dict(), '/model/resnet18_cifar10.pt')

本代码使用CIFAR-10数据集,使用Pytorch训练resnet模型,我的仓库地址是:https://openi.pcl.ac.cn/xiahb/torch_resnet 代码经过本人测试是可以成功训练的。

在本文中,我用的是其他大佬已有的代码,稍作改动。附上原作者代码地址

使用启智算力训练

准备数据集

虽然CIFAR-10数据集可以在代码中自动下载,但是由于国内某些原因,下载速度会比较慢。那么针对这个问题,启智社区提供很多数据集可以使用,社区也欢迎大家提交数据集需求,方便自己的同时也帮助他人。比如此次使用的CIFAR-10,在启智社区中就有提供

由于一些我不知道的原因,目前平台的数据集在使用时显示解压失败,因此我自己下载了CIFAR-10数据集,并上传到了项目中:https://openi.pcl.ac.cn/xiahb/torch_resnet/datasets

数据集目录结构

创建训练任务

在代码仓库界面,点击“云脑”标签页。

这里有四种类型的任务可以创建,本次我们创建训练任务。

创建训练任务我们主要关注参数设置,包括使用的代码分支、使用的容器镜像、训练脚本名、使用的数据集、以及资源规格等信息。

我选择的镜像是公开镜像的第二个,当然也可以上传自己的镜像。

至此,训练任务创建完成。接下来等待训练结果就行了。

查看训练日志

创建任务之后,我们可以在任务列表中,点击任务名称进入任务详细信息,查看任务运行状态和日志输出以及下载训练结果。

结果下载

训练成功完成后,任务状态应为”SUCCEEDED“,我们可以在任务详细信息的结果下载标签页中下载输出结果和日志信息。因为训练过程可能会失败,因此建议在每进行一轮训练后,都进行一个保存备份,这样的话即使由于某些原因失败了,那也还是有个输出结果的。

至此,我们就完成了resnet18的训练了。

文章到此结束,自己记录一下,希望对大家有所帮助!

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
启智 ROS 用户手册是一本为启智机器人的用户提供的操作指南。该手册的目的是助用户了解和掌握如何使用ROS(机器人操作系统)来控制和使用启智机器人。 用户手册以简洁明了的方式介绍了ROS的基本概念和工作原理,以及启智机器人与ROS的衔接方式。手册首先解释了ROS的基本概念,包括节点、话题和服务等,以助用户在理解整个ROS系统的基本结构后进行操作。 手册还介绍了如何安装和配置ROS环境,包括安装ROS核心软件和运行必需的依赖。它提供了一步一步的说明,指导用户正确地配置ROS环境,以确保启智机器人与ROS之间的通信正常运行。 用户手册还说明了启智机器人在ROS中的使用方法。它详细介绍了启智机器人的ROS软件包,包括如何启动机器人节点、控制机器人运动和获取传感器数据等。手册通过示例代码和命令解释了每个功能的使用方式,以助用户快速上手使用启智机器人。 此外,用户手册还提供了一些常见问题和故障排除的解决办法。用户可以在手册中找到对于常见问题的解答,以便更好地解决遇到的问题。 总而言之,启智 ROS 用户手册是一本全面而详细的操作指南,旨在助用户正确地使用ROS控制和操作启智机器人。通过阅读该手册,用户可以了解ROS基本概念、配置ROS环境以及如何使用ROS控制启智机器人,同时也可以学习到如何解决常见问题和故障排除。这本手册对于启智机器人的用户来说是一份宝贵的参考资料,有助于他们更好地利用ROS技术来控制和应用启智机器人。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值