Tensorflow2.0学习(6)---Keras

摘要:
来自书籍:TensorFlow深度学习一、常见功能模块经典数据集加载函数网络层类模型容器损失函数类优化器类经典模型类1、网络层类:两种实现方式:张量方式和层方式如实现Softmax层:tf.nn.softmax函数实现;layers.Softmax类搭建Softmax网络层;2、网络容器Keras提供的网络容器Sequential将多个网络层封装成一个大网络模型。Model.load_weights:加载网络参数,但需提前创建网络对象。

来自书籍:TensorFlow深度学习

一、常见功能模块
  • 经典数据集加载函数
  • 网络层类
  • 模型容器
  • 损失函数类
  • 优化器类
  • 经典模型类

1、网络层类:

两种实现方式:张量方式(tf.nn)和层方式(tf.keras.layers)

如实现Softmax层:

    • tf.nn.softmax函数实现;
    • layers.Softmax(axis)类搭建Softmax网络层;

Tensorflow2.0学习(6)---Keras第1张

2、网络容器

Keras提供的网络容器Sequential将多个网络层封装成一个大网络模型。

2层的全连接层加上单独的激活函数,并用Sequential封装成一个网络。

注释:

build函数指定输入大小,即可自动创建所有层的内部张量。

summary函数打印出网络结构和参数量。

Tensorflow2.0学习(6)---Keras第2张

3、模型装配、训练、预测

(1)keras.Model类和keras.layers.Layer类

  • Layer类是网络层的母类,定义了网络层的一些常见功能:添加权值、管理权值列表等。
  • Model类是网络的母类,可添加了保存模型、加载模型、训练与测试模型等功能。

(2)简述一下模型创建训练过程:

  • 创建网络
  • 循环迭代数据集多个Epoch,每次按批产生训练数据
  • 前向传播
  • 通过损失函数计算误差值
  • 反向传播自动计算梯度
  • 更新网络参数

(3)模型装配:

compile函数:指定网络使用的优化器对象、损失函数类型,评价指标等设定

Tensorflow2.0学习(6)---Keras第3张

(4)模型训练验证:

fit函数:模型训练验证,通过fit()函数送入待训练的数据集和验证用的数据集

Tensorflow2.0学习(6)---Keras第4张

Tensorflow2.0学习(6)---Keras第5张

(5)模型预测:

Model.predict(x):完成模型预测。

Tensorflow2.0学习(6)---Keras第6张

4、模型保存与加载

三种保存与加载方式:张量方式、网络方式、SavedModel方式

(1)张量方式

Model.save_weights(path):将当前的网络参数保存到path文件上。

Tensorflow2.0学习(6)---Keras第7张

Model.load_weights(path):加载网络参数,但需提前创建网络对象。

Tensorflow2.0学习(6)---Keras第8张

(2)网络方式

Model.save(path):将模型的结构以及模型的参数保存到path文件上。

Tensorflow2.0学习(6)---Keras第9张

keras.models.load_model(path):加载模型,不需要提前创建网络对象。

Tensorflow2.0学习(6)---Keras第10张

(3)SavedModel方式

tf.saved_model.save(network, path):将network模型以SavedModel方式保存到path中

Tensorflow2.0学习(6)---Keras第11张

tf.saved_model.load函数加载模型

Tensorflow2.0学习(6)---Keras第12张

5、自定义网络

  • 自定义网络层类时,需要继承自layers.Layer基类;【即单层网络层的结构】
  • 自定义的网络类时,需要继承自keras.Model基类。【即整体模型结构】

自定义网络层:

Tensorflow2.0学习(6)---Keras第13张

Tensorflow2.0学习(6)---Keras第14张

自定义网络:

Tensorflow2.0学习(6)---Keras第15张

6、经典模型类

  • ResNet

Tensorflow2.0学习(6)---Keras第16张

Tensorflow2.0学习(6)---Keras第17张

7、测量工具

keras.metrics模块

4个步骤:

  • 新建测量器
  • 写入数据
  • 读取统计数据
  • 清零测量器

(1)新建测量器

常用的测量器:Mean类、Accuracy类、CosineSimilarity类等。

Tensorflow2.0学习(6)---Keras第18张

(2)写入数据

update_state函数

