财新传媒
位置:博客 > 集智俱乐部 > AI江湖 | Tensorflow心法篇

AI江湖 | Tensorflow心法篇

文 | 集智小仙女 
 
在《AI江湖筑基篇》中我们已经熟悉了深度学习的基础——人工神经网络。然而细数当今人工智能之江湖,群雄四起,风云变换。 若仅凭区区AI筑基之法,恐不能在AI江湖立足。
在AI江湖中,流传有Scikit-learn,Theano,Keras,Tensorflow等多种高深武学,尤其是出自名门的Tensorflow,以其速度之讯,威力之大,深受AI江湖人士青睐。 然而对于Tensorflow这种精妙武学来说,若无名师指导,自学起来势必艰辛。 所以,集智AI学园为助力初入AI江湖之人士快速腾飞,特推出《Tensorflow 入门专题视频教程》(请戳文末“阅读原文”)。 依靠武林前辈的视频指导,助你打开AI学习之任督二脉,让你早日成为AI江湖腾飞之蛟龙! 
 
正所谓: 
 
 
您要是现在还不方便观看视频,那不妨先来看看本心法秘籍。要熟练运用 TensorFlow 这门武学,首先要熟记其心法,即了解Tensorflow的基本用法。待掌握心法后,在《Tensorflow招式篇》中,我们还会探讨Tensorflow的拳脚招式,即学习编写代码。
 
 
TensorFlow 是为何物?
 
Tensorflow 是一个深度学习库,出自江湖名门 Google 。当年 Google 为助力AI江湖昌盛,统一AI江湖武学,遂将 Tensorflow 精要(源码)公布于世。
在 Tensorflow 武学中,招式的基本单位叫做 Tensor(张量)。
 
Tensor(张量)意味着 N 维数组,Flow(流)意味着基于数据流图的计算,TensorFlow即为张量从图的一端流动到另一端。
 
Tensorflow的过人之处是支持异构设备分布式计算,它能够在各个平台上自动运行模型,从电话、单个CPU / GPU甚至到成百上千GPU卡组成的分布式系统。
 
并且Tensorflow对CNN、RNN和LSTM算法的支持非常积极,是目前在图像领域,自然语言处理领域最流行的深度神经网络模型。
 
TensorFlow 之武学特点    
 
第一,基于Python,易学、易写、易读。
 
第二,在多GPU系统上的运行更为顺畅。
 
第三,代码编译效率较高。
 
第四,社区发展的非常迅速并且活跃。
 
第五,能够生成显示网络拓扑结构和性能的可视化图。
 
TensorFlow 之心法精要
 
TensorFlow是用数据流图(data flow graphs)技术来进行数值计算的。
 
数据流图能够描述有向图中的数值计算过程。
 
在有向图中,节点通常代表数学运算,边表示节点之间的某种联系,它负责传输多维数据(Tensors)。
 
节点可以被分配到多个计算设备上,可以异步和并行地执行操作。因为是有向图,所以只有等到之前的入度节点们的计算状态完成后,当前节点才能执行操作。
 
运行环境安装
 
Tensorflow的官网上有安装环境的最新方法,讲的很清楚,各种方式都有讲解。
在下选择基于 Anaconda 的安装,因为使用 Anaconda 可以提供一个干净的环境,让你在修炼 Tensorflow 时不受外界的影响(Anaconda可以虚拟多个互相独立不同的开发环境)。
 
Anaconda 是一个集成许多第三方科学计算库的 Python 科学计算环境,用 conda 作为自己的包管理工具,同时具有自己的计算环境,类似 Virtualenv。
 
安装 Anaconda 环境非常容易,直接在官网下载安装即可。
 
在 Anaconda 安装完毕后,首先新建一个 conda 虚拟环境
 
 
激活环境,使用 conda 安装 TensorFlow
 
 
安装成功后,每次使用 TensorFlow 的时候需要激活 conda 环境
 
conda 环境激活后,你可以测试是否成功,在终端进入 python,输入下面代码,没有提示错误,说明安装 TensorFlow 成功:
当你不用 TensorFlow 的时候,关闭环境:
 
到这里,你已经掌握了 Tensorflow 基本心法的全部内容,应该对 Tensorflow 这门武学有了一个基本的认识。
推荐 0