Tensorflow基础

1、深度学习介绍

深度学习,如深度神经网络、卷积神经网络和递归神经网络已被应用
计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域
并获取了极好的效果。

2、认识Tensorflow

深度学习框架



Tensorflow特点

1、真正的可移植性
引入各种计算设备的支持包括CPU/GPU/TPU,以及能够很好地运行在移动端,
如安卓设备、ios、树莓派等等

2、多语言支持
Tensorflow 有一个合理的c++使用界面,也有一个易用的python使用界面来构建和
执行你的graphs,你可以直接写python/c++程序。

3、高度的灵活性与效率
TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库
能够灵活进行组装图,执行图。随着开发的进展,Tensorflow的效率不算在提高

4、支持
TensorFlow 由谷歌提供支持,谷歌投入了大量精力开发 TensorFlow,它希望
TensorFlow 成为机器学习研究人员和开发人员的通用语言

3、Tensorflow的安装

开启GPU支持(不推荐)

如果系统没有NVIDIA®GPU,请构建并安装CPU版本

Ubuntu:

安装CUDA和cuDNN

Mac:

安装CUDA和cuDNN

安装中如果遇到什么问题,可以参考:
安装 TensorFlow
https://files.pythonhosted.org/packages/d4/https://www.tensorflow.org/install#tensorflow
TensorFlow和PaddlePaddle不兼容问题(serialized_options)
https://blog.csdn.net/weixin_43336281/article/details/87374007

4、Tensorflow初体验

加法运算

Tensorflow加法运算


5、Tensorflow进阶

1、图

图默认已经注册,一组表示 tf.Operation计算单位的对象和tf.Tensor
表示操作之间流动的数据单元的对象

获取调用:

tf.get_default_graph()
op、sess或者tensor 的graph属性
图的创建

tf.Graph()

使用新创建的图

g = tf.Graph()
with g.as_default(): a = tf.constant(1.0) assert c.graph is g

2、会话

tf.Session()
运行TensorFlow操作图的类,使用默认注册的图(可以指定运行图)

会话资源
会话可能拥有很多资源,如 tf.Variable,tf.QueueBase
和tf.ReaderBase,会话结束后需要进行资源释放

sess = tf.Session() sess.run(…) sess.close()
使用上下文管理器
with tf.Session() as sess:
sess.run(…)

config=tf.ConfigProto(log_device_placement=True)
交互式:tf.InteractiveSession()

会话的run()方法

run(fetches, feed_dict=None,graph=None)
运行ops和计算tensor
嵌套列表,元组,
namedtuple,dict或OrderedDict(重载的运算符也能运行)

feed_dict 允许调用者覆盖图中指定张量的值,提供给
placeholder使用

返回值异常

RuntimeError:如果它Session处于无效状态(例如已关闭)。
TypeError:如果fetches或feed_dict键是不合适的类型。
ValueError:如果fetches或feed_dict键无效或引用 Tensor不存在。

3、张量

1、张量的阶和数据类型

Tensorflow基本的数据格式

一个类型化的N维度数组(tf.Tensor)

三部分,名字,形状,数据类型

张量的阶

张量的数据类型

张量属性

graph 张量所属的默认图

op 张量的操作名

name 张量的字符串描述

shape 张量形状

张量的动态形状与静态形状

TensorFlow中,张量具有静态形状和动态形状

静态形状:
创建一个张量或者由操作推导出一个张量时,初始状态的形状

tf.Tensor.get_shape:获取静态形状
tf.Tensor.set_shape():更新Tensor对象的静态形状,通常用于在不能直接推
断的情况下

动态形状:
一种描述原始张量在执行过程中的一种形状

tf.reshape:创建一个具有不同动态形状的新张量
要点

1、转换静态形状的时候,1-D到1-D,2-D到2-D,不能跨阶数改变形状

2、 对于已经固定或者设置静态形状的张量/变量,不能再次设置静态形状

3、tf.reshape()动态创建新张量时,元素个数不能不匹配

2、张量操作
张量操作-生成张量


正态分布


概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ
决定了分布的幅度。当μ = 0,σ = 1时的正态分布是标准正态分布。

张量操作-张量变换


提供给Tensor运算的数学函数

算术运算符
基本数学函数
矩阵运算
减少维度的运算(求均值)
序列运算

4、变量

1、变量的创建

2、变量的初始化

3、变量的作用域
变量也是一种OP,是一种特殊的张量,能够进行存储持久化,它的
值就是张量。

变量的创建

tf.Variable(initial_value=None,name=None)

创建一个带值initial_value的新变量assign(value)
为变量分配一个新值
返回新值
eval(session=None)
计算并返回此变量的值name属性表示变量名字
变量的初始化

tf.global_variables_initializer()
添加一个初始化所有变量的op

在会话中开启

可视化学习Tensorboard

数据序列化-events文件
TensorBoard 通过读取 TensorFlow 的事件文件来运行

tf.summary.FileWriter(’/tmp/tensorflow/summary/test/’, graph=
default_graph)
返回filewriter,写入事件文件到指定目录(最好用绝对路径),以提供给tensorboard使用

开启
tensorboard --logdir=/tmp/tensorflow/summary/test/

一般浏览器打开为127.0.0.1:6006

注:修改程序后,再保存一遍会有新的事件文件,打开默认为最新

增加变量显示

目的:观察模型的参数、损失值等变量值的变化。
1、收集变量

tf.summary.scalar(name=’’,tensor) 收集对于损失函数和准确率
等单值变量,name为变量的名字,tensor为值
tf.summary.histogram(name=‘’,tensor) 收集高维度的变量参数
tf.summary.image(name=‘’,tensor) 收集输入的图片张量能显示图片

2、合并变量写入事件文件

