TensorFlow 实验环境搭建(转)

原文地址:https://blog.csdn.net/xinkexueguanli/article/details/52552192

TensorFlow 实验环境搭建

一、实验说明

本实验课提供一个TensorFlow的环境,让Deep Learning的新手通过动手实践对TensorFlow有所了解。

Deep Learning的学习需要很多理论基础,必须花足够的时间学习原理与算法,请先阅读课程中推荐的理论文章。实验课是对理论学习的补充,将理论写成代码,将数据跑出结果,实践的过程可以更好的融会贯通理论知识。

教程内容部分来自官方文档翻译。

本节实验将会学习到的知识点包括:

  1. Python基础知识
  2. 设置virtualenv环境
  3. 深度学习基本概念
  4. TensorFlow系统安装部署

1. 推荐阅读

TensorFlow 系统来源及原理推荐阅读:

2. 环境介绍

本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面上的程序:

  1. LX终端(LXTerminal): Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令
  2. Firefox:浏览器,可以用在需要前端界面的课程里,只需要打开环境里写的HTML/JS页面即可
  3. GVim:非常好用的编辑器,最简单的用法可以参考课程Vim编辑器

3. 环境使用

使用GVim编辑器输入实验所需的代码及文件,使用LX终端(LXTerminal)运行所需命令进行操作。

实验报告可以在“我的主页”中查看,其中含有每次实验的截图及笔记,实验的有效学习时间(指的是在实验桌面内操作的时间,如果没有操作,系统会记录为发呆时间)。这些都是您学习的真实性证明。

二、TensorFlow 简介

Google曾经开发过两代Deep learning的系统,其中第一代称为DistBelief,第二代就是TensorFlow。由于DisBelief虽然具备很好的扩展性但一些研究场景中使用起来不够灵活,所以Google设计研发了TensorFlow,比第一代系统更快更灵活,更容易适应新的研究需求。这两套系统都应用在Google的大量的技术产品中,例如语音识别,图像识别及翻译等。

TensorFlow系统的核心是C++编写的,并且提供了C++和Python两种Frontend接口。我们后续实验中主要使用Python语言。

三、TensorFlow 安装

TensorFlow安装非常简单,官方安装文档提供了几种安装选择,我们选择使用Python Virtualenv环境安装。安装步骤为了适应实验楼所在的网络环境,进行了少量修改。

3.1 安装依赖的软件包

首先打开桌面上的Xfce终端,在终端中执行后续命令。

为了构建virtualenv环境,我们先安装必要的组件:

 
  1. $ sudo apt-get update

  2. $ sudo apt-get install python-pip python-dev python-virtualenv

3.2 设置Virtualenv环境

将tensorflow安装到/home/shiyanlou/tensorflow,我们需要为这个目录设置virtualenv环境:

$ virtualenv --system-site-packages /home/shiyanlou/tensorflow

进入到/home/shiyanlou/tensorflow目录并激活virtualenv环境:

 
  1. $ cd /home/shiyanlou/tensorflow

  2. $ source bin/activate

  3. # 进入到virtualenv的环境

  4. (tensorflow) $

如果需要退出virtualenv的话,只需要执行命令deactive即可。

3.3 安装TensorFlow

由于网络原因,TensorFlow安装包的下载会很慢,所以我们将0.5.0版本安装包拷贝到了阿里云上,仅用于内部实验教学。

使用pip安装TensorFlow:

 
  1. # 升级依赖的包six到1.10.0版本

  2. (tensorflow) $ pip install --upgrade http://labfile.oss.aliyuncs.com/courses/470/six-1.10.0-py2.py3-none-any.whl

  3. # 安装tensorflow

  4. (tensorflow) $ pip install --upgrade http://labfile.oss.aliyuncs.com/courses/470/tensorflow-0.5.0-cp27-none-linux_x86_64.whl

安装过程中会首先安装几个依赖包,例如numpysix等。

上述命令完成并没有报错时,说明TensorFlow已经安装好了。

四、测试

