Tensorflow入门

上传人:lcm****20 文档编号:124922129 上传时间:2020-03-14 格式:PPT 页数:29 大小:2.37MB
返回 下载 相关 举报
Tensorflow入门_第1页
第1页 / 共29页
Tensorflow入门_第2页
第2页 / 共29页
Tensorflow入门_第3页
第3页 / 共29页
Tensorflow入门_第4页
第4页 / 共29页
Tensorflow入门_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《Tensorflow入门》由会员分享,可在线阅读,更多相关《Tensorflow入门(29页珍藏版)》请在金锄头文库上搜索。

1、Glimpse TensorFlowTensorFlow 初 初了解了解 TensorFlow是什么 一个采用数据流一个采用数据流图图 data flow graphsdata flow graphs 用于数 用于数值计值计 算的开源算的开源 软软件件库库 最初由最初由GoogleGoogle大大脑脑小小组组 隶属于 隶属于GoogleGoogle机器智能研究机构 的机器智能研究机构 的 研究研究员员和工程和工程师们师们 开开发发出来 用于机器学出来 用于机器学习习和深度神和深度神经经网网络络方方 面的研究面的研究 也广泛用于其他也广泛用于其他计计算算领领域 域 TensorFlow特性 Py

2、thon API 高度的灵活性 可移植性 Portability Tensorflow 在CPU和GPU上运行 比 如可以运行在台式机 服务器 手机移动设备等等 自动求微分 性能最优化 庞大的社群支持 深度学深度学习习工具工具对对比比 库库名称开发语发语 言平台特性 Caffe Caffe Caffe2 C python MatlabLinux Mac OS Windows在CV领域应用最为广泛 TheanopythonLinux Mac OS Windows 发布早 文档丰富 适 用于学术领 域 PyTorch Torch PyTorch Python Torch开发语言为Lua C Lin

3、ux Mac OS轻量级 灵活 TensorflowC Python Linux Mac OS Windows Android iOS 功能齐全 适合企业级 开发 一些好玩的TensorFlow项目 卷积神经网络实现图片风格转变卷积神经网络实现图片风格转变s 皮肤癌图像分类皮肤癌图像分类 最终相关成果发表在Nature 而且在Nature的封面 这是一个特别成功地通过计算 机视觉及深度学习相关的技术 利用廉价的移动设备 能够很有效地检测是否有皮 肤癌 大大节省了医疗检测的成本 AlphaGoAlphaGo 安装安装 UbuntuUbuntu 16 0416 04 64bit64bit 1 1

4、安装 安装AnacondaAnaconda 1 1 官网下官网下载对应载对应 版本版本 2 2 在下在下载载目目录录下下执执行 行 bashbash Anaconda3 4 4 0 Linux Anaconda3 4 4 0 Linux x86 64 shx86 64 sh 3 3 安装安装SpyderSpyder sudo sudo aptapt installinstall spyderspyder 2 2 安装 安装TensorFlowTensorFlow CPUCPU版本版本 1 1 方法一 方法一 pippip installinstall tensorflowtensorflow

5、2 2 方法二 下方法二 下载载源源码码安装 可安装 可对对配置配置进进行修行修改改 TensorFlow的系统结构以C API为界 将整个系统分为 前端 和 后端 两 个子系统 前端系统 提供编程模型 负责构造计算图 后端系统 提供运行时环境 负责执行计算图 架构设计架构设计 基本概念基本概念 TensorFlow核心程序由2个独立部分组成 a Building the computational graph构建计算图 b Running the computational graph运行计算图 计算图是一系列的TensorFlow操作排列成一个有向无环图 基本概念基本概念 TensorFl

6、owTensorFlow 的的 数据模型数据模型 为为 tensor 张量 可可简单简单 理解理解为类为类 型化的多型化的多维维数数组组 0 0 维张维张 量是一个数字 也量是一个数字 也叫叫标标量量 s 1s 1 1 1维维张张量量称称为为 向量向量 v 1 2 3 v 1 2 3 2 2维张维张 量量称称为为矩矩阵 阵 m 1 2 3 4 5 6 7 8 9 m 1 2 3 4 5 6 7 8 9 n n维维 但和但和NumpyNumpy 中的数中的数组组不同是 一个不同是 一个张张量中主量中主要要保留保留了了三个三个属属性性 name shape type import tensorfl

7、ow as tf a tf constant 1 2 3 b tf constant 2 3 5 result tf add a b name add print result tensor add 0 shape 3 dtype int32 add 0add 0 表示表示resultresult这这个个张张量是量是计计算算节节点点 add add 输输出的出的第第一个一个结结果果 shapeshape 3 3 表示表示张张量是一个一量是一个一维维数数组组 这这个数个数组组的的长长度是度是 3 3 dtype int32dtype int32 是数据是数据类类型 型 TensorFlowTen

8、sorFlow会会对对参参与运与运算算的所的所有有张张量量 进进 行行类类型的型的检查检查 当 当类类型不匹配型不匹配时时会会报报错错 运行运行结结 果果 基本概念基本概念 TensorFlowTensorFlow 的的 计计算模型算模型 为为 graph 计算图 一个一个 TensorFlow TensorFlow 图图描述了描述了计计 算的算的过过程程 为为了了进进行行计计算算 图图必必须须在在 会话 里被启里被启动动 会会话话 将将图图的的 op 节点 分分发发到到诸诸如如 CPUCPU 或或 GPUGPU 之之类类 的的 设设备备 上上 同同时时提提供供执执行行 opop 的的方方法法

