Skip to content

从0开始使用腾讯云GPU服务器

从0开始使用腾讯云GPU服务器

很多同学表示:出国没办法带GPU主机or MacOS不方便安装外接显卡

在此演示一种基于腾讯云(阿里云/Google云相同)的GPU主机训练的配置指南

在本文将讲解三种方法,配置难度依次升高:

1.SSH到GPU主机,然后使用shell命令运行python代码,完成模型训练

2.GPU主机开放Jupyter Web服务,浏览器中连接主机运行python代码

3.Pycharm连接到远程GPU主机,在Pycharm中运行代码

PS:本文选择腾讯云服务器的原因单纯是因为便宜,没有任何可用性/并发行/稳定性的侧重。

只要是SSH,那么连接方法都是通用的。意味着如果有连接实验室服务器的经验就会简单很多。有所不同的是实验室服务器训练时所需数据集可以在服务器磁盘上,而云服务器的训练数据需要额外存储/本地上传。

1.示例代码在CPU的训练时间(1.8GHz i5,8G DRAM)需要62.9秒

2.腾讯云官网cloud.tencent.com,点击购买

3.选择机器配置

一定要选【自定义配置】【按量计费】【地区选跟自己近的】【GPU机型】【具体机型看实际需要-此示例选择最便宜的P4】【镜像市场-GPU服务器Ubuntu 18.04带tensorflow】【按使用流量】

4.在镜像市场中选择镜像

5.配置机器

【端口情况任意-本例选择“放空全部端口”】【设置密码】【不启动定时销毁】。如果定时销毁可能会导致训练未完成则被销毁。最好的办法是在训练的代码最后保存模型,同时加一个云短信API,在训练结束时可以收到通知。

6.这步直接默认开通

7.开通后可以在控制台看到机器,记住IP地址,很重要。然后选择登陆

本次的IP是106.52.54.61

登陆有很多种,默认选择云上的terminal,可以有图形页面

如果选择zsh,bash登陆的话,则用命令:

ssh-q-l ubuntu-p 22 106.52.54.61

8.云上直接输密码登陆(或使用刚刚提到的SSH命令,两者相同!)

登陆后是这样

9.验证GPU是否可以使用(可跳过本步)

使用三个命令来查看“PCI总线外接设备、CUDA版本、GPU使用情况”:

lspci

cat/usr/local/cuda/version.txt

nvidia-smi

10.验证tensorflow是否可用GPU(可跳过本步)

在shell中使用python3

使用python语句:

import tensorflow as tf

sess=tf.Session(config=tf.ConfigProto(log_device_placement=True))

quit()#退出python,返回shell

到此为止,全部配置就完成了。可以直接在bash中创建python文件,使用python3命令运行.py文件(tensorflow代码)。

下面配置Jupyter Web服务

11.安装Jupyter

按顺序在bash中输入命令:

pip3 install jupyter

echo PATH=~/.local/bin:$PATH>>.bashrc

echo export PATH>>.bashrc

source.bashrc

jupyter notebook–ip=0.0.0.0–port=8000

复制第二个红框中的token!!!

12.远程登陆jupyter

浏览器输入“IP:端口”,此例是https://106.52.54.61:8000。输入刚才复制的token进入jupyter。

新建python3运行环境

13.运行代码

在这写代码运行or把代码粘到这运行

运行结果:

只要11.2秒,远小于本地CPU所用的62.9秒

Jupyter Web可以远程访问,通过浏览器运行代码。

最后是使用Pycharm,直接用Pycharm连接远程服务器

14.Pycharm中添加服务器

在【Preferences】中选【Deployment】【+】【SFTP】

输入【服务器地址-106.52.54.61】【用户名-ubuntu】【密码】,然后测试连接是否成功

连接成功

配置“本地-服务器文件映射”【mapping】【本地路径】【云上路径(可直接写“/”,会自动配置。没特殊要求,单纯运行代码的话,此处不重要)】

15.配置运行环境

在【preferences】中选择【project interpreter】【V】【show all】(不选择本地解释器,选择remote解释器)

点击【+添加】

选择【SSH interpreter】【existing server configuration】【列表中选择刚才的服务器】【Move this server to IDE setting】

手动写明python3的路径

成功后可以看到远程运行环境中的配置,什么依赖Lib都没有的话说明导入失败。可以看到tensorflow-GPU(还有Pytorch也在)

16.运行

点击运行

只需要7.7秒

写在最后。本地CPU 62.9秒,Jupyter Web 11.2秒,Pycharm连接7.7秒。

阿里云和腾讯云在登陆名上有所差别,阿里云一般直接为root。

用完记得销毁服务器

面向初次使用者,略了很多验证的步骤。改进可以写在下面。

一些答疑:

1.为什么示例代码中没有指定GPU的部分?tensorflow默认调用最优资源,这是配置云环境文章,不是tensorflow-GPU代码教程。

2.为什么阿里云的服务器没有这个镜像?阿里云有一个基于CentOS的,一样用。服务器的用户登录名不同,其他无所谓。

3.如何预估我的训练时间?没办法,靠经验or先跑小样本。

4.为什么我的Pycharm中没有这个功能?professional版本才有这个功能,社区版没有。

5.为什么我代码在云上无法运行?请查看对应的tensorflow版本,请以云上版本为准。如果有import 3rd Lib依赖,请写在requirement.txt中。

6.我怎么知道我的代码能不能运行?先买小机器,再买大机器······

相关推荐: 京东全球购保价申请时效大概是多久时间?

厦门商城系统开发现在网上购物的用户是非常多的,并且各个电商平台为了获得更多的顾客下单,对产品开通了保价的服务,京东全球购平台上也是相同如此,但是这个保价申请的时效是多久了?   ​ 1、数码、通讯、百货类商品,可以在7天内申请价保。申请成功,假设没有付款的订单…

    码刀科技(www.lekshop.cn)是国内知名企业级电商平台提供商,为企业级商家提供最佳的电商平台搭建(多种模式电商平台搭建:B2B/B2B2C/B2C/O2O/新零售/跨境等)、平台管理系统开发及互联网采购解决方案服务, 联系客服了解更多.

    电子商务网站建设的重要性和好处