设置

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 的步骤指引的更多相关文章

  1. 一位ML工程师构建深度神经网络的实用技巧

    一位ML工程师构建深度神经网络的实用技巧 https://mp.weixin.qq.com/s/2gKYtona0Z6szsjaj8c9Vg 作者| Matt H/Daniel R 译者| 婉清 编辑 ...

  2. 机器学习规则:ML工程最佳实践----rules_of_ml section 1【翻译】

    作者:黄永刚 机器学习规则:ML工程最佳实践 本文旨在指引具有机器学习基础知识的工程师等人,更好的从机器学习的实践中收益.介绍一些应用机器学习需要遵循的规则,类似于Google C++ 风格指南等流行 ...

  3. C#中的深度学习(五):在ML.NET中使用预训练模型进行硬币识别

    在本系列的最后,我们将介绍另一种方法,即利用一个预先训练好的CNN来解决我们一直在研究的硬币识别问题. 在这里,我们看一下转移学习,调整预定义的CNN,并使用Model Builder训练我们的硬币识 ...

  4. ubuntu系统theano和keras的安装

    说明:系统是unbuntu14.04LTS,32位的操作系统,以前安装了python3.4,现在想要安装theano和keras.步骤如下: 1,安装pip sudo apt-get install ...

  5. Java工程师的终极书单

    本份Java工程师的终极书单只在专业的Java技术博客–天天编码上发布,没有授权任何网站与个人转载. 坚持阅读好书是学习Java技术的好方式.但是,市面上与Java技术相关的书籍可谓数不胜数,如何从这 ...

  6. Keras Model Sequential模型接口

    Sequential 模型 API 在阅读这片文档前,请先阅读 Keras Sequential 模型指引. Sequential 模型方法 compile compile(optimizer, lo ...

  7. 关于ML.NET v0.6的发布说明

    ML.NET 0.6版本提供了几项令人兴奋的新增功能: 用于构建和使用机器学习模型的新API 我们主要关注的是发布用于构建和使用模型的新ML.NET API的第一次迭代.这些新的,更灵活的API支持新 ...

  8. 微软发布ML.NET 1.0

    原文地址:https://devblogs.microsoft.com/dotnet/announcing-ml-net-1-0/ 我们很高兴地宣布今天发布ML.NET 1.0.  ML.NET是一个 ...

  9. [翻译] 使用 TensorFlow 进行分布式训练

    本文以两篇官方文档为基础来学习TensorFlow如何进行分布式训练,借此进入Strategy世界.

  10. [源码解析] TensorFlow 分布式 DistributedStrategy 之基础篇

    [源码解析] TensorFlow 分布式 DistributedStrategy 之基础篇 目录 [源码解析] TensorFlow 分布式 DistributedStrategy 之基础篇 1. ...

随机推荐

  1. C++ Qt开发:QTcpSocket网络通信组件

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用QTc ...

  2. 应急响应靶机训练-Linux1

    靶机来源: 知攻善防实验室公众号 https://mp.weixin.qq.com/s/gCWGnBiwbqSnafXU1apJCA 我是在另一台主机上通过ssh连接到靶机进行解题的,以下为解题记录. ...

  3. 记录--Js基础练习题目

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 1.使用js,在页面中打印以下图案 提示: document.write可以在页面中打印内容<br>在html中代表换行, 在 ...

  4. 记录--微信小程序获取用户信息(附代码、流程图)

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 本篇文章主要总结了微信小程序开发,获取用户信息的整个流程步骤.补充了网上很多碎片化的代码,本人梳理了思路写下了这篇文章. 思路 1.在js ...

  5. Java 中的异常处理机制的简单原理和应用。

    Java 中的异常处理机制的简单原理和应用. 异常是指 java 程序运行时(非编译)所发生的非正常情况或错误. Java 对异常进行了分类,不同类型的异常分别用不同的 Java 类表示,所有异常的根 ...

  6. .net跨平台运行实践

    一个偶然的机会,一个朋友想做一个程序,同时支持windows和linux,本来想用go来写,奈何不太熟练,突然想到.net不是也支持跨平台了吗,还没有操作过,刚好可以试验一下. 最新的.net 6已经 ...

  7. #高精度,模拟,vector#C 前缀

    From 2020牛客NOIP赛前集训营-提高组(第二场) 传送门 分析 像我这么菜就只会模拟呀(考场CE全部爆零QWQ) 题意就是不断跳到下一个字母问总共跳的长度有多长, 首先用一个变量存下初始位置 ...

  8. 一文读懂java中的Reference和引用类型

    目录 简介 强引用Strong Reference 软引用Soft Reference 弱引用weak Reference 虚引用PhantomReference Reference和Referenc ...

  9. 深入理解 C# 编程:枚举、文件处理、异常处理和数字相加

    C# 枚举 枚举是一个特殊的"类",表示一组常量(不可更改/只读变量). 要创建枚举,请使用 enum 关键字(而不是 class 或 interface),并用逗号分隔枚举项: ...

  10. VS 2020制作安装包

    VS制作安装包的一般步骤. 一·新建项目 (1)新建 (2)界面跳转 二·添加引用 (1)添加卸载程序 1.在'C:WINDOWSsystem32'路径下,找到msiexec.exe . 2.将msi ...