摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢!
『不要把手段当成目标 — 《一个瑜伽行者的自传》』
 
本文提纲
1. 机器学习
2. TensorFlow 介绍
    2.1 什么是 TensorFlow
    2.2 TensorFlow 能做什么
3. 安装 TensorFlow
    3.1 安装 pip
    3.2 安装 TensorFlow
    3.3 运行 Hello,TensorFlow 案例
4. 小结
 

一、机器学习

机器学习,并不能理解成机器学习算法。机器学习,就是为了让机器可以去模拟人类。在应用实践上,可以狭义理解为机器学习算法,但聚焦在具体算法实现和编程上,往往实践中不尽人意。机器学习是一种学科,一种类似数学的学科,交叉了数学、算法、计算机等多门学科。目的是让机器(这里指计算机)如何模拟或者实现人类的学习行为。就像我们读小学,读初中,读高中… 让机器学习的话可能需要 1 小时,因为机器效率很高。
机器学习的应用:
     语音识别
     自动驾驶
     语言翻译
     计算机视觉
     推荐系统
     无人机
     识别垃圾邮件
 
已经实践的Demo:
     人脸识别
     无人驾驶汽车
     电商推荐系统
 

二、TensorFlow 介绍

标语:TensorFlow 是一个用于人工智能的开源神器
 
