摘要: 原创出处: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. [hadoop] - Container [xxxx] is running beyond physical/virtual memory limits.

    当运行mapreduce的时候,有时候会出现异常信息,提示物理内存或者虚拟内存超出限制,默认情况下:虚拟内存是物理内存的2.1倍.异常信息类似如下: Container [pid=13026,cont ...

  2. xargs命令详解,xargs与管道的区别

    为什么要用xargs,问题的来源 在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容易与管道搞混淆,本篇会详细讲解到底什么是xargs命令,为什么要用xargs命令以 ...

  3. 前端数据统计用做Bootstrap的一些柱状图、饼状图和折线图案例

    Bootstrap,来自 Twitter,是目前最受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷. Bootstrap ...

  4. ERP管理员培训报道

    金秋十月,丹桂飘香,为期三天的“201610管理员培训”活动于2016年10月19日在苏州总部成功举行.参与本次培训活动的有浙江卡迪夫电缆有限公司.上海华源瓷业股份有限公司.江苏牛牌纺织机械有限公司. ...

  5. select函数的用法

    首先介绍阻塞方式与非阻塞方式: 阻塞方式(block),就是进程或是线程执行到这些函数时必须等待某个事件的发生.如果事件没有发生,进程或线程就被阻塞,函数不能立即返回. 非阻塞方式(non-block ...

  6. php 实现购物车功能,以大苹果购物网为例,上图上代码。。。。

    首先是几个简单的登录页面 <body> <form action="chuli.php" method="post"> <div ...

  7. 不需要密码的windows计划任务设置

    使用windows计划任务定时做些事情,确实非常方便,但创建任务时老是需要设置密码,否则在执行任务时会报80070005的系统错误导致任务无法执行. 有时windows没设密码或当账户修改密码就必须修 ...

  8. Java系统属性与Preferences API的简单介绍

    系统属性在和Preferences API都是键值对,前者只能当前应用程序中共享数据,而后者可以在用户的各个应用或用户之间共享数据. 系统属性 Java 的系统属性决定了 Java 程序实际运行的环境 ...

  9. C# 输入法

    C# 输入法 虽说输入法不是什么新事物,各种语言版本都有,不过在C#不常见:这就会给人一种误会:C#不能做!其实C#能不能做呢,答案是肯定的--三种方式都行:IMM.TSF以及外挂式.IMM这种就是调 ...

  10. 3301: [USACO2011 Feb] Cow Line

    3301: [USACO2011 Feb] Cow Line Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 82  Solved: 49[Submit ...