9、 这这些方些方法法执执行行后后 将将产产生的生的 tensor 返返 回回 TensorFlowTensorFlow 中的每一个中的每一个计计算都是算都是图图上的一个上的一个节节点 而点 而 节节 点之点之间间的的边边描述了描述了计计算之算之间间的依的依赖赖关系关系 基本概念基本概念 TensorFlowTensorFlow 的的 运行模型运行模型 为为 session 会话 通过会话来执行计算图 通过会话来执行计算图 当当计计算算 完完TensorFlowTensorFlow 使用会使用会话话的方式主要有如的方式主要有如下下两种两种模模式 式 sess tf Session 创建一个会话 s

10、ess run result 运行此会话 Sess close 运行完毕关闭此会话 运行结 果 with tf Session as sess sess run result 通过python的上下文管理器来使用会话 当 上下文退出时会话管理和资源释放也自动完成 变量 Variable 当当训训练练模型模型时时 用用变变量来量来 存储和更新参数参数 建模建模时时它它们们需要被明需要被明确地确地 初始化 当 当创创 建一个建一个变变量量时时 你你将一个将一个 张张量量 作作为为初始初始值传值传 入构造函数入构造函数Variable Variable TensorFlowTensorFlow提提供

11、供了一系列了一系列操操作作符符来初始来初始化化张张量量 weights tf Variable tf random normal 2 3 stddev 2 name weights 这里生成 2 3 的矩阵 元素的均值为0 标准差为2 可用mean指定均值 默认值为0 随机数生成函数 tf truncated normal 正太分布 偏离平均值超过两个偏差 重新选择 tf random uniform 最小值 最大值 平均分布 控制字符中可加入种子 seed n 常数生成函数 全零数组 tf zeros 2 3 int32 全一数组tf ones 全为给 定的某数 例如 9 tf fill 2

12、 3 9 产 生给定值得常量 tf cinstant 1 2 3 with tf Session as sess sess run weights initializer init tf initialize all variables with tf Session as sess sess run init 初始化方式 Placeholder Feed 一个一个计计算算图图可以参数化的接收外部的可以参数化的接收外部的输输入 作入 作为为一个一个placeholder placeholder 占位符占位符 在计算时在计算时 需要提供一个字典需要提供一个字典feed dictfeed dict

13、来指定来指定placeholderplaceholder的取值 的取值 input1 tf constant 3 0 input2 tf constant 2 0 mul tf multiply input1 input2 with tf Session as sess result sess run mul print result input1 tf placeholder tf float32 占位 符 input2 tf placeholder tf float32 output tf multiply input1 input2 with tf Session as sess pri

14、nt sess run output feed dict input1 3 0 input2 2 0 运行运行结结果 果 6 6 0 0运行运行结结果 果 6 6 0 0 为什么使用计算图 Graph 1 更加结构化的体现计算过程 2 很利于我们提取中间某些节点的结果 3 更重要的是 这个图的结构天生就是方便求导 如果要求 dJ da 就只要 dj dv dv da 3 1 TensorFlow训练 神经网 络 三个步三个步骤骤 1 1 定 定义义神神经经网网络络的的结结构和构和前前向向传传播播的的输输出出结结果 果 2 2 定定义损义损 失函数失函数以以及及选选择择反向反向传传播播优优化化的

15、算的算法法 3 3 生成会生成会话话并且并且在在训练训练 数数据上据上反反复运复运行行反向反向传传播播优优化化算算法法 神经网络神经网络 基本结构 http playground tensorflow orghttp playground tensorflow org 神神经经网网络络由大量神由大量神经经元元组组成 每个神成 每个神经经元元获获得得线线性性组组合的合的输输入 入 经过经过 非非线线 性的激活函数 然后得到非性的激活函数 然后得到非线线性的性的输输出 出 神经网络 激活函 数 Each successive layer uses the output from the previ

16、ous layer as input 线线性模型的最大特点是任意性模型的最大特点是任意线线性模型的性模型的组组合仍然是合仍然是线线性模型 只通性模型 只通过线过线 性性变换变换 任意 任意层层的全的全连连接神接神经经 网网络络 和和单层单层 神神经经网网络络没有任何区没有任何区别别 因此 因此非非线线性性是深度学是深度学习习的重要特性 的重要特性 目前目前TensorFlowTensorFlow提供提供了了 7 7 种不同的非种不同的非线线性激活函数 常性激活函数 常见见的有的有 tf nn relutf nn relu tf tf sigmoidsigmoid 和和 tf tanhtf tanh HardHard ReLU ReLU g x max 0 x g x max 0 x Noise Noise ReLU ReLU max 0 x N 0 max 0 x N 0 x x 该该函数的函数的导导函数函数 g x 0g x 0 或或1 1 ReLu Rectified Linear Units 函数S形函数 Sigmoid Function 函数表达式和函数表达式和导导函数函数 双

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号