我们通过一些简单的程序来对TensorFlow进行测试,你也可以根据官网的教程进行任何操作。

首先启动python,然后import tensorflow就可以进行测试,记住要在virtualenv环境下执行才可以:

 
  1. (tensorflow) $ python

  2. >>> import tensorflow as tf

  3. >>> hello = tf.constant('Hello, TensorFlow!')

  4. >>> sess = tf.Session()

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

  6. Hello, TensorFlow!

  7. >>> a = tf.constant(10)

  8. >>> b = tf.constant(32)

  9. >>> print sess.run(a+b)

  10. 42

  11. >>> sess.close()

  12. >>> quit()

上面的操作描述了两个最简单的计算示例,其中tf.constant用来生成各种类型的TensorFlow常量,Session对象用来加载图并进行计算,在创建Session对象时会输出一些信息,当运算执行完可以调用close()来释放资源。

每个语句都能通过阅读TensorFlow Python 文档学习。

4.1 运行简单的TensorFlow程序

TensorFlow官网给出了一个简单的程序,是一个简单的线性回归模型的拟合。利用梯度下降法来进行最优化。程序内容如下。

程序中x_data = np.float32(np.random.rand(2,100))生成的是一个2x100的矩阵,所以下面的y_data就可以很容易理解,它的含义其实就是一个1x2的矩阵乘以一个2x100的矩阵,按照简单的矩阵乘法的意义给出了1x100的矩阵,也可以理解成一个行向量。

此外,程序中定义很多tf.Variable,在TensorFlow使用的变量类型可以直接作为各个模型的输入和输出。

 
  1. import tensorflow as tf

  2. import numpy as np

  3.  
  4. # Make 100 phony data points in NumPy.

  5. x_data = np.float32(np.random.rand(2, 100)) # Random input

  6.  
  7. # 对于随机X按照需要的方法生成y,注意np.dot是矩阵乘法

  8. y_data = np.dot([0.100, 0.200], x_data) + 0.300

  9.  
  10. # 下面就是简单的构建线性模型

  11. # Construct a linear model.

  12. b = tf.Variable(tf.zeros([1]))

  13. W = tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0))

  14. y = tf.matmul(W, x_data) + b

  15.  
  16. # 拟合的过程,使用的是梯度下降方法

  17. # Minimize the squared errors.

  18. loss = tf.reduce_mean(tf.square(y - y_data))

  19. optimizer = tf.train.GradientDescentOptimizer(0.5)

  20. train = optimizer.minimize(loss)

  21.  
  22. # For initializing the variables.

  23. init = tf.initialize_all_variables()

  24.  
  25. # Launch the graph

  26. sess = tf.Session()

  27. sess.run(init)

  28.  
  29. # Fit the plane.

  30. for step in xrange(0, 201):

  31. sess.run(train)

  32. if step % 20 == 0:

  33. print step, sess.run(W), sess.run(b)

  34.  
  35. # Learns best fit is W: [[0.100 0.200]], b: [0.300]

使用gedit或gvim将上述程序内容输入到文件/home/shiyanlou/tensorflow/test.py,保存并执行下面的命令:

(tensorflow) $ python test.py

运行上面的程序可以得到下图的输出信息:

此处输入图片的描述

五、下一步

现在你已经有了一个TensorFlow实验环境,下一步可以通过通过TensorFlow官网官网丰富的教程进行学习。官网资料非常丰富,具备基本的英语基础就可以学习。

建议先学习下面两个教程:

六、参考资料

  1. TensorFlow官网
  2. TensorFlow源代码
  3. Jeff Dean Large-Scale Deep Learning for Intelligent Computer Systems PPT

七、后续实验

由于TensorFlow官方教程是最权威准确的,并且已经有人开始进行翻译。在实验楼我就不重复制作轮子了。建议大家可以充分利用实验楼本节提供的实验环境,结合官方教程,边学习边逐步实践TensorFlow教程,如果有任何疑问,欢迎在问答页面提出,期待与大家的交流。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值