那些年,让我们死去活来的机器/深度学习主机

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_877667836/article/details/81123761

前一段时间,在中国大学mooc上听了一门课------tensorflow笔记,觉得深度学习挺有意思。决定好好学学。可是,我的笔记性能不佳,内存只有4G。而且按照老师讲的,我并没有使用GPU,在跑CNN的demo时,电脑非常吃力,死机了很多次。我调出任务管理器发现了问题所在,原来是内存耗尽了,于是我修改了超参数,每次训练和验证较小的数据,电脑是不死机了,但训练时间依旧很长啊。要想缩小训赖时间,必须安装tensorflow-gpu版。

笔记本是指望不了了,一个原因是我的笔记本已经装了windows了,再装个Ubuntu,双系统来回切换很麻烦。在一个就是显卡太垃圾-----Nvidia GT610m.还好,我有个闲置的台式机,显卡是GTX750,刚刚能搭一个低配的深度学习主机。

以下是keras官网给的关于计算机硬件要求的说明,官方文档

关于计算机的硬件配置说明

推荐配置

如果您是高校学生或者高级研究人员,并且实验室或者个人资金充沛,建议您采用如下配置:

  • 主板:X299型号或Z270型号
  • CPU: i7-6950X或i7-7700K 及其以上高级型号
  • 内存:品牌内存,总容量32G以上,根据主板组成4通道或8通道
  • SSD: 品牌固态硬盘,容量256G以上
  • 显卡:NVIDIA GTX TITAN(XP) NVIDIA GTX 1080ti、NVIDIA GTX TITAN、NVIDIA GTX 1080、NVIDIA GTX 1070、NVIDIA GTX 1060 (顺序为优先建议,并且建议同一显卡,可以根据主板插槽数量购买多块,例如X299型号主板最多可以采用×4的显卡)
  • 电源:由主机机容量的确定,一般有显卡总容量后再加200W即可

最低配置

如果您是仅仅用于自学或代码调试,亦或是条件所限仅采用自己现有的设备进行开发,那么您的电脑至少满足以下几点:

  • CPU:Intel第三代i5和i7以上系列产品或同性能AMD公司产品
  • 内存:总容量4G以上

CPU说明

大多数CPU目前支持多核多线程,那么如果您采用CPU加速,就可以使用多线程运算。这方面的优势对于服务器CPU志强系列尤为关键

显卡说明

如果您的显卡是非NVIDIA公司的产品或是NVIDIA GTX系列中型号的第一个数字低于6或NVIDIA的GT系列,都不建议您采用此类显卡进行加速计算,例如NVIDIA GT 910、NVIDIA GTX 460 等等。
如果您的显卡为笔记本上的GTX移动显卡(型号后面带有标识M),那么请您慎重使用显卡加速,因为移动版GPU容易发生过热烧毁现象。
如果您的显卡,显示的是诸如 HD5000,ATI 5650 等类型的显卡,那么您只能使用CPU加速
如果您的显卡芯片为Pascal架构(NVIDIA GTX 1080,NVIDIA GTX 1070等),您只能在之后的配置中选择CUDA 8.0

开发环境搭建

我原本是按照keras官网给的文档还参考了一些博客搭建主机的,太TM坑了,害我把系统搞死了N次,装了一星期的系统。能看的也就上面那一段。
基本步骤是这样的:

1.安装Ubuntu 16.04 LTS。可以到清华镜像下载。
请务必选择16.04版,虽然Ubuntu18.04LTS已经发布了。安装的过程也遇到了一些问题,uefi下总是安装失败,后来在BIOS里选择传统方式安装才装好。
装好系统后,选择国内的源,比如清华镜像源,网易源,阿里源。然后更新软件(sudo apt update,sudo apt upgrade)

2.装显卡驱动
很多人都在这一步放弃了,网上的教程啊,各种方式,可劲儿的折腾啊,我就着了那些博主的道了。一会说要禁止自带的开源驱动,又要关闭Ubuntu桌面什么的,有的还去NVIDIA官网自己下载驱动。
不用这么麻烦,下面介绍种简单的方式。

#使用下面的命令添加图形驱动源
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
#之后就可以从设置->软件和更新->附加驱动里选择了,选择后面写有推荐的
#当然也可以在命令行下设置驱动,如下:
ubuntu-drivers devices #这条命令会列出可用的驱动,就像下面这样
	
	driver   : nvidia-340 - third-party free
	driver   : nvidia-396 - third-party free recommended
	driver   : nvidia-390 - third-party free
	driver   : nvidia-384 - distro non-free
	driver   : xserver-xorg-video-nouveau - distro free builtin

#选择推荐的(后面写recommended),安装驱动
sudo apt install nvidia-396
#最后重启一下就好了

记住,驱动只能装一次,就算是卸载了这个驱动你也甭想换成其他的了;在设置->软件和更新->附加驱动里也只能设置一次,之后再选择也不会变了。我也不清楚为什么。如果你装完之后能找到NVIDIA的那个设置软件,并且能使用它设置分辨率,即使分辨率不能调到最大,不要怀疑驱动没装好,这个不影响。

3.从官网下载CUDA和cuDNN,然后安装?然后在命令行下pip安装一大堆包?千万别!!!
keras的官网就是这么做的,很多博主也是这么做的,我参考的他们,当然我也这么做过。
但是,先不管CUDA和cuDNN好不好装吧,就python和那些包,比如numpy,tensorflow,keras…
就会出现各种不兼容问题,而用pip安装,他根本不会考虑版本依赖问题,这让人恼火。
既然是做科学计算,一定要用anaconda,他能解决包的版本依赖问题,而且也可以将CUDA和cuDNN作为一种包来安装。十分方便。

4.安装miniconda
我装的是miniconda,anaconda 的裁剪版,仅有python和conda管理器,想用什么包用conda install XXX装就好了。anaconda 里的包太多了,好多都用不到,还自带了一些编辑器,太大了,没必要。安利miniconda。从清华镜像下载吧,选择最新的,python的版本不用在意,可以使用conda 创建虚拟环境,在虚拟环境里安装指定版本的python,这样就隔离了。我会在下面详细的介绍conda的使用方法。
算了,不想写了,总之,安装什么包就conda就行了,CUDA和cuDNN也要用它。至于miniconda的用法以后开贴。
心累。

猜你喜欢

转载自blog.csdn.net/qq_877667836/article/details/81123761