建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块
092947bevjlmiytnwwd8ky.jpg 【乘风破浪赋能学习季】零基础开发网络AI模型,限时免费使用算力!
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

EdVince

发帖: 3粉丝: 0

级别 : 新手上路

发消息 + 关注

发表于2020年07月31日 16:33:39 1577 12
直达本楼层的链接
楼主
显示全部楼层
[大赛专区] 未来杯赛事,跑通NAIE的一个demo

强调:我所提供的代码,建议只参考与naie平台有关,也就是数据的读取和保存部分。

里面有关炼丹的pytorch的代码,不建议参考,不建议用作baseline,这部分的代码质量很低,建议有需要的还是上github找kaggle、天池比赛的top代码来用。

——————————————————————————————————————————————————————————————

最近有点忙,大家有问题不一定更新的上。

这次更新了一下怎么加载预训练模型跟保存模型的参数。

在文章的最后面。


顺便谈一下我对这些数据读取之间的理解:

常用的环境其实只有两个,webide和提交训练的gpu环境,简易编辑器跟webide是同步的,可以忽略。

这两个环境的联系我认为是这样的:webide——桶——gpu环境

他们的数据到需要通过桶来中转,数据集也是在桶中的,桶跟他们两个的数据交换,都要使用mox.file.copy这个函数

webide读数据,要从桶copy

gpu环境要保存训练好的模型,要copy到桶

——————————————————————————————————————————————————————————————

更新了大家常用到的预训练模型。

大家貌似需要使用预训练模型,考虑到下载到本地比较慢,而且找来找去也麻烦,因此我搜集了一些常用的预训练模型上传到了百度网盘给大家下载到本地:

模型有:densenet系列、efficientnet系列、resnet系列、还有一些比较杂的模型

链接:https://pan.baidu.com/s/13Va1WJzBvyUBEzuJoAwscQ 

提取码:6666

——————————————————————————————————————————————————————————————

更新了第七点的代码上传,而数据同步我在努力,迟一点更新

在更新一些解释:

代码需要使用pytorch环境,在webide环境使用的时候,需要自行pip一个pytroch下来,或者使用我的sh脚本,安装,在提交GPU训练的时候,直接选pytorch就行了

——————————————————————————————————————————————————————————————


从前几个月就开始薅NAIE的羊毛了,羊毛党内心越发愧疚,趁着这次未来杯的赛事,给一个小小的demo或者说是baseline,展示一下怎么跑通NAIE,减少大家在研究怎么跑通平台上浪费的时间。

points:

  1. 代码仅为参考,不保证好用

  2. 用的是resnet18,100个epoch,仅为展示,但求跑通

  3. 没有用预训练模型,懒得上传了

  4. 题交到现在的榜上,大约是0.04分吧

  5. 最后面给了代码包,嫌麻烦直接复制粘贴就好了

  6. 代码包的代码,如果要在webide运行,要跑一下那个gen_environment.sh的脚本,因为webide环境没有pytorch,要自己给装上

  7. 写的比较碎,看不看随你

需要两个服务:

  1. 模型训练服务:顾名思义,炼丹用的服务

  2. 数据集服务:用来获取比赛的数据集


正文开始:

1.订阅上述的两个服务,这个手册有,看手册就好了


2.订阅未来杯赛事数据,这个手册也有,看手册就好了


3.进入模型训练服务里面,先创建一个项目

TIM截图20200731155407.png

TIM截图20200731155518.png

注意:这个名字随便起,你喜欢叫啥就叫啥。

点击创建,就能生成一个项目了。


4.导入数据集

        项目的“数据集”下面,点击数据目录,就有弹出来能选的数据了,如果前面没有订阅未来杯的数据,也可以在这里点订阅跳去数据集服务订阅,数据名称,数据别名这些也是你喜欢叫什么就叫什么,总之符合他的命名要求就行了,这里我的数据名称变红了是因为我已经有这个数据,不碍事,继续看。TIM截图20200731155953.png

5.特征工程

        特征工程可做可不做,这里我就没有做,直接跳过


6.模型训练环境配置

        点击模型训练这一栏,再点击创建,创建一个模型训练项目。

        TIM截图20200731160312.png

TIM截图20200731160338.png

创建完之后,会有一个叫做project的项目,然后再点击刚刚“创建”隔壁的开发环境,创建一个webide的开发环境。

TIM截图20200731160705.png

TIM截图20200731160905.png

TIM截图20200731160922.png


