文章目录
背景简介
机器学习是当前一大热门,涉及领域也十分广泛。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。tensorflow是一个基于数据流编程的符号数学系统,被广泛用于各类机器学习算法的编程实现,已然成为机器学习生态系统中的重要基石。
tensorflow概要
由Goole Brain开源, 设计初衷是加速机器学习的研究。2015年11月在GitHub上开源,2016年4月分布式版本,2017年发布了1.0版本,趋于稳定
Google希望让这个优秀的工具得到更多的应用,从整体上提高深度学习的效率
核心概念
TensorFlow中的计算可以表示为一个有向图(Directed Graph)
或者称为计算图(Computation Graph),其中每一个运算操作(operatin)将作为一个节点(node),计算图描述了数据的计算流程,也负责维护和更新状态(更新w参数)。用户通过python, c++, go, java语言设计这个数据计算的有向图,计算图的每一个节点可以有任意多个输入和任意多个输出,每一个节点描述了一种运算操作,节点可以算是运算操作的实例化(instance),计算图中的边里面流动(flow)的数据被称为张量(tensor),故而得名 TensorFlow。
TensorFlow 相关链接
TensorFlow官方网址:https://tensorflow.google.cn/
GitHub网址: github.com/tensorflow/tensorflow
模型仓库网址: github.com/tensorflow/models
支持语言
Python
C++
Go
Java
后端使用C++, CUDA
Google 大量成功项目
Android系统
Chromium浏览器
Go编程语言
JavaScript引擎V8
Protobuf数据交换框架
Bazel编译工具
OCR工具Tesseract
TensorFlow实现的算法可以在众多异构的系统上方便地移植,比如Android手机,iphone,
普通CPU服务器,大规模GPU集群
除了执行深度学习算法,TensorFlow还可以用来实现很多其他算法,包括线性回归,逻辑回归,随机森林等
TensorFlow建立的大规模深度学习模型应用场景也非常广,包括语音识别、自然语言处理、计算机视觉、机器人控制、信息抽取、药物研发、分子活动预测
学习tensorflow之前需要先有一定的编程和机器学习经验,可将其理解为学习机器学习的计算抽象框架。
模块的安装及导入
导入前需要先进行模块的安装
tensorflow的安装包括在cpu的安装和在gpu的安装,在Linux/Ubuntu系统中包括cpu的安装和在gpu上的安装,而在Mac OS X 系统中,从1.2版本开始,不再支持gpu的安装。tensorflow的安装包括以下几种方式:
- virtualenv (创建隔离容器,easily 排查安装问题)
- "本地"pip (最简单的安装方式)
- Docker (不用担心兼容性问题)
- 从源代码安装,更专业有单独的文档记录
首先需要在使用的环境中安装TensorFlow,TensorFlow 的 Ubuntu/Linux 安装分为 CPU 版本和 GPU 版本
(1)安装仅支持 CPU 的版本,直接安装如下:
pip install tensorflow==1.13.1
(2)安装支持 GPU 的版本的前提是已经安装了 CUDA SDK,直接使用下面的命令:
pip install tensorflow-gpu==1.13.1
安装完成后导入模块
import tensorflow as tf
虽然对于大多数人来说,tensorflow的开发语言是python,但它并不是有一个标准的的python库。在理解上,tensorflow与html框架类似,tensorflow是一种用于表示某种类型的计算抽象的框架,目前主要用于神经网络的训练。
tensorflow的使用
查看tensorflow安装版本
__ version__ = pywrap_tensorflow.__ version__
import tensorflow
print(tensorflow.__version__)