[ML] 工程师使用 Keras 的步骤指引

设置
import numpy as np
import tensorflow as tf
from tensorflow import keras
介绍
在训练模型之前准备数据(将其转换为 NumPy 数组或 tf.data.Dataset 对象)。
进行数据预处理,例如 特性归一化 或词汇索引。
使用 Keras Functional API 建立一个将您的数据转化为有用的预测的模型。
使用内置的 Keras fit() 方法训练模型,同时注意检查点,指标监视和容错能力。
根据测试数据评估模型,以及如何将其用于推断新数据。
自定义 fit() 的功能,例如构建GAN。
利用多个 GPU 加快训练速度。
通过超参数调整来优化模型。
在本指南的最后,您将获得指向端到端示例的指引,以巩固这些概念:
图片分类
文字分类
信用卡欺诈检测
1. 数据加载 & 处理
* 数据加载
Keras 模型接受三张类型的输入,NumPy arrays, TensorFlow Dataset objects (针对大数据集和GPU优化),Python generators。
Keras 提供一系列工具帮助把 硬盘上的原始数据 转换为 Dataset,比如:
tf.keras.preprocessing.image_dataset_from_directory
tf.keras.preprocessing.text_dataset_from_directory
tf.data.experimental.make_csv_dataset
* 使用 Keras 对数据处理
理想的机器学习模型应是端到端的。一般,尽可能把数据预处理包含进模型,避免不必要的额外影响。理想的模型应该期望输入尽可能接近原始数据的东西:图像模型应该期望RGB像素值在[0,255]范围内,而文本模型应该接受utf-8字符的字符串。这样使用者不需要关注的外部的预处理过程。
使用 Keras 预处理层。好处是可以被包含进模型,使模型具备可移植性。预处理层包括:
矢量化文本字符串通过 TextVectorization 层。
特征归一化通过 Normalization 层。
图片重新缩放、裁剪,或图像数据增强。
包含状态的预处理层:
TextVectorization (矢量化)保存将单词或符号映射到整数标记的索引。
Normalization (标准化)保存了特征的平均值和方差。
预处理层的状态是通过对训练数据的一个样本(或全部)调用 layer.adapt(data) 来获得的。
2. 使用 Keras 功能API 构建模型
“模型”是层的有向无(循)环图。你可以将模型看作一个“更大的层”,它包含多个子层,并且可以通过暴露于数据进行训练。
3. 使用 fit() 训练模型
4. 使用 fit() 定制训练步骤
5. 使用 即时执行 调试模型
6. 使用多个 GPUs 加速训练
7. 在设备上同步执行预处理,而在主机CPU上异步执行预处理
8. 通过超参数调优找到最佳模型配置
9. 端到端示例
专业术语参考:
| English | 中文 |
|---|---|
| arguments | 参数 |
| boolean | 布尔 |
| data augumentation | 数据增强 |
| deep learning | 深度学习 |
| float | 浮点数 |
| Functional API | 函数式 API |
| Fuzz factor | 模糊因子 |
| input shape | 输入尺寸 |
| index | 索引 |
| int | 整数 |
| layer | 层 |
| loss function | 损失函数 |
| metrics | 评估标准 |
| nD tensor | nD 张量 |
| Numpy Array | Numpy 矩阵 |
| objective | 目标 |
| optimizer | 优化器 |
| output shape | 输出尺寸 |
| regularizer | 正则化器 |
| return | 返回 |
| recurrent | 循环 |
| Sequential Model | 顺序模型 |
| shape | 尺寸 |
| target | 目标 |
| testing | 测试 |
| training | 训练 |
| wrapper | 封装器 |
Tool:ChatAI
Docs:https://keras.io/getting_started/intro_to_keras_for_engineers/
Link:https://www.cnblogs.com/farwish/p/13973938.html
[ML] 工程师使用 Keras 的步骤指引的更多相关文章
- 一位ML工程师构建深度神经网络的实用技巧
一位ML工程师构建深度神经网络的实用技巧 https://mp.weixin.qq.com/s/2gKYtona0Z6szsjaj8c9Vg 作者| Matt H/Daniel R 译者| 婉清 编辑 ...
- 机器学习规则:ML工程最佳实践----rules_of_ml section 1【翻译】
作者:黄永刚 机器学习规则:ML工程最佳实践 本文旨在指引具有机器学习基础知识的工程师等人,更好的从机器学习的实践中收益.介绍一些应用机器学习需要遵循的规则,类似于Google C++ 风格指南等流行 ...
- C#中的深度学习(五):在ML.NET中使用预训练模型进行硬币识别
在本系列的最后,我们将介绍另一种方法,即利用一个预先训练好的CNN来解决我们一直在研究的硬币识别问题. 在这里,我们看一下转移学习,调整预定义的CNN,并使用Model Builder训练我们的硬币识 ...
- ubuntu系统theano和keras的安装
说明:系统是unbuntu14.04LTS,32位的操作系统,以前安装了python3.4,现在想要安装theano和keras.步骤如下: 1,安装pip sudo apt-get install ...
- Java工程师的终极书单
本份Java工程师的终极书单只在专业的Java技术博客–天天编码上发布,没有授权任何网站与个人转载. 坚持阅读好书是学习Java技术的好方式.但是,市面上与Java技术相关的书籍可谓数不胜数,如何从这 ...
- Keras Model Sequential模型接口
Sequential 模型 API 在阅读这片文档前,请先阅读 Keras Sequential 模型指引. Sequential 模型方法 compile compile(optimizer, lo ...
- 关于ML.NET v0.6的发布说明
ML.NET 0.6版本提供了几项令人兴奋的新增功能: 用于构建和使用机器学习模型的新API 我们主要关注的是发布用于构建和使用模型的新ML.NET API的第一次迭代.这些新的,更灵活的API支持新 ...
- 微软发布ML.NET 1.0
原文地址:https://devblogs.microsoft.com/dotnet/announcing-ml-net-1-0/ 我们很高兴地宣布今天发布ML.NET 1.0. ML.NET是一个 ...
- [翻译] 使用 TensorFlow 进行分布式训练
本文以两篇官方文档为基础来学习TensorFlow如何进行分布式训练,借此进入Strategy世界.
- [源码解析] TensorFlow 分布式 DistributedStrategy 之基础篇
[源码解析] TensorFlow 分布式 DistributedStrategy 之基础篇 目录 [源码解析] TensorFlow 分布式 DistributedStrategy 之基础篇 1. ...
随机推荐
- 【实时渲染】3DCAT实时渲染云助力游戏上云!
随着社会的发展技术的提升,云计算技术得到越来越多人的重视.同时随着5G的落地,游戏产业也迎来了新的革命.一些游戏厂商为了寻求新的发展机会,推出基于云计算的游戏"云游戏",将游戏平台 ...
- View之invalidate,requestLayout,postInvalidate
目录介绍 01.invalidate,requestLayout,postInvalidate区别 02.invalidate深入分析 03.postInvalidate深入分析 04.request ...
- 《.NET内存管理宝典 》(Pro .NET Memory Management) 阅读指南 - 第1章
本章勘误: 暂无,等待细心的你告诉我哦. 本章注解: 第7页图1-4下面的第一段:堆栈从一开始就与计算机编程有着内在的联系,这主要是因为子例程的概念 什么是子例程呢? 一般地认为,子例程是某个主程序的 ...
- ChatGPT 指令大全
1.写报告 报告开头 我现在正在 报告的情境与目的 .我的简报主题是 主题 ,请提供 数字 种开头方式,要简单到 目标族群 能听懂,同时要足够能吸引人,让他们愿意专心听下去. 我现在正在修台大的简报课 ...
- ET介绍——数值组件设计
类似魔兽世界,moba这种技能极其复杂,灵活性要求极高的技能系统,必须需要一套及其灵活的数值结构来搭配.数值结构设计好了,实现技能系统就会非常简单,否则就是一场灾难.比如魔兽世界,一个人物的数值属性非 ...
- OpenHarmony社区运营报告(2023年3月)
本月快讯 • <OpenHarmony 2022年度运营报告>于3月正式发布,2022年OpenAtom OpenHarmony(以下简称"OpenHarmony" ...
- 算法笔记-完全二叉树个数计算(时间复杂度小于O(n))
------------恢复内容开始------------ 首先科普一个事实,对于一个满二叉树来说,节点个数=(1<< (高度))-1. 接下来我们看这道题,管他三七二十一,前面那么多树 ...
- HarmonyOS Lottie组件,让动画绘制更简单
原文:https://mp.weixin.qq.com/s/eC7g9ya4f_2AiNgteiyXcw,点击链接查看更多技术内容. 动画是UI界面的重要元素之一,精心设计的动画能使UI界面更直观,有 ...
- Linux之网络排错
Linux 网卡收包流程如下 网卡收到数据包 将数据包从网卡硬件缓存移动到服务器内存中(DMA方式,不经过CPU) 通过硬中断通知CPU处理 CPU通过软中断通知内核处理 经过TCP/IP协议栈处理 ...
- hive窗口分析函数使用详解系列二之分组排序窗口函数
1.综述 我们讨论面试中各大厂的SQL算法面试题,往往核心考点就在于窗口函数,所以掌握好了窗口函数,面对SQL算法面试往往事半功倍. 已更新第一类聚合函数类,点击这里阅读 hive窗口函数聚合函数类 ...