机器学习系列-第0篇-开发工具与tensorflow环境搭建

   系列目录:

  1. 机器学习系列-第0篇-开发工具与tensorflow环境搭建 
  2. 机器学习系列-第1篇-感知机识别手写数字(mnist例子分析) 
  3. 机器学习系列-第2篇-CNN识别手写数字(mnist例子分析)


   此系列文章是本人用作自己入门机器学习的笔记之用,同时希望锻炼自己的书写能力,很多东西自己看懂了未必理解深刻,能把自己学的东西用自己的方式表达出来,做到言简意赅且能让人看到是一件很难的事情。作为一个新人入门,我希望此系列相关的文章能写得足够让小白(我自己也是小白)看得明白,且能对着步骤一步步操作成功,并且理解每一步是怎么来。

    作为开篇,写的是学习环境的搭建,但在此之前是希望每个人对机器学习有基础的了解,知道它是什么,我自己在此之前是通过书籍,视频,论坛等途径了解和学习基础概率。我本人是服务端开发人员,有*年的编程经验, Python不会,大学学的是数学专业,但都已经给回了老师,所以就当我不懂高等数学吧。按照本文操作,或许也还会有很多不懂的地方,比如你不会安装操作系统, 可能第一步就卡住了,这些基础就得靠自己了,文章不能讲得太细。


一 电脑硬件

       我浏览了很多入门学习的文章,很少有说电脑硬件要怎样的配置,当然我也不是很懂,这里只能说我自己的选择电脑的过程,好与不好,自己判断。

       我的笔记本是thinkpad x230, 好几年前的产品了, 参数如下:

        

这个配置我是这么用的:WIN7作为宿主机, 装了vmware + centos 7来开发。这样的环境用来做除机器学习之外的开发, 勉强还行,但用来做机器学习,mnist的例子都很难运行起来,报 out of memory。 这极大打击了我的学习积极性,作为一个开发者,如果把时间都浪费在等待机器运行上,不值得。心情也烦躁。 所以我觉得买一台台式机专门用来学这个。

       该选择怎么的电脑配置呢? 我也不知道,但心里想价格不要太高,预算3500左右,大概的配置是i7,16内存,1T硬盘,需要有独立显卡2G以上,不然没法体验GPU。 去谷哥和度娘看别人的一些意见,但不适合我。 然后我逛了好几天的淘宝,京东。上面凡是组装机都一堆的吃鸡配置(吃鸡不是的喜好,看到此文包括我肯定都是有更高追求的人),我总结看了一下,假设基本有7个套餐,基本选择第4第5个套餐就够开发用了,有钱的土豪或预算充足的另说,最终我选择了如下配置(内存16G):


  我买的那店家服务还可以,收到的货也不错,名字这里不放出来,需要推荐的话,需要的可以加我Q:823960168。另外显示器我再京东上买了一个600多的24寸松人曲面,因为我觉得对屏幕要求不高,所以买了个便宜货,而且是我第一次知道的品牌名字,一套配置下来总价3400多,这个价钱应该算便宜。对于想学习的人,对自身的投资是需要的。然后我们就可以开工了。

二 系统选择

      这里系统选择纯是个人喜好,用自己熟悉的最好, 本来我是比较熟悉centos,所以我就安装了centos 7。但是安装 NVIDIA显卡驱动的时候,折腾了我好久都不行,所以我选择重装为ubuntu 16.04。另外还有一个原因是centos的操作界面和支持开发过程用到的工具类软件比较少。

三 软件安装

1 安装显卡驱动(CUDA)

1.1 下载和安装

在官网下载适合自己的驱动:https://developer.nvidia.com/cuda-toolkit-archive

这里 GTX 1050 TI 可以选择 CUDA Toolkit 9.0CUDA Toolkit 9.1及以上都不支持GTX 1050 及以下的显卡(这些都是安装过程,摸索各种版本发现, 非常耗时)。

我的选择如下,并且第二张图 红色框部分已经告诉你如何安装了,下载好之后按步骤执行就ok



1.2 验证安装是否成功

安装成功之后,检查是否ok,执行 nvcc -V 和 nvidia-smi , 可以看到如下结果:


1.3 设置 cuda 环境变量

在用户的 .bashrc文件后面添加下面两行:

export PATH=$JAVA_HOME/bin:/usr/local/cuda/bin:$PATH 

export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH


1.4 重启系统

安装完成之后, 最好重启一下系统, 可以看到显示的适配好了很多。然后再执行上面的命令再次验证。


1.5 如果需要重装怎么办?

如已经安装了显卡不支持的更高版本怎么办? 先执行下面的3个命令,卸载了之后再重装:

(1)sudo apt-get --purge remove cuda

(2)sudo apt-get autoremove

(3)sudo apt-get clean


2 安装CUDNN (深度神经网络库 Deep Neural Network library)

2.1 下载和安装

官网下载地址(需要注册账号才能下载):

https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#installcuda

这里因为安装了cuda 9.0, 所以只能选 cudnn 7.0.5版本, 选了7.1版本的话,在运行tensorflow的时候会提示版本不对。下载离线包之后,就把对于的 include和lib 复制到cuda的安装目录下的对应include和lib目录就可以了。上文链接里面告诉你执行了,这里截个图:


执行完之后,检查一下/usr/local/cuda/里面是否有cudnn相应的.so和.h



2.2 环境变量设置

在用户的 .bashrc文件后面添加下面两行:

export LPATH=/usr/lib/nvidia-384:$LPATH 

export LIBRARY_PATH=/usr/lib/nvidia-384:$LIBRARY_PATH


3 安装tensorflow前的相关依赖检查和安装

3.1 查看内核版本与GCC版本: cat /proc/version && gcc --version


可以看到我的gcc是5.4.0,与内核编译用的gcc版本是一致的(默认安装系统之后,如果你没升级过一般都是一致的)。


3.2 安装与系统kernel版本一致的 headers

 命令: sudo apt-get install linux-headers-4.13.0-38-generic


3.3 安装Java JDK版本 

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html


我选择了 1.8版本, 下载之后,解压放在了/usr/local/jdk1.8.0_161目录下:



然后设置 java 环境变量:

在用户的.bashrc文件末尾增加:export JAVA_HOME=/usr/local/jdk1.8.0_161


4 安装tensorflow

sudo apt-get install python3-pip python3-dev

sudo apt-get install tensorflow-gpu

如果以上安装失败了,可以先执行一下:sudo pip3 install --upgrade tfBinaryURL 再重试


验证tensorflow是否可用:

>>> import tensorflow as tf 

>>> hello=tf.constant("welcome, to, tensorflow, world") 

>>> sess = tf.Session()

>>> print(sess.run(hello))


可以看到,正确import了 tensorflow,并且已经用gpu运行例子了,说明tensorflow已经可用,至此可以正常开发了。


5 IDE开发工具

开发ide纯个人喜好,不用ide也可以直接在vi等文本编辑器写代码,但我推荐用idea ij。一个好的开发工具,调试方便好多。

下载地址:https://www.jetbrains.com/idea/ (用community版本就行)

解压之后运行 bin里面的idea.sh就行,我最终的开发环境:



四 总结

至此,已经能正常开发,以上过程如果还有问题,可以先自己google。解决不了可以找我。下一篇开始 写 mnist例子分析。



转载于:https://juejin.im/post/5adb58b5f265da0b84550103

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值