什么是 TensorFlow 呢?
TensorFlow™ 是一个采用数据流图(Data Flow Graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个 CPU(或GPU),服务器,移动设备等等。TensorFlow 最初由 Google 大脑小组(隶属于 Google 机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。
 
那什么是数据流图(Data Flow Graphs)呢?
数据流图用“结点”(nodes)和“线”(edges)的有向图来描述数学计算。“节点” 一般用来表示施加的数学操作,但也可以表示数据输入(feed in)的起点/输出(push out)的终点,或者是读取/写入持久变量(persistent variable)的终点。“线”表示“节点”之间的输入/输出关系。这些数据“线”可以输运“size可动态调整”的多维数据数组,即“张量”(tensor)。张量从图中流过的直观图像是这个工具取名为“Tensorflow”的原因。一旦输入端的所有张量准备好,节点将被分配到各种计算设备完成异步并行地执行运算。
 
TensorFlow 能做什么?
上面也说了,用于数值计算。具体而言,语音识别,自然语言理解,计算机视觉,广告等等。所以未来有更多的产品,将想法和机器学习算法产品化。
 
TensorFlow 的特征如下:
1. 高度的灵活性
2. 真正的可移植性(Portability)
3. 将科研和产品联系在一起
4. 自动求微分
5. 多语言支持
6. 性能最优化

三、安装 TensorFlow

环境:Mac OS 10.x
TensorFlow 支持多种安装,比如 Pip, Docker, Virtualenv, Anaconda 或源码编译的方法安装 TensorFlow。我自己推荐当然是 Pip 安装。什么是 Pip ?Pip 是一个 Python 的软件包安装与管理工具。
 
1. 安装 pip
然后解压 pip ,并执行 python 进行安装。
 
1
2
3
tar zvxf pip-9.0.1.tar.gz
cd pip-9.0.1 
sudo python setup.py install
2. 安装 TensorFlow
用 pip 安装 TensorFlow :
1
sudo pip install https://storage.googleapis.com/tensorflow/mac/tensorflow-0.5.0-py2-none-any.whl
 
Mac OS X 10.x 因 SIP 安全问题无法运行,安装会不成功。所以重启 OS,长按 Command + R 。点击 Utilities(实用工具)-> Terminal(终端),输入如下命令:
1
csrutil disable
 

然后开机,重新用 pip 安装 TensorFlow :

1
sudo pip install https://storage.googleapis.com/tensorflow/mac/tensorflow-0.5.0-py2-none-any.whl
(需要FQ哈)
 
3. 运行 Hello,TensorFlow 案例
使用 TensorFlow, 你必须明白 TensorFlow:
a. 使用图 (graph) 来表示计算任务.
b. 在被称之为 会话 (Session) 的上下文 (context) 中执行图.
c. 使用 tensor 表示数据.
d. 通过 变量 (Variable) 维护状态.
e. 使用 feed 和 fetch 可以为任意的操作(arbitrary operation) 赋值或者从其中获取数据
 
这里我们执行下 Hello,TensorFlow 。证明 TensorFlow 安装成功就好。打开 PyCharm,新建一个 HelloTensorFlow.py 。创建一个字符串常量,然后创建一个 Session 对象,从会话中构造器中会默认启动一个图,Session 对象使用后要需要关闭并释放资源。
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# -*- coding: utf-8 -*-
import tensorflow as tf
 
# 创建另外一个字符串常量
helloTf = tf.constant('Hello,TensorFlow!')
 
# 启动默认图
sess = tf.Session()
 
# 调用 sess 的 'run()' 方法来执行
# 返回值 'result' 是一个字符串对象.
result = sess.run(helloTf)
print result
# ==> Hello,TensorFlow!
 
# 任务完成, 关闭会话.
sess.close()
 
然后运行即可得到输出:
Hello,TensorFlow!
 

四、小结

本文主要介绍了机器学习、TensorFlow 安装及简单使用。
 
推荐书《一个瑜伽行者的自传》一本讲行者的故事。

欢迎扫一扫我的公众号关注 — 及时得到博客订阅哦!

TensorFlow 安装详解的更多相关文章

  1. Win10 TensorFlow(gpu)安装详解

    Win10 TensorFlow(gpu)安装详解 写在前面:TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张量)意味着 ...

  2. (转)Win10 TensorFlow(gpu)安装详解

    Win10 TensorFlow(gpu)安装详解 写在前面:TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tensor(张量)意味着 ...

  3. Linux ssh登录和软件安装详解

    阿哲Style   Linux第一天 ssh登录和软件安装详解 Linux学习第一天 操作环境: Ubuntu 16.04 Win10系统,使用putty_V0.63 本身学习Linux就是想在服务器 ...

  4. 【转】Linux下Android ADB驱动安装详解

    原文网址:http://blog.csdn.net/zhenwenxian/article/details/5901350 Linux下Android ADB驱动安装详解 概述 最近由于内置的合作商比 ...

  5. scribefire 多博客管理利器 安装详解

    scribefire 多博客管理利器 安装详解 一.ScribeFire介绍 ScribeFire 是 Firefox (火狐浏览器)上著名的博客写作工具,目前已跨平台支持多浏览器(Firefox,C ...

  6. CentOS 6.5的安装详解

    CentOS 6.5的安装详解 主流: 目前的Linux操作系统主要应用于生产环境, 主流企业级Linux系统仍旧是RedHat或者CentOS 免费: RedHat 和CentOS差别不大,Cent ...

  7. Linux下tomcat的安装详解

    Linux下tomcat的安装详解 来源: ChinaUnix博客 日期: 2007.01.21 22:59 (共有0条评论) 我要评论 一,安装前的准备:1,Linux版本:我的是企业版.(至于红帽 ...

  8. Phoenix和SQuirrel安装详解

    Phoenix安装详解 描述 现有hbase的查询工具有很多如:Hive,Tez,Impala,Shark/Spark,Phoenix等.今天的主角是Phoenix. phoenix,中文译为“凤凰” ...

  9. zabbix agent安装详解

    安装 Installing repository configuration package Zabbix 2.2 for RHEL5, Oracle Linux 5, CentOS 5: rpm - ...

随机推荐

  1. Input file 文本框美化

    HTML原生的input file 上传按钮有多(无)不(力)漂(吐)亮(槽)我就不多说了.大家几乎在项目中都会有遇到图片.等文件需要上传的地方,好看的文件上传按钮会使人身心愉悦(我瞎说的).好了不多 ...

  2. Dockerfile详解

    Dockerfile详解 利用Dockerfile文件,可以构建docker的image镜像 命令使用 通过-f参数指定Dockerfile路径,进行构建image docker build -f / ...

  3. STM32中断优先级理解

    STM32优先级理解 学习并使用STM32已经有一段时间了,记得先前一直不太理解STM32优先级中怎么设定抢占优先级和响应优先级,后来也是看了以为网友的博客才明白了STM32的优先级的设定到底是这么回 ...

  4. linux CentOS 权限问题修复(chmod 777 -R 或者chmod 755 -R问题修复)

    我个人曾经有一次经历: 就是在修改文件夹权限的时候,本来该执行: #chmod 777 -R ./ 结果我漏掉了那个".";执行的命令是chmod 777 -R /. 这个命令一定 ...

  5. MySQL 修改最大连接数

    方法一:进入MySQL安装目录 打开MySQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MySQ ...

  6. C#一定比C++性能差?当然不!破除迷信,从我做起!

    几乎所有的程序员在初学编程之时,都被灌输过"托管语言(Java.C#)性能比非托管语言(C.C++)差好多" 的迷信教条.如果你问他们为什么,他们一定会说:托管语言需要通过虚拟机或 ...

  7. opensessioninviewFilter导致org.hibernate.NonUniqueObjectException

    起因: 公司业务需求,增加了一个新的数据源,增加之后,起初一切正常,但是发现后台管理系统所有Ajax请求获取信息没有问题,但是涉及到保存操作就抛出异常. 异常: org.hibernate.NonUn ...

  8. 翻译:如何使用CSS实现多行文本的省略号显示

    本文翻译自CSS Ellipsis: How to Manage Multi-Line Ellipsis in Pure CSS,文中某些部分有些许改动,并添加译者的一些感想,请各位读者谅解. 合理的 ...

  9. XCel 项目总结 - Electron 与 Vue 的性能优化

    XCEL 是由凹凸实验室推出的一个 Excel 数据清洗工具,其通过可视化的方式让用户轻松地对 Excel 数据进行筛选. XCEL 基于 Electron 和 Vue 2.0 进行开发,充分利用 E ...

  10. js设置当前页面始终为框架最顶层

    使用iframe做的页面,当session失效时,登录页面会显示在iframe里面 解决办法判断登录页面是否为顶层页面,不是的话刷新顶层页面