使用亚马逊AWS云服务器进行深度学习——免环境配置/GPU支持/Keras/TensorFlow/OpenCV
前言
吐槽:由于科研任务,需要在云端运行一个基于神经网络的目标识别库,需要用到GPU加速。亚马逊有很多自带GPU的机器,但是环境的配置可折腾坏了,尤其是opencv,每次总会出各种各样的问题!
无奈中,看见了Adrian Rosebrock的blog:Pre-configured Amazon AWS deep learning AMI with Python
其已经预配置好各种环境,包括Keras, TensorFlow, scikit-learn, scikit-image, OpenCV等。可以说是很棒棒喽。
此文章并非其文章的翻译稿,而是提炼主要内容并且亲自实践而来,补充了很多坑。如条件允许,还请自行阅读英文原文,更详细。
第一步:竞价获取服务器
注册亚马逊什么的就不说了,注意免费一年政策并不能用于这些带GPU的机型就是了。
使用竞价请求来申请主机,至于为什么要用竞价实例,第一是便宜,第二是我发现我的账号没有申请持续性gpu主机实例的权限。至于竞价实例是什么,请google/baidu。
原文中,给了四种适合的机型:
c4.xlarge: $0.199/hour
p2.xlarge: $0.90/hour
p2.8xlarge: $7.20/hour
p2.16xlarge: $14.40/hour
For CPU instances I recommend you use the “Compute optimized” c4.* instances. In particular, the c4.xlarge instance is a good option to get your feet wet. If you would like to use a GPU, I would highly recommend the “GPU compute” instances. The p2.xlarge instance has a single NVIDIA K80 (12GB of memory). The p2.8xlarge sports 8 GPUs. While the p2.16xlarge has 16 GPUs.
然而,我选择g2,8cpu,15g ram,带一块GPU,最基础的任务足够。
如图选择,搜索ami-ccba4ab4,找到这一个预配置的AMI镜像
请注意这里原本是16G的卷,建议最好20-30G,防止你还要配置或者安装些东西,之前没用这个镜像,随便编译个opencv,硬盘就不够了。
提交!接下来便是等待,有快有慢,快的时候立刻就有机器。
第二步:一键安装显卡驱动
拿到机器后,使用ssh连接上,用户名是ubuntu。
这里有个坑就是显卡驱动。原文已经说了,尽管镜像中本来安装好了驱动,由于挂载盘特性,驱动会可能被系统屏蔽,需要重新安装,或者是屏蔽某系统文件(没仔细研究,我觉得重装来得快,哈哈哈)。
首先,检查是否有驱动:
nvidia-smi
如果显示:
则已经有驱动了,不需要安装。
否则,你需要安装驱动,作者已经在/installers下放了显卡驱动。安装:
cd installers
sudo ./NVIDIA-Linux-x86_64-375.26.run --silent
值得注意的是,我用的g2这个机器的显卡K520,是不可以用这个驱动的,我们需要重新下载驱动,下载地址如下
http://www.nvidia.com/download/driverResults.aspx/108586/en-us
供大家核对信息:
将下载的驱动也放在该文件夹后,先要给该文件执行的权限,然后静默安装:
sudo chmod 777 NVIDIA-Linux-x86_64-367.57.run
sudo ./NVIDIA-Linux-x86_64-367.57.run --silent
安装时会弹出一些警告,不用理会,安装好后,再次执行nvidia-smi,得到之前的图。
现在,你的环境已经配置好了。
第三步:开启python虚拟环境
最后一步,需要打开大神预先配置好的环境,执行
workon dl4cv
完成!你可以使用pip-freeze查看下装的东西:
最后,放一张运行我程序的图:
如有问题,可以留言讨论,转载请注明原文链接和作者姓名!
使用亚马逊AWS云服务器进行深度学习——免环境配置/GPU支持/Keras/TensorFlow/OpenCV的更多相关文章
- 如何使用XShell登录亚马逊EC2云服务器
http://jingyan.baidu.com/article/a3a3f811d5fc338da2eb8a00.html
- 亚马逊AWS在线系列讲座——基于AWS云平台的高可用应用设计
设计高可用的应用是架构师的一个重要目标,可是基于云计算平台设计高可用应用与基于传统平台的设计有很多不同.云计算在给架构师带来了很多新的设计挑战的时候,也给带来了很多新的设计理念和可用的服务.怎样在设计 ...
- 亚马逊AWS服务器CentOS/Linux系统Shell安装Nginx及配置自启动
领了一个亚马逊的1年免费服务器,今天尝试安装 Nginx 服务器,使用原生的 Shell 方法. 为了方便以后查看,就把过程记录一下. 注意:亚马逊(AWS)服务器默认只能用 user-ec2 账户进 ...
- 亚马逊AWS学习——EC2的自定义VPC配置
1 网络配置 EC2即亚马逊AWS云服务中的虚拟主机.创建EC2实例时如果使用的默认VPC并分配了公有IP是可以上网的.但我们经常需要自定义的网络环境,这时就需要自己定义VPC和子网了. 1.1 配置 ...
- 亚马逊AWS学习——EC2的自己定义VPC配置
转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/47153421 本文出自[我是干勾鱼的博客] 1 网络配置 EC2即亚马逊AWS云 ...
- 亚马逊AWS EC2云实例AMI安装LNMP环境(3)——Mysql5.5
概括:这里选择亚马逊EC2的Linux AMI实例,该Linux服务器是亚马逊预配置的Linux环境,内置多个YUM源,属于亚马逊首推的稳定Linux服务器.默认登录用户名为ec2-user,执行ro ...
- 亚马逊AWS EC2云实例AMI安装LNMP环境(2)——PHP5.6
概括:这里选择亚马逊EC2的Linux AMI实例,该Linux服务器是亚马逊预配置的Linux环境,内置多个YUM源,属于亚马逊首推的稳定Linux服务器.默认登录用户名为ec2-user,执行ro ...
- 亚马逊AWS EC2云实例AMI安装LNMP环境(1)——Nginx安装
概括:这里选择亚马逊EC2的Linux AMI实例,该Linux服务器是亚马逊预配置的Linux环境,内置多个YUM源,属于亚马逊首推的稳定Linux服务器.默认登录用户名为ec2-user,执行ro ...
- 直压到亚马逊AWS平台,阿里云OSS平台或者腾讯云COS平台
GTX Compressor (直压上云技术预览版) Powered by GTXLab of Genetalks. 技术预览版本下载地址: https://github.com/Genetalks/ ...
- windows系统上利用putty通过SSH连接亚马逊AWS服务器
1. 找到在购买亚马逊的AWS服务器时保存的密钥文件(假设为abc.pem). 2.打开PuTTYgen,如下图,点击图中1处的“load”,找到abc.pem文件所在的位置,并选择abc.pem,确 ...
随机推荐
- ps去除图片中间部分并拼合
今天分享一个用ps去除图片中间部分后,把剩下的部分拼合的技术. 需求 下面这张图,需要去掉第三列(顺丰包邮价) ps处理过程 1.导入图片到ps软件 快捷键方式:Ctrl + O: 手动打开方式:点击 ...
- koa2整合mysql
引入mysql包 npm install mysql 封装mysql 创建mysql.js文件放在utils(工具包)中 使用pool连接池 mysql.js //封装mysql const mysq ...
- verilog设计知识集合(2)
verilog设计知识集合(2) 1.阻塞与非阻塞 阻塞赋值是存在先后关系的,非阻塞是不存在先后关系的.一般而言,阻塞用于组合逻辑,非阻塞用于时序逻辑(不一定).阻塞的执行时逐步赋值,非阻塞是同步赋值 ...
- KingbaseES V8R3集群运维案例之---failover故障处理
案例说明: 此案例,为KingbaseES V8R3集群failover切换时,通用的故障处理方式.通过对failover.log和recovery.log日志的解读,让大家了解KingbaseE ...
- 【已解决】MySQL5.x和MySQL8.x 密码验证的区别(修改MySQL数据库密码的验证方式)
mysql5.x使用的是 mysql_native_password mysql8.x使用的是 caching_sha2_password 1. 进入mysql mysql -u root -p 2. ...
- OpenHarmony:4.0 Release版本的开发数据
OpenAtom OpenHarmony 4.0 Release版本于 10 月 27 日发布,经过了32周的开发周期.在此期间,有 65499 个 Committs 进入了 版本.在这个周期内完成了 ...
- 5 个编写高效 Makefile 文件的最佳实践
在软件开发过程中,Makefile是一个非常重要的工具,它可以帮助我们自动化构建.编译.测试和部署.然而,编写高效的Makefile文件并不是一件容易的事情.在本文中,我们将讨论如何编写高效的Make ...
- 4. Orthogonality
4.1 Orthogonal Vectors and Suspaces Orthogonal vectors have \(v^Tw=0\),and \(||v||^2 + ||w||^2 = ||v ...
- java内存模型(jmm)概念初探
1.和java内存结构的区别: 很多人会把jmm和Java内存结构搞混,网上搜到的一些文章也是如此,java内存结构就是我们常说的堆,栈,方法区,程序计数器..., 当jvm虚拟机启动的时候,会初始化 ...
- 基于pdfbox实现的pdf添加文字水印工具
简述 最近有个需求需要给pdf加文字水印,于是开始搜索大法,但是发现网络上的代码基本都是将字体文件直接放在jar包里面.个人强迫症发作(手动狗头),想要像poi一样直接加载系统字体,于是研究了一下午p ...