使用华为云跑自己的深度学习模型教程

文章目录

    • 使用华为云跑自己的深度学习模型教程
  • 前言
  • 一、创建访问密钥?
  • 二、创建数据集OBS桶
    • (一)什么是OBS桶
    • (二)创建OBS桶
  • 三、上传数据到OBS桶
    • (一)数据量小于5G
    • (二)数据量大于5G
      • 1、安装obsutil
      • 2、配置obsutil
      • 3、上传数据
  • 四、在ModelArts上使用自己的代码和数据集训练学习
  • 五、notebook需要注意的问题
    • (一)kernel问题
    • (二)路径问题
      • 1. 问题描述:
      • 2. 问题原因
      • 3. 解决方法
  • 总结

前言

2020年11月,华为技术有限公司组织技术专家对申报2020年第一批华为有限公司教育部产学合作协同育人项目进行评审,最终通过了我们专业特色班的申请,所以我们特色班的学生就拥有免费使用华为云的福利!
对我们学生来说,华为云最大的作用就是跑深度学习模型了。特别是对实验室算力不充裕的同学来说,简直是个天大的好消息!但是网上对华为云的具体使用教程很少很杂,所以就记录一下自己使用华为云从零到跑通深度学习模型的全流程。


一、创建访问密钥?

  1. 首先进入华为云官网:华为云官网

  2. 点击页面右上角的 登录(这里默认都有华为云账号并且都已经开通云服务)

  3. 鼠标选择页面右上角 控制台 (我们需要的服务都在控制台里)

  4. 鼠标移到页面右上角的 账号,选择显示出来的 我的凭证

  5. 选择页面左侧的 访问密钥,点击 新增访问密钥

  6. 选择发送验证码,并且在描述里面添加上传的数据的相关描述,便于以后的寻找(像我这里上传的是kaggle比赛的数据集,就这样描述就行)。

  7. 填完之后它就会弹出让你下载一个.csv文件,一定要下载!下载完之后打开,里面的AK和SK就是我们要的密钥。

二、创建数据集OBS桶

(一)什么是OBS桶

简单来讲,就是 存放数据集的地方,类似于我们电脑的一个磁盘。

计费标准:以标准存储(单AZ)单价为0.099元/GB/月,整点结算时单AZ桶中有400GB标准存储对象,则一个月产生的标准存储(单AZ)的存储费用为:0.0990元/GB/月 * 400GB ≈ 40元

而华为给我们的代金卷是 500元(可用于ModelArts、对象存储服务),所以经费还是比较充足的。而且跑完数据后可以及时删除桶,这样计费就会停止了。

还有,这个代金卷在我们使用类似OBS桶等的按需产品时会自动扣除相关费用,不用自己去点击使用支付。还有,这个代金卷只能用于支付账单而不能用于充值(否则你就可以提现了!)。

这里涉及一个单AZ和多AZ的概念。简单来说,就是是否选择在其它地区的服务器备份你的数据,防止你所选择的区域的服务器坏了(概率微乎其微)导致数据丢失。对于我们学生来说,不需要备份数据,选择单AZ就行了。

(二)创建OBS桶

  1. 回到 控制台 页面,鼠标移到页面左上角 三根横线(服务列表) 的位置,然后在搜索框中搜索 OBS ,然后点击下面的 对象存储服务OBS
  2. 点击 创建桶
  3. 填写桶信息。需要注意的是区域选择离自己最近的服务器(我在深圳所以选的广州),然后其它默认就行了。填完以后选择右下角的 立即创建
  4. 创建完成后,点击 桶名称 进入桶。
  5. 进入桶之后,点击页面左侧的 对象,之后点击 创建文件夹,就可以得到一个新的文件夹用以存放我们的数据。

三、上传数据到OBS桶

(一)数据量小于5G

直接 对象 -> 上传对象 -> 拖拽文件进去 -> 上传就行

(二)数据量大于5G

因为我的数据大小是在350G左右,然后存放在linux服务器上,所以上传的话只能选择 obsutil 而不是OBS Browser+,因为 OBS Browser+不支持linux操作系统。(本来想的从kaggle网站直接导出数据集上传到OBS桶,但是没找到具体的方法,所以只能先从kaggle下载数据集到本地,再从本地上传到OBS桶。如果有人知道方法的话欢迎告诉我或者在评论区评论!)

1、安装obsutil

  1. 回到对象存储服务界面,点击页面中间的obsutil框内的 下载
  2. 选择 业务工具 里面的 工具下载
  3. 根据下载和安装obsutil界面的linux安装命令教程,将四条指令依次执行即可。