在每个step结束时采集一次loss值,以下代码放置在每个Batch运算结束后,测量器会自动根据采用的数据来统计平均值。

Tensorflow2.0学习(6)---Keras第19张

(3)读取统计信息

result函数

Tensorflow2.0学习(6)---Keras第20张

(4)清楚状态

reset_states()函数

Tensorflow2.0学习(6)---Keras第21张

8、可视化

TensorBoard

tf.summary.create_file_writer:创建监控对象类实例,并指定监控数据的写入目录。

tf.summary.scalar:记录监控数据,并指定时间戳step参数。

tf.summary.histogram:查看张量数据的直方图分布

tf.summary.text:打印文本信息等

Tensorflow2.0学习(6)---Keras第22张

Tensorflow2.0学习(6)---Keras第23张

对于图片类型的数据:

Tensorflow2.0学习(6)---Keras第24张

浏览器查看:

cmd执行tensorboard --logdir path:指定web后端监控的文件目录path。

二、过拟合

1、正则化

L1正则化:

Tensorflow2.0学习(6)---Keras第25张

L2正则化:

Tensorflow2.0学习(6)---Keras第26张

2、Dropout

Tensorflow2.0学习(6)---Keras第27张

3、数据增强

Tensorflow2.0学习(6)---Keras第28张

(1)旋转

Tensorflow2.0学习(6)---Keras第29张

(2)翻转

Tensorflow2.0学习(6)---Keras第30张

(3)裁剪

Tensorflow2.0学习(6)---Keras第31张

免责声明:文章转载自《Tensorflow2.0学习(6)---Keras》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Ts使用Js拓展常用功能篇音视频技术应用(5)使用QT渲染RGB数据的一个简单示例下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

NLP入门之语音模型原理

这一篇文章其实是参考了很多篇文章之后写出的一篇对于语言模型的一篇科普文,目的是希望大家可以对于语言模型有着更好地理解,从而在接下来的NLP学习中可以更顺利的学习. 1:传统的语音识别方法: 这里我们讲解一下是如何将声音变成文字,如果有兴趣的同学,我们可以深入的研究. 首先我们知道声音其实是一种波,常见的MP3等都是压缩的格式,必须要转化成非压缩的纯...

声音克隆_论文翻译:2019_Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis

论文:2019_Transfer Learning from Speaker Verification toMultispeaker Text-To-Speech Synthesis 翻译总结:只需5秒音源,这个网络就能实时“克隆”你的声音 代码:Real-Time-Voice-Cloning|Real-Time-Voice-Cloning(中文) 样本:...

TinyML:下一轮人工智能革命——看来边缘计算 AI模型小型化也是一大领域

TinyML:下一轮人工智能革命   由 NASA 引领的小型化风潮已经席卷了整个消费电子产品产业。现在,一个领针中即可保存全部贝多芬作品,并可使用耳机聆听。———天体物理学家、科学评论员 Neil deGrasse Tyson ……超低功耗嵌入式设备的普及,以及用于微控制器的 TensorFlow Lite 等嵌入式机器学习框架的推出,意味着人工智...

2016.7.7 计算机网络复习要点第四章之网际协议IP

1.与IP协议配套使用的还有三个协议: **地址解析协议ARP; **网际控制报文协议ICMP; **网际组管理协议IGMP; 2.虚拟互连网络: **没有一种单一的网络能够适应所有用户的需求; **将网络互连起来要使用一些中间设备: (1)物理层使用的中间设备叫做转发器; (2)数据链路层使用的中间设备叫做网桥或者桥接器; (3)网络层使用的中间设备叫做...

复习 网络通信协议

渐渐地发现底层的理论决定了上层的应用 顿时对于自己大学学习网络基础时的态度,捶胸顿足,痛哭流涕,懊悔不已。     OSI简介:OSI采用了分层的结构化技术,共分七层,物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 传输层、会话层、表示层、应用层定义了应用程序的功能,下面会话层、表示层、应用层主要面向通过网络的端到端的数据流。 因特网协议栈共...

keras rl typeerror: len is not well defined for symbolic tensors. please call x.shape for shape info

Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/opt/python-3.7.6/lib/python3.7/site-packages/rl/agents/dqn.py", line 108, in __init__...