VS Code摸鱼神器,让你快速开发AI模型
摘要:ModelArts VS Code插件一键接入云上开发环境介绍及操作指导
对于习惯于使用本地VS Code IDE的开发者,受限于本地资源,采用本地开发加云上调测的远程开发方式不失为一种更好的选择。对比一下本地开发和远程开发的优劣可以看到,本地+远程结合的方式可以同时享受IDE工程化开发的优势和云上资源的即开即用,优势互补,最大程度地满足开发者需求。

通过本地IDE加ModelArts提供的远程开发插件,用户可以先在本地做一些基础的代码编写和CPU环境的运行,当需要使用GPU等资源时,可以便捷地接入云上环境进行代码调测,云上云下无缝协同。

当需要从本地环境接入云上环境时,接入的简单和易操作是非常重要的。ModelArts提供了适配VS Code IDE的插件,能做到从Console一键打开VS Code并自动接入开发环境,首次接入仅需1分钟左右,后续仅需10s以内即可进入远端开发环境,真正实现了无感切换。

下面我们就通过实际操作,体验一下ModelArts这款一键接入插件吧。
1)登录ModelArts管理控制台,创建开发环境实例
进入华为云ModelArts Console主页,点击管理控制台,https://www.huaweicloud.com/product/modelarts.html
ModelArts Notebook是华为云一站式开发平台提供的云上开发环境。该开发环境是基于容器,其预置镜像中包含了即开即用的JupyterLab交互式开发界面,以及多种AI Kernel如PyTorch、TensorFlow等,CPU、GPU等计算资源可以按需选择和切换,支持自定义镜像,并且支持从本地SSH访问,是对开发者非常友好的一款云上AI开发调测环境。

跳转到登录界面的话,先用华为云账号登录,没有账号需要先注册。
进入后,在左侧导航栏中选择“开发环境 > Notebook”,进入“Notebook”新版管理页面。

请参考创建Notebook实例创建一个Notebook环境。
注意1:需要开启SSH开关

注意2:SSH的密钥文件需要下载至本地
实例的密钥文件需要下载至本地,需要存放在如下目录或其子目录中:
Windows:C:\Users\{{user}}
Mac/Linux: Users/{{user}}
浏览器下载文件通常默认的下载地址在C:\Users\{{user}}\Downloads目录下,是符合要求的。
2)实例状态为“运行中”,点击“VS Code接入”
单击“操作”列的“更多 > VS Code接入”。
图1 打开VS Code接入

3)如果本地已安装VS Code,请单击“打开”,进入“Visual Studio Code”页面
图2 打开Visual Studio Code

如果本地未安装VS Code,请根据页面的提示以及自己本地电脑操作系统,选择“win”或“其他”下载并安装VS Code。VS Code直接按照默认配置安装即可。
图3 下载并安装VS Code

4)如果用户之前未安装过ModelArts VS Code插件,单击“Install and Open”进行插件安装
如果之前已经安装过插件,则不会有该提示,请跳过此步骤,直接执行5。
图4 安装VS Code插件

安装过程预计1~2分钟,安装完成后右下角会弹出对话框,请单击“Reload Window and Open”。
说明:
本文以VS Code 1.57.1版本的操作为例,其它版本的VS Code可能不会弹出“Reload Window and Open”,请直接执行5。
图5 Reload Window and Open

在弹出的提示中,勾选“Don’t ask again for this extension”,然后单击"Open"。

5)远程连接Notebook实例
远程连接执行前,会自动在(Windows:C:\Users\{{user}}.ssh或者downloads,Mac/Linux: Users/{{user}}/.ssh或者Downloads)目录下根据密钥名称查找密钥文件,如果找到则直接使用该密钥打开新窗口并尝试连接远程实例,此时无需选择密钥。
图6 远程连接Notebook实例

如果未找到会弹出选择框,请根据提示选择正确的密钥。
图7 选择密钥文件

如果密钥选择错误,则弹出提示信息,请根据提示信息选择正确密钥。
图8 选择正确的密钥文件

当左下角显示如下状态时,代表实例连接成功:

图9 连接成功后的开发界面

6)连接失败如何查找原因
当弹出如下错误时,代表实例连接失败,请关闭弹窗,并查看OUTPUT窗口的输出日志,请查看FAQ并排查失败原因。
图10 实例连接失败

也可以参考远程连接失败信息收集收集相关日志,便于进一步排错。
更多探索 Learn More
一键连接的功能是基于VS Code的远程连接功能的基础上扩展的,学习相关原理可以查看VS Code远程连接原理简介
除了一键连接,ModelArts VS Code Toolkit还支持登录的方式进行实例启停等操作,可以参考ModelArts VS Code Toolkit使用指南