2、配置obsutil

  1. config配置文件:
    在解压文件目录下执行命令:
    ./obsutil config -i=ak -k=sk -e=endpoint

    其中:ak 换成我们一开始创建OBS桶时下载的.csv文件里的 Access Key Id,sk 换成 Secret Access Key,endpoint 在我们创建的OBS桶的基本信息里,点击我们的OBS桶进去就能看到。

    配置成功的话都会显示:Update config file successfully!

  2. 检查连通性:./obsutil ls -s
    出现obs 和 Bucker number 就意味着配置成功了。

3、上传数据

将要上传的数据放在一个文件夹下,然后使用命令:
./obsutil cp /data/train_data obs://桶名 -f -r
递归上传文件夹/data/train_data下面的所有数据到OBS桶内。接着只需要等待就行了。(346G的数据,以网速3M/s,要上传40h左右。这里建议大数据的话对数据先压缩再上传!)

四、在ModelArts上使用自己的代码和数据集训练学习

当数据上传完毕时,就可以开始跑自己的模型了(350G左右的数据我上传到150多G的时候就给中断了,也没有报任何错误,目前还不知道具体原因。但是这里只是演示一下功能,并不影响)。

  1. 在控制台的服务列表搜索 “ModelArts”,点击进去
  2. 点击页面左侧 开发环境下面的 Notebook
  3. 进入之后可能要进行 服务授权
  4. 委托直接选择 自动创建 就行,这个功能我们应该用不到。
  5. 点击 创建
  6. 按照我下面的配置就行,然后点击下一步
  7. 确认配置
  8. 创建完成后,打开jupyter notebook(注意:一旦创建成功,就默认notebook开着,也就是在费钱了。所以如果创建完不想立刻使用,记得点击停止!)
  9. 接着就上传自己的notebook然后开始运行。
  10. 这里提醒一下,我们需要不时前往费用中心查看自己的代金卷还剩多少,毕竟一个小时28块其实用着挺快的!

五、notebook需要注意的问题

(一)kernel问题

因为我是用pytorch框架,所以选择的kernel是 pytorch1.4.0。然后发现有许多库找不到,就直接 !pip install 库名 就行。记得先更新一下pip:!pip install --upgrade pip(重新打开notebook后就得重新装一次库!)

(二)路径问题

1. 问题描述:

在gleason2.1.ipynb文件里面无法通过路径直接访问OBS桶里的数据
我的OBS桶数据分布如下。

然后我创建notebook选择的存储配置在于 obs://kaggle-gleason/code/ 也就是我的code目录下,跟我的 gleason2.1.ipynb 同级。

问题在于:在gleason2.1.ipynb文件里面无法直接访问OBS桶里的数据,无论是csv文件还是图片数据。使用绝对路径或者相对论路径都不行!

报错:FileNotFoundError: File b’obs://kaggle-gleason/Gleason_Train/train.csv’ does not exist

2. 问题原因

查了各种资料之后,发现可能的原因如下:

  1. OBS桶的定位与ModelArts的控制台定位不一致。
    但是我都是定的广州,所以排除!

  1. 未对ModelArts进行OBS访问授权
    我已经授权了!这里自动创建的modelarts_agency里的默认权限就包含OBS访问权限了。

查看网上各种资料之后,发现确实没法用notebook直接调用OBS桶的数据,必须先将OBS桶的数据加载到notebook本地,再使用本地路径进行访问。然而本地的默认硬盘只有5G,所以就影响到了解决问题的不同方法。

3. 解决方法

解决方法有两个

  1. 创建notebook的时候存储配置选择云硬盘,然后输入需要的硬盘大小。这里默认为5G免费,然后超出部分按1G/h = 0.0014元计价。值得注意的是,我们的代金卷只适用于OBS桶和ModelArts服务,不适用于云硬盘,所以这里我没有试过云硬盘的结果。
  2. 若我们选择存储配置为OBS的话,默认的5G磁盘大小就无法改变,意味着我们要根据训练数据的大小选择不同的方法。
    ①、数据量小于5G:使用moxing库将obs桶的数据拷贝到本地磁盘,命令如下:

    ②、数据量大于5G的话,就无法导入数据了,只能选择训练管理下的 训练作业了。创建也不难,只是在自定义算法的时候把自己的.ipynb文件修改为.py文件就行了。这里就不做演示了。

总结

文章只是根据我的代金卷所能提供的服务简单介绍了一下华为云的使用。其实华为云真的特别复杂,需要好长一段时间的学习。如果大家对文章有什么疑问或补充的话,欢迎在评论区评论或者私信我,我看到的话就会及时回复的!