7. Ctrl C+V + 代码上传

        原文:这个webide就是一个vscode,没啥好说的,一般编辑代码都在webide里面编辑,因为这个简易编辑器,没法实时调试,而且经常还卡的不要不要的,在webide下的cpu环境把代码跑通了,再切换到简易编辑器用gpu环境跑方便一点。可以在最后面下载我的代码包,在webide里面复制粘贴代码进去,这里就不展示了。

        更新内容:

            代码包中更新了一下,现在只有两个文件gen_environment.sh和project.py,.sh脚本是为了在webide环境下安装pytorch用的,这个其实可传可不传,不影响,最主要的还是project.py这个文件,要么就复制粘贴上去,要么就上传上去,这里介绍一下上传的方法:

TIM截图20200731215540.png

这里最好先把已经打开的project.py的文件关掉,避免上传的跟这个冲突。

    点红圈的“上传”

TIM截图20200731215606.png

注意上传的路径要一致

TIM截图20200731215649.png

这里我直接上传了两个了,.sh脚本是我的个人习惯,对运行没有影响

TIM截图20200731215708.png

TIM截图20200731215748.png

我们的代码就上传成功了



8.模型训练

        这里假设你代码有了,进行GPU环境的训练。

TIM截图20200731161428.png

TIM截图20200731161449.png

TIM截图20200731161523.png


9.查看训练任务

        我给的代码大概要跑6分钟左右

TIM截图20200731161651.png




TIM截图20200731161712.png

TIM截图20200731161733.png



10.提交

        注意:这里能提交,是因为我代码里面已经生成了提交要用的csv文件了,没有生成就别想着提交了。

TIM截图20200731162001.png

TIM截图20200731162014.png

注意:这里的“项目”,“训练”都是跟前面的对的上的,这里的训练任务就是第九步的那个训练任务,结果文件是我代码里面生成好了的csv文件。

        当然,如果你是按照我的步骤走的话,只有一个训练任务,这里的所有内容都会自动填写的,因为你只有一个结果,没得选


11.欢天喜地看成绩

        一顿操作猛如虎哦,一看成绩0.04

        TIM截图20200731162319.png

这里我有个三个是因为我前面还交了几次测试,正常按顺序走下来这里只有一个成绩


后话:

  1. 我的代码最好就参考有关naie的部分,模型部分?图个乐子就好了

  2. webide使用的时候时间长了会被推出,提示你要登录,不要再webide界面登录,不然你正在跑的notebook会被清掉的。webide要登陆的时候,这个页面也会显示要登录,在这个页面做登录,等一会,webide就会自动连上了,notebook也不会被清掉TIM截图20200731160645.png



    3.    最好不要把那些训练用的数据放在跟代码同一个目录下(偷懒其实可以这样做,很方便),这样做的话,很容易变得很卡,而且时不时会有些折磨你心态的事情发生。









——————————————————————————————————————————————————————————————

加载预训练模型与模型保存

——————————————————————————————————————————————————————————————

1.上传模型

TIM截图20200802144907.png

TIM截图20200802145849.png

做完上面两部,数据集里面就有resnet18的预训练模型的


2.在webide里面copy模型

要用预训练模型,两种方法:(1)要用的时候动态mox从数据集加载(2)直接保存到代码目录下

我个人是用的第二种方法,所以我只介绍第二种方法

