搞AI开发,你不得不会的PyCharm技术
摘要:PyCharm在AI项目开发提供了优秀的代码编辑、调试、远程连接和同步能力,在开发者中广受欢迎。
使用PyCharm插件配合ModelArts:
- 一键帮助用户配置远程ModelArts Notebook,免去用户手工配置
- 按需使用Notebook资源,启动停止,随心所欲
- 本地代码提交至ModelArts训练任务,沉浸式AI开发体验
ModelArts是华为云一站式AI开发平台,“一站式”是指AI开发的各个环节,包括数据处理、算法开发、模型训练、模型部署都可以在ModelArts上完成。从技术上看,ModelArts底层支持各种异构计算资源,开发者可以根据需要灵活选择使用,而不需要关心底层的技术。同时,ModelArts支持Tensorflow、PyTorch、MindSpore等主流开源的AI开发框架,也支持开发者使用自研的算法框架,匹配您的使用习惯。
AI模型开发的过程,称之为Modeling,一般包含两个阶段:
- 开发阶段:准备并配置环境,调试代码,使代码能够开始进行深度学习训练,推荐在ModelArts开发环境中调试。
- 实验阶段:调整数据集、调整超参等,通过多轮实验,训练出理想的模型,推荐在ModelArts训练中进行实验。
两个过程可以相互转换。如开发阶段代码稳定后,则会进入实验阶段,通过不断尝试调整超参来迭代模型;或在实验阶段,有一个可以优化训练的性能的想法,则会回到开发阶段,重新优化代码
1. 实操体验 How to Use
1.1 插件安装和登录
1.1.1 插件安装
选择File>Settings>Plugins,在Marketplace里搜索“ModelArts”,点击Install即可完成安装。
1.1.2 插件登录
安装完插件后,会在IDE菜单栏出现ModelArts,点击后选择Edit Credential,出现如下页面
点击插件的How to get AK/SK,跳转到华为云文档去按照指导获取AK/SK,把AK/SK填入登录框中,点击OK,即可完成登录。
1.2 训练代码和数据准备
在本博客中,通过附件进行下载获取。
获取完代码和数据中,需要把训练数据上传至OBS中,为下一步提交训练作业做好准备。
进入到OBS控制台中,如果没有OBS桶,需要创建一个,如果已有桶,在该桶下新建一个data文件夹,把已下载好的训练数据上传至该OBS文件夹中。
和data文件夹同级,创建一个job文件夹,用来存放提交的训练作业。
首先获取OBS桶地址,在网页端进行点击获取,地址类似为obs://3xdata
通过拼接获取到data和job文件夹OBS地址分别为:
data:obs://3xdata/data/
job:obs://3xdata/job/
1.3 提交训练作业
通过PyCharm把下载好的训练文件打开,点击插件的Training Job进行训练作业提交
在打开的页面中,选择和填入如下参数:
- Engine必须选择tensorflow_2.1.0
- 启动文件和目录必须位于当前打开项目
- OBS Path为上一步获得地址
- Specifications可以选择免费规格或者CPU/GPU规格
填写无误后,点击Apply and Run, 等待训练作业运行完成即可看到如下图日志输出
点击日志中的网站链接地址,可以在网页端看当训练作业相关详情,完成网页端信息截图即可
恭喜大家,至此,我们的在ModelArts上进行模型开发的体验就顺利完成了。
2. 更多探索 Learn More
如果拥有PyCharm专业版,还可以体验更多丰富功能,使用Notebook进行开发调试后,再进行训练作业提交,可以参考https://support.huaweicloud.com/devtool-modelarts/devtool-modelarts_0016.html
本文作者小马老师将在10月11日直播详细介绍【试驾PyCharm“混动”AI开发初体验】,欢迎各位点击此处参与。
搞AI开发,你不得不会的PyCharm技术的更多相关文章
- 华为五大专家亲述:如何转型搞 AI?
导语:非AI专业技术人员转型AI技术,或是作为一名学生学习AI技术开发,对每个有这样诉求和经历的人来说,都希望能够看到AI技术人才的成长经历,给出自己的真实经历分享. 前言 参考塞缪尔.约翰逊(18世 ...
- [AI开发]Python+Tensorflow打造自己的计算机视觉API服务
"与其停留在概念理论层面,不如动手去实现一个简单demo ." ——鲁迅 没有源码都是耍流氓github 前言 目前提供AI开发相关API接口的公司有很多,国外如微软. ...
- 华为云ModelArts 2.0全面升级,革新传统AI开发模式
[中国,上海,9月20日] 在HUAWEI CONNECT 2019期间,华为云EI服务产品部总经理贾永利宣布--华为云AI重装升级,并重磅发布一站式AI开发管理平台ModelArts 2.0. 现场 ...
- AoE 搭档 TensorFlow Lite ,让终端侧 AI 开发变得更加简单。
AoE( AI on Edge , https://github.com/didi/AoE ) 是滴滴近期开源的终端侧 AI 集成运行时环境 ( IRE ). 随着人工智能技术快速发展,近几年涌现出了 ...
- AI开发者十问:10分钟了解AI开发的基本过程
摘要:从AI开发模型.框架.工具,到提升开发效率的学习办法,为AI开发者逐一解答. 本文分享自华为云社区<10分钟了解AI开发的基本过程>,作者:简单坚持. 1.AI开发究竟在开发什么? ...
- 微软Connect(); 2017大会梳理:Azure、数据、AI开发工具
在今天召开的 Connect(); 2017 开发者大会上,微软宣布了 Azure.数据.AI 开发工具的内容.这是第一天的 Connect(); 2017 的主题演讲. 在开场视频中霍金又来了.你记 ...
- [AI开发]将深度学习技术应用到实际项目
本文介绍如何将基于深度学习的目标检测算法应用到具体的项目开发中,体现深度学习技术在实际生产中的价值,算是AI算法的一个落地实现.本文算法部分可以参见前面几篇博客: [AI开发]Python+Tenso ...
- [AI开发]centOS7.5上基于keras/tensorflow深度学习环境搭建
这篇文章详细介绍在centOS7.5上搭建基于keras/tensorflow的深度学习环境,该环境可用于实际生产.本人现在非常熟练linux(Ubuntu/centOS/openSUSE).wind ...
- java通过百度AI开发平台提取身份证图片中的文字信息
废话不多说,直接上代码... IdCardDemo.java package com.wulss.baidubce; import java.io.BufferedReader; import jav ...
- 干货分享:五大最适合学习AI开发的编程语言
AI(人工智能)为应用开发者开创了一个全新的可能性.通过利用机器学习或深度学习,您可以生成更好的用户配置文件.个性化设置和推荐,或者整合更智能的搜索.语音界面或智能助手,或者以其他数种方式改进您的应用 ...
随机推荐
- Godot - 创建翻译文件(常量表)
版本 Godot 3.1.2 背景 Godot的UI系统封装的很难受, 一些东西很难改动, 比如这个AcceptDialog的"确定""取消"按钮, 特别是在编 ...
- NOI Linux 食用指北
写这篇 blog 的原因是某个小朋友要考 CSP 了还不会用 linux,怎么回事呢. 单击图片即可放大. 前置- linux 虚拟机的安装 在官网 / 其他地方下载 VMware. 在 noi 官网 ...
- 2021入门Webpack,看这篇就够了:Webpack.config.js 解析
这是一个webpack配置说明 本文是发布在github上webpack-demo的README文件内容. 主要对webpack.config.js每一条的注释说明. 希望浏览效果更佳,可以点击文章最 ...
- 记一次线上问题引发的对 Mysql 锁机制分析
背景 最近双十一开门红期间组内出现了一次因 Mysql 死锁导致的线上问题,当时从监控可以看到数据库活跃连接数飙升,导致应用层数据库连接池被打满,后续所有请求都因获取不到连接而失败 整体业务代码精简逻 ...
- 二、RHEL8操作系统安装
一.如何安装rhel的操作系统? 必要的前提条件:硬件(CPU.内存.硬盘--) + 安装介质(操作系统的安装文件) 会不会把自己的笔记本装成rhel的操作系统呢? 不会 使用虚拟机软 ...
- Kubernetes 漫游:etcd
概述 etcd 是一个基于 Raft 协议实现.开源的.分布式的键值存储系统.主要用于在分布式系统中提供强一致性和高可用性的数据存储. etcd 在 Kubernetes 中的作用如下: 集群状态数据 ...
- 【外包杯】【报错】(表面解决实际未解决)微信小程序报错:[渲染层错误] TypeError: Cannot read property ‘$$‘ of undefined
半解不解吧,反正实现了就行 渲染层出错,滑动图片组件无法显示,(swiper是轮播图插件,因此错误应该出现在swiper渲染中) 可以这样移动,但是没有图片 我觉得是路径的问题 兄弟们,目前没有解决接 ...
- 【Javaweb】关于html转成jsp时出现乱码的问题解决
原因是没有在代码头部添加,下面这段代码,添加之后就解决了 <%@ page language="java" contentType="text/html; char ...
- 【Javaweb】implements Serializable是什么意思?反序列化是什么意思?
为了保证数据传输的可靠 性,常常要implements Serializable,为什么? 对象本质上是虚无缥缈的,只是内存中的一个地址,如果想要让对象持久化,让对象在网络上传输,总不可能传送一个内存 ...
- 2021牛客多校第一场 I题(DP)
题意 给定一个长度为 \(n(n<=5000)\) 的排列,两个人轮流从这个序列中选择一个数,要求当前回合此人选择的数大于任意一个已经被选择的数,并且该数在数组中的位置 \(i\) 与此人上一次 ...