想了解更多ModelArts VS Code插件内容,欢迎参与【华为云ModelArts关键AI能力宣讲会】第二期直播
直播主题:华为云+VS Code远程AI开发
直播介绍:介绍VS Code远程开发模式,以及如何通过华为云ModelArts的VS Code扩展快速接入云上开发环境进行AI开发。
直播讲师:华为云AI开发高级工程师,小雪老师
直播链接:http://su.modelarts.club/bluj
VS Code摸鱼神器,让你快速开发AI模型的更多相关文章
- Thief-Book 上班摸鱼神器
Thief-Book 上班摸鱼神器 介绍 Thief-Book 是一款真正的摸鱼神器,可以更加隐秘性大胆的看小说. 隐蔽性 自定义透明背景,随意调整大小,完美融入各种软件界面 快捷性 三个快捷键,实现 ...
- vscode插件(摸鱼神器-小霸王游戏机
vscode插件(摸鱼神器-小霸王游戏机 步骤 vscode扩展搜索小霸王,点击下载即可. 使用 默认有一个demo小游戏,即超级玛丽. 本地仓库 可以通过local菜单上的添加按钮添加本地nes r ...
- 【摸鱼神器】UI库秒变LowCode工具——列表篇(一)设计与实现
内容摘要: 需求分析 定义 interface 定义 json 文件 定义列表控件的 props 基于 el-table 封装,实现依赖 json 渲染 实现内置功能:选择行(单选.多选),格式化.锁 ...
- 【转】让Chrome化身成为摸鱼神器,利用Chorme运行布卡漫画以及其他安卓APK应用教程
下周就是十一了,无论是学生党还是工作党,大家的大概都会有点心不在焉,为了让大家更好的心不在焉,更好的在十一前最后一周愉快的摸鱼,今天就写一个如何让Chrome(google浏览器)运行安卓APK应用的 ...
- 【摸鱼神器】基于SSM风格的Java源代码生成器 单表生成 一对一、一对多、多对多连接查询生成
一.序言 UCode Cms 是一款Maven版的Java源代码生成器,是快速构建项目的利器.代码生成器模块属于可拆卸模块,即按需引入.代码生成器生成SSM(Spring.SpringBoot.Myb ...
- 【摸鱼神器】UCode Cms管理系统 内置超好用的代码生成器 解决多表连接痛点
一.序言 UCode Cms管理系统是面向企业级应用软件开发的脚手架.当前版本1.3.4.快速体验: git clone https://gitee.com/decsa/demo-cms.git (一 ...
- 【摸鱼神器】UI库秒变LowCode工具——列表篇(二)维护json的小工具
上一篇介绍了一下如何实现一个可以依赖 json 渲染的列表控件,既然需要 json 文件,那么要如何维护这个 json 文件就成了重点,如果没有好的维护方案的话,那么还不如直接用UI库. 所以需要我们 ...
- 【摸鱼神器】一次搞定 vue3的 路由 + 菜单 + tabs
做一个管理后台,首先要设置路由,然后配置菜单(有时候还需要导航),再来一个动态tabs,最后加上权限判断. 这个是不是有点繁琐?尤其是路由的设置和菜单的配置,是不是很雷同?那么能不能简单一点呢?如果可 ...
- 【摸鱼神器】UI库秒变低代码工具——表单篇(一)设计
前面说了列表的低代码化的方法,本篇介绍一下表单的低代码化. 内容摘要 需求分析. 定义 interface. 定义表单控件的 props. 定义 json 文件. 基于 el-form 封装,实现依赖 ...
- 【摸鱼神器】UI库秒变低代码工具——表单篇(二)子控件
上一篇介绍了表单控件,这一篇介绍一下表单里面的各种子控件的封装方式. 主要内容 需求分析 子控件的分类 子控件属性的分类 定义 interface. 定义子控件的的 props. 定义 json 文件 ...
随机推荐
- 手撕Vuex-Vuex实现原理分析
本章节主要围绕着手撕 Vuex,那么在手撕之前,先来回顾一下 Vuex 的基本使用. 创建一个 Vuex 项目,我这里采用 vue-cli 创建一个项目,然后安装 Vuex. vue create v ...
- ElectronReactAdmin跨平台管理系统|electron27+react18后台模板EXE
基于electron27+react18+arco电脑端后台管理程序EXE实例ElectronRAdmin. electron27-react18-admin 基于跨平台技术Electron集成Vit ...
- .NET的各种对象在内存中如何布局[博文汇总]
在过去一段时间里,我陆陆续续写一些关于.NET对象类型布局的文章,其中包括值类型和引用类型的内存布局.字符串对象和数组的内存布局等,这里作一个简单的汇总. [1] 如何计算一个实例占用多少内存? 我们 ...
- 每天5分钟复习OpenStack(九)存储发展史
上一章节我们介绍了使用本地硬盘做kvm的存储池,这章开始将介绍下存储的发展历程,并介绍什么是分布式存储,为什么HDFS为有中心节点的分布式存储? 1.存储发展 在单机计算时代(大型机.小型机.微机), ...
- Cadence SPB 22.1 -- 原理图的电器元件放置03Day
1.新增原理图:"SCHEMATIC"-->"New Page" 2.元器件放置 ①.添加原理图库 ②.放置元器件 选择对应元件库,再选择需要放置的元件, ...
- Ubuntu下使用apt-get命令查询并安装指定版本的软件
执行以下命令,查询软件所有的版本号 sudo apt-cache madison <package> <package>为需要安装的包名,返回结果第二列即可用的版本号 执行以下 ...
- Ingress & Ingress Controller & API Gateway
Ingress Ingress 内部服务如何暴露给集群外部访问 使用NodePort类型的service 将k8s集群中的服务暴露给集群外部访问,最简单的方式就是使用NodePort,类似在docke ...
- [UOJ#748] [UNR#6 1B] 机器人表演
在这个科技发达的年代,真人表演已经落伍了.参加完 UOI 后,hehe 蚤去到了下山市大剧院,观看下山市最火爆的机器人表演. 机器人有时比人类更能抓住事情的本质.所谓表演,其实也就是开场有若干个机器人 ...
- Cocos-JS HTTP网络请求
网络结构 网络结构是网络构建方式,目前流行的有客户端服务器结构(C/S结构)和点对点(P2P)结构网络. 客户端服务器结构(C/S结构) 这种结构又被称为Clicent/Server结构,它是一种主从 ...
- 搭建前端项目时出现了.../dist/index.mjs:128 if (!require.cache) { ^ ReferenceError: require is not defined...
具体报错如下: 修改node_modules/vite-plugin-mock/dist/index.mjs 加入如下内容 // 解决报错问题 import { createRequire } fro ...