使用华为云跑自己的深度学习模型教程相关推荐

  1. 阿里云使用笔记(一):从零开始配置阿里云GPU服务器训练深度学习模型

    题 神经网络训练需要强大的GPU支持,自己搭建成本太高,并且有时候出差等原因,无法将庞大的机箱搬走.因此,就产生了将深度学习网络训练的任务搬到云端的想法.由于初次使用,遇到不少大坑,花了两天时间才完整 ...

  2. 别再买云服务器了,快来白嫖谷歌的GPU(TPU)!!(使用Google Colab notebook 跑机器学习、深度学习模型)

    前提条件: 要有梯子 用谷歌浏览器 谷歌浏览器是登录着你的谷歌账号的 点击链接 colab:https://colab.research.google.com/notebooks/welcome.ip ...

  3. 【滴滴专场】深度学习模型优化技术揭秘

    滴滴拥有海量数据以及 AI 推理需求,GPU 在人脸识别.自动驾驶.地图导航等场景大量使用,滴滴云IFX团队针对斯坦福 DAWNBench 榜单的 ImageNet 模型也进行了深入优化,在 NVID ...

  4. 服务器上训练深度学习模型anaconda+cuda+cudnn+pycharm

    这个最好: centos系统搭建深度学习环境_百度搜索 https://www.baidu.com/s?wd=centos%E7%B3%BB%E7%BB%9F%E6%90%AD%E5%BB%BA%E6 ...

  5. 本地没有环境跑深度学习模型? 阿里云天池实验室它不香吗

    一.前言 前几天做深度学习模型训练使用 Google 的 colab 总是掉,搞得很烦.然后那天我队友 "叶伏天" 和我说有一个类似于 Google colab 的平台,可以训练, ...

  6. 利用远程云服务器跑深度学习模型

    利用远程云服务器跑深度学习模型主要有三个问题需要解决. 一是深度学习环境的搭建,二是已搭建环境的保存,三是远程数据的传输. 深度学习环境的搭建 以阿里云为例,在购买服务器创建实例时,可以在镜像市场选择 ...

  7. 用超算平台跑深度学习模型【新用户赠送200元体验金】

    文章目录 前言 一.北鲲云-一站式云超算平台介绍 二.如何领取 总结 前言   最近在训练YOLO模型,奈何自己的笔记本跑不起来,通过朋友介绍,才了解到北鲲云--一站式超算平台,跑深度模型真的很nic ...

  8. 华为云数据库DDS产品深度赋能

    声明:本文参考自<华为云开发者学堂>,华为云数据库DDS产品深度赋能,主要面向DA.交付.一线.二线数据库从业者,针对DDS常见问题及产品特性进行介绍,涉及:产品特性介绍.产品使用场景介绍 ...

  9. 如何在浏览器上跑深度学习模型?并且一行JS代码都不用写

    翻译 | 林椿眄 编辑 | 周翔 2017 年 8 月,华盛顿大学的陈天奇团队发布了 TVM,和 NNVM 一起组成深度学习到各种硬件的完整优化工具链,支持手机.CUDA.OpenCL.Metal.J ...

最新文章

  1. mysql 去重取出最小值_5000字总结MySQL单表查询,新手看这一篇足够了!
  2. Swing实现全屏(覆盖任务栏和不覆盖任务栏)
  3. (转)jquery插件Validate的使用
  4. DayDayUp:本博主预计2019下半年将会出两本书(关于人工智能算法及其实战案例应用方向、计算机算法竞赛集锦方向),如有合作意向,请留言告知
  5. C++静态多态与动态多态
  6. .net mvc web api上传图片/文件并重命名
  7. 银行不断爆雷,金融业苦日子刚刚开始
  8. linux修改可执行程序,反汇编,修改,然后重新组装一个Linux可执行文件
  9. 2-30hashlib模块讲解
  10. python numpy 数组元素周围_Python numpy数组元素属性及访问
  11. C++ STL容器之string--常用接口
  12. 直接让web服务运行在80端不行吗,为什么要用nginx反向代理?
  13. Adaboost入门教程——最通俗易懂的原理介绍
  14. Ajax用法返回Json
  15. 设置广告类型的html小窗口,网页两边悬浮窗广告代码
  16. 网路新年贺词_文伟_新浪博客
  17. 困扰所有SAP顾问多年的问题终于解决了
  18. Vue 移动端 hash模式下微信授权登录
  19. 第四十九篇 复数的概念
  20. matlab求ra,RA调度算法及Matlab计算程序

热门文章

  1. 洛谷2448 无尽的生命[树状数组 离散化]
  2. [渣翻]从零开始写一个时序数据库
  3. 快手极速版(目前稳定奔跑中~)别问能不能跑了~
  4. SilverLight合计行设计
  5. mysql5.1为什么programdata文件夹里只有frm文件
  6. iOS小技能:设置tableView的点击事件优先级低于cell的选中事件(场景:比如筛选视图,监听蒙版的点击事件就隐藏筛选视图)
  7. 图像或轮廓的Hu矩的定义、优缺点、适用范围,并利用OpenCV的函数HuMoments()和matchShapes()实现Hu矩的计算和轮廓匹配
  8. SNMP采集测试工具使用方法
  9. JavaSE HotSpot VM 8 垃圾收集调优指南-介绍(2)
  10. 1087 习题5-14 牛顿迭代法求方程的根