前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用腾讯云快速进行CNN开发验证

用腾讯云快速进行CNN开发验证

原创
作者头像
桂小忠
修改2022-04-17 22:38:15
2.3K0
修改2022-04-17 22:38:15
举报

1、背景说明

本人非专业开发者,之前也没用过云服务器,所以在实践过程会遇到一些新手才会有的困惑。简单分享一下,给同样困惑的朋友一点借鉴,大神可以略过,谢谢!

本人目前在学习CNN的知识,拟用CNN完成图像分类任务。但自己的电脑训练模型太慢,为了不影响试验效率,申请了带GPU的腾讯云服务器。如上面所说,本人非专业开发者,因此只分享自己第一次使用GPU云服务器搭建开发环境的经验,并没有涵盖不同操作系统如何使用之类的全面攻略。下面是我使用的云服务器、开发语言等的情况:

1)云服务器:GPU计算型GN8,6核 56GB5Mbps

2)开发语言:Python

3)开发环境:PyCharm

3)机器学习开发框架:Keras,后端是tensorflow

2、腾讯云服务器开通

首先,需要购买云服务器,打开腾讯云官网/,找到云服务器的购买页面,下单付钱。

然后,购买完成后,怎么进入云服务器?

由于我是第一次用云服务器,所以看到开通云服务器的订单页后,竟不知道怎么进行下一步(其实挺简单的事,卡了我好一会儿)。

订单页面
订单页面

如果你的电脑也是Windows系统,通过系统自带的“远程桌面”应用程序,输入IP地址和用户名、密码,即可远程连接到云服务器。(第一次使用不知道密码的,可以先重置密码)。远程桌面连接后的云服务器,就跟普通的window电脑一样,如下所示。

远程桌面
远程桌面

由于需要用到GPU的计算能力,因此可以先打开设备管理器,看一下GPU是否工作正常。如果找不到GPU,可能需要安装GPU的驱动程序(看一个你的服务器是什么GPU,找对应的驱动程序即可)

3、搭建CNN所需的开发环境

我要做图像处理相关的任务,最终需要用到卷积神经网络(CNN)。要想进行CNN的开发,可以使用成熟的开发框架,我使用的是Keras,采用tensorflow作为后端。另外,我用的开发语言是Python,因此,我需要搭建以下内容:

1)安装Python的开发环境(我用的是PyCharm)

2)安装Python的解释器环境(用Anaconda配置比较方便)

3)在PyCharm里选择配置好的解释器环境,并测试环境跑通

接下来具体说:

1)PyCharm的安装比较方便,到官网https://www.jetbrains.com/pycharm/选择需要下载的版本,个人开发者可以下载community版,不收费。

PyCharm下载页面
PyCharm下载页面

下载完成后一直下一步完成安装即可。

2)安装Anaconda,也比较简单,官网下载之后,一直下一步完成安装。

3)在Anaconda里创建一个解释器环境,之后会将CNN需要用到的各种Python开发包放到这个环境里。

Anaconda界面
Anaconda界面

4)打开PyCharm,在设置中选择编译器环境,选择刚刚建立的环境即可:

Conda Environmeng ——>Existing environment
Conda Environmeng ——>Existing environment

5)在Anaconda里添加各种需要的Python开发包,包括keras、tensorflow-gpu、numpy、pandas等,需要注意的是,keras、tensorflow有版本对应关系,如果安装的版本不匹配,可能会在使用过程中报错,提示没有ddl文件。

6)每安装成功一个包,如果想即时验证是否安装成功,可以在PyCharm的Python Console里,import这个包,如果不报错,就说明安装成功了。这里由于需要用到GPU的计算能力,因此演示一下安装的tensorflow是否可用:

Python Console
Python Console

import tensorflow,然后用tensorflow.test.is_gpu_available(),如果返回True,则说明GPU可用。

注:后续如果需要导入其他包,也可以在Anaconda里先安装。

4、一个简单的CNN开发测试案例

keras内置了常规机器学习的模型,比如VGG16、VGG19、ResNet50等,也可以通过可读性较高的开发语言,自己搭建神经网络,进行快速的网络搭建、测试、训练等工作。

本文以用VGG16训练多标签分类的模型,说明用keras进行开发验证有多便捷:

1)导入VGG16

一行代码即可导入VGG16
一行代码即可导入VGG16

2)实例化VGG16模型

实例化模型
实例化模型

3)调用训练相关的类,传入参数,进行训练

训练模型
训练模型

4)绘制训练效果图(我这个模型训练的不太好,只是用作说明)

模型训练结果
模型训练结果

5 最后,有没有GPU,速度差别多少呢?

训练10000张图片,我自己的电脑(8G内存CPU)训练一个epoch需要593秒(一轮训练需要40-50个epoch),而用带GPU的腾讯云服务器训练,一个epoch只要41s,提速大约15倍。原本一轮训练要六七个小时,现在只要半小时左右,就,真的很爽!

好啦!谢谢各位的阅读,有问题欢迎留言沟通。我看云+社区不多,有需要可以加我的微信,欢迎和我讨论。

微信号:guixiaozhong123

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档


http://www.vxiaotou.com