merged = tf.summary.merge_all()
运行合并:summary = sess.run(merged),每次迭代都需运行
添加:FileWriter.add_summary(summary,i),i表示第几次的值

5、模型保存和加载

tf.train.Saver(var_list=None,max_to_keep=5)

var_list:指定将要保存和还原的变量。它可以作为一个
dict或一个列表传递.
max_to_keep:指示要保留的最近检查点文件的最大数量。
创建新文件时,会删除较旧的文件。如果无或0,则保留所有
检查点文件。默认为5(即保留最新的5个检查点文件。)

6、自定义命令行参数

自定义命令行参数

1.
2、
tf.app.flags.,在flags有一个FLAGS标志,它在程序中可以调用到我们
前面具体定义的flag_name

3、
通过tf.app.run()启动main(argv)函数

python人工智能——深度学习——TensorFlow基本介绍相关推荐

  1. python人工智能——深度学习——TensorFlow——图和会话

    图 图默认已经注册,一组表示 tf.Operation计算单位的对象和tf.Tensor表示操作之间流动的数据单元的对象. 获取调用: tf.get_default_graph() op.sess或者 ...

  2. 人工智能深度学习Caffe框架介绍,优秀的深度学习架构

    在深度学习领域,Caffe框架是人们无法绕过的一座山.这不仅是因为它无论在结构.性能上,还是在代码质量上,都称得上一款十分出色的开源框架.更重要的是,它将深度学习的每一个细节都原原本本地展现出来,大大 ...

  3. 深度学习-Tensorflow基本介绍01

    一,认识TensorFlow 二,安装Tensorflow 安装的1.13版本,目前已更新2.0+版本 pip install tensorflow==1.13.1 -i https://pypi.t ...

  4. python人工智能方向怎么学_人工智能方向需要学习python或是深度学习呢?

    要回答这个问题,首先,我们先了解一下什么是Python和深度学习,各用于什么领域?了解了这两个问题,对于人工智能方向是需要学什么?先学什么?都会有一台清晰的答案. 一.Python Python是一种 ...

  5. 深度学习主流框架介绍(PyTorch、TensorFlow、Keras、Caffe、Theano、MXNET)

    深度学习主流框架介绍(PyTorch.TensorFlow.Keras.Caffe.Theano.MXNET) 1.Theano Theano是最早的深度学习框架之一,由 Yoshua Bengio ...

  6. 大数据基石python学习_资源 | 177G Python/机器学习/深度学习/算法/TensorFlow等视频,涵盖入门/中级/项目各阶段!...

    原标题:资源 | 177G Python/机器学习/深度学习/算法/TensorFlow等视频,涵盖入门/中级/项目各阶段! 这是一份比较全面的视频教程,基本上包括了市面上所有关于机器学习,统计学习, ...

  7. python 深度学习框架 Chainer 介绍

    基于Python的深度学习 HOME ABOUT ARCHIVE MILESTONE 链接 Chainer 介绍 Chainer 介绍 Posted by 徐志平 on December 14, 20 ...

  8. 【神经网络与深度学习-TensorFlow实践】-中国大学MOOC课程(四)(Python语言基础(2))

    [神经网络与深度学习-TensorFlow实践]-中国大学MOOC课程(四)(Python语言基础(2)) 第4讲 Python语言基础(2) 4.1 内置数据结构 4.1.1 序列数据结构(sequ ...

  9. 人工智能深度学习框架MXNet实战:深度神经网络的交通标志识别训练

    人工智能深度学习框架MXNet实战:深度神经网络的交通标志识别训练 MXNet 是一个轻量级.可移植.灵活的分布式深度学习框架,2017 年 1 月 23 日,该项目进入 Apache 基金会,成为 ...

最新文章

  1. Unity3D 镜面反射
  2. CodeForces 660B Seating On Bus
  3. new是不是c语言运算符优先级表,C语言运算符优先级列表(超详细)
  4. 业界首创,腾讯网络平台部实现大规模光网络实时管控系统TOOP
  5. Datapath综合代码规范(Verilog)
  6. 重学前端学习笔记(二十二)--选择器的机制
  7. python模块导入三种方式
  8. 使用AIDL挂断电话
  9. IP地址中的保留地址
  10. C++实现24点游戏
  11. PayPal WebHook事件异步通知
  12. jmu-Java-03面向对象-06-继承覆盖综合练习-Person、Student、Employee、Company
  13. 类似于wps的linux软件,出了Office、WPS还有哪些好用的办公软件?
  14. 2020个人所得税,税前工资 和 到手工资的相互计算源码(java)
  15. beyond compare 过期解决方法
  16. OPENMV上的目标检测,目标定位模型
  17. 理解数据库中候选码,主码,外码,主属性,非主属性!
  18. 最好用的:桌面搜索工具(或:硬盘搜索) 是什么?BBdoc文档搜索工具!
  19. Spring框架(基于尚硅谷视频)
  20. 计算机基础知识 教学反思,《计算机应用基础》教学反思

热门文章

  1. iOS-开发记录-UIView属性
  2. SDUT ACM 2144 最小生成树,克鲁斯卡尔模板
  3. 安装Oracle9I出现加载数据库时出错:areasQueries错误,提示停止该组件或所有组件安装,之后安装不能进行...
  4. teraterm 执行sql命令_tera term的ttl脚本使用方法 | 学步园
  5. linux 修改默认路径吗,linux中vsftp修改默认路径
  6. 构造函数及析构函数的调用
  7. C语言学习之输入两个正整数m和n,求其最大公约数和最小公倍数。
  8. 2012届华为校园招聘机试题
  9. 2013届华为校园招聘机试题
  10. 苹果开发账号过期不续费会怎样?