在webide里面,新建一个.ipynb文件,再新建一个名叫"pretrained_model"的文件夹(这个是用来保存预训练模型的,你不喜欢这样存也可以

然后,5行代码直接暴力copy

TIM截图20200802150448.png

跑一下这个cell的代码,预训练模型就copy过来了

TIM截图20200802150505.png




3.使用预训练模型(resnet18为例)

附件的代码包里面的project.py,修改一下其中model部分代码

TIM截图20200802150948.png


4.保存训练好的模型

同样在project.py中,在最后面加上保存的代码,这里我介绍两种(我个人保存模型习惯用第二种)

第一种是类似保存.csv文件的,这种通用一点

第二种是直接保存的桶里面去,这种方法不通用,例如保存csv文件,就是不行,要用第一种方法

TIM截图20200802153223.png


5.提交到gpu训练

训练跟前面介绍的没什么区别,训练完之后能在日志区看到我们保存的模型的桶地址

TIM截图20200802152038.png


6.从桶copy我们保存的模型

copy第五步的地址,回到webide的notebook里面,新建一个叫做"trained_model"的文件夹,用来保存训练好的模型,同样暴力copy model,两个都没有问题。

TIM截图20200802153841.png


TIM截图20200802152247.png







OceanSpecies-1.0.0.zip 2.03 KB,下载次数:59

举报
分享

分享文章到朋友圈

分享文章到微博

后希旭

发帖: 15粉丝: 10

级别 : 注册会员

发消息 + 关注

发表于2020年07月31日 16:46:08
直达本楼层的链接
沙发
显示全部楼层

蓐的一手好羊毛

点赞1 评论 引用 举报

iMaster-NAIE

发帖: 79粉丝: 29

级别 : 版主

发消息 + 关注

发表于2020年07月31日 16:49:12
直达本楼层的链接
板凳
显示全部楼层

我们欢迎你尽情来薅NAIE的羊毛你这波分享简直是比赛选手的福利

点赞 评论 引用 举报

iMaster-NAIE

发帖: 79粉丝: 29

级别 : 版主

发消息 + 关注

发表于2020年07月31日 17:01:52
直达本楼层的链接
地板
显示全部楼层

感谢这位朋友的热情分享,NAIE将奖励精美礼品给你,记得联系小爱哦~

点赞 评论 引用 举报

lzf

发帖: 0粉丝: 0

级别 : 新手上路

发消息 + 关注

发表于2020年07月31日 17:11:24
直达本楼层的链接
5#
显示全部楼层

感谢感谢

点赞 评论 引用 举报

后希旭

发帖: 15粉丝: 10

级别 : 注册会员

发消息 + 关注

发表于2020年07月31日 18:57:59
直达本楼层的链接
6#
显示全部楼层

数据集那边可以使用数据同步的功能,这样代码里面的数据名字都不需要改了。

可以使用导入功能导入你的样例代码。

评论
后希旭 2020-7-31 19:13 评论

metadata.json不要放在代码里

... 查看全部
点赞 评论 引用 举报

FW

发帖: 0粉丝: 0

级别 : 新手上路

发消息 + 关注

发表于2020年07月31日 21:01:49
直达本楼层的链接
7#
显示全部楼层

好像没有看到代码包欸??不过还是谢谢大哥

评论
后希旭 2020-8-3 09:10 评论

在帖子下方的附件里面

... 查看全部
点赞 评论 引用 举报

never_stop_train

发帖: 0粉丝: 0

级别 : 新手上路

发消息 + 关注

发表于2020年08月01日 10:10:39
直达本楼层的链接
8#
显示全部楼层

我也想写个帖子,主要想表明NAIE和在云服务器上跑训练的区别,用惯了云服务器,说明指导上的本地看得我一愣一愣的,还有环境配置什么的

评论
EdVince 2020-8-1 10:12 评论

其实最主要问题就是数据集、webide、GPU环境,这三个环境之间的数据读取问题,其他的我感觉也没啥区别。

... 查看全部
后希旭 2020-8-3 09:12 评论

评论 EdVince:我写的新手入门NAIE训练平台的第一个问题就是说这个事情,https://zhuanlan.zhihu.com/p/147354444

... 查看全部
点赞 评论 引用 举报

never_stop_train

发帖: 0粉丝: 0

级别 : 新手上路

发消息 + 关注

发表于2020年08月01日 11:02:01
直达本楼层的链接
9#
显示全部楼层

还有就是,在训练过程中,好像不能联网导入如ResNet 这样的预训练模型,一直报错 链接超时,请问如何处理。

评论
EdVince 2020-8-1 13:02 评论

一般导入预训练模型,要么就是从pytorch官网上下的,要么就是github上下的,webide访问这两个的网络都很差,训练的时候估计也是这样。只能本地下好传上去用了。

... 查看全部
never_stop_train 2020-8-1 14:04 评论

谢谢

... 查看全部
点赞 评论 引用 举报

117瓶果粒橙

发帖: 0粉丝: 0

级别 : 新手上路

发消息 + 关注

发表于2020年08月10日 18:58:09
直达本楼层的链接
10#
显示全部楼层

你好,想问下,用的博主给的代码,为什么没有用GPU训练呢

评论
117瓶果粒橙 前天 20:47 评论

确实是按照流程走的。 我看知乎说创建webIDE不支持GPU,所以应该怎么提交训练呢?

... 查看全部
117瓶果粒橙 前天 21:48 评论

换成简易编辑器也不行,这可咋整啊?

... 查看全部
后希旭 昨天 09:17 评论

提交训练的时候可以选规格啊

... 查看全部
点赞 评论 引用 举报

117瓶果粒橙

发帖: 0粉丝: 0

级别 : 新手上路

发消息 + 关注

发表于2020年08月10日 21:51:58
直达本楼层的链接
11#
显示全部楼层

运行的设备是cpu1.png

确实切换到了简易编辑器

2.png

所以是哪里出了问题吗?

评论
EdVince 昨天 09:05 评论

你是选的V100吗

... 查看全部
117瓶果粒橙 昨天 09:42 评论

评论 EdVince:啊,选的不是64G的v100。选的是8G的? 我看每次v100都要waiting很长时间,所以问题是在这里吗?233333

... 查看全部
117瓶果粒橙 昨天 09:50 评论

好像确实是的啊哈哈哈哈。 有点欲哭无泪的感觉,想当然了想当然了23333

... 查看全部
点赞 评论 引用 举报

游客

富文本
Markdown
您需要登录后才可以回帖 登录 | 立即注册