[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           封装器  

Docs:https://keras.io/getting_started/intro_to_keras_for_engineers/

Link:https://www.cnblogs.com/farwish/p/13973938.html

原文地址:https://www.cnblogs.com/farwish/p/13973938.html