设置

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. 3DCAT荣获2021金陀螺“年度XR行业技术创新奖”“年度优秀VR行业应用奖”两项大奖

    作为年度行业影响力大奖,第六届金陀螺颁奖典礼与2021未来商业生态链接大会(简称"FBEC2021")同期举办.金陀螺奖金陀螺奖旨在对优质作品/项目及优秀企业做出嘉奖,鼓励创业者. ...

  2. 记录--不做码农而做 DJ 😎

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 Coding 一定很累吧,快来跟我一起 Djing !!! 我的思路是通过监听键盘按下事件,在用户按下对应键时,找到相应的按键元素和音频元 ...

  3. spring redis 工具类

    import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.Map; ...

  4. 立创EDA的使用

    立创EDA的使用 1.实验原理 最近在使用立创EDA来做电路作业,这里记录一下立创EDA的基本操作,以后小型的电路设计可以在其主页完成.立创EDA是一个可以线上完成电路设计仿真以及布线的免费设计工具, ...

  5. KingbaseES V8R6 集群运维案例 -- 脚本部署集群后ssh无法连接

    案例说明: 在kylin V10环境下,通过脚本方式部署KingbaseES V8R6集群后,发现ssh无法连接主机,通过分析发现在脚本部署过程中会对系统环境进行优化配置,在修改了/etc/ssh/s ...

  6. KingbaseES KWR中等待事件分析案例

    背景 昨天有现场同事碰到了一个现象,一条简单的update语句运行缓慢.单独运行没有问题,在特定时间运行就会非常缓慢,怀疑是业务系统特殊逻辑导致数据库有阻塞引发的update语句慢的现象.故此现场同事 ...

  7. Android弹出UI界面---Toast

    1.默认展示 1 // 第一个参数:当前的上下文环境.可用getApplicationContext()或this 2 // 第二个参数:要显示的字符串.也可是R.string中字符串ID 3 // ...

  8. Python爬虫爬取国家统计局网站【统计用区划和城乡划分代码】并存入MySQL数据库

    国家统计局网站相关分级页面截图 基本思路 爬取每个页面的a标签内容,生成省市两级数据字典,最后合成区县对应的链接,爬取第三层区划代码和名字,结合省市两级名字生成最后的标准. 代码 1 import p ...

  9. #ST表,并查集#洛谷 3295 [SCOI2016]萌萌哒

    题目 分析 可以发现除了最高位只能填 1 到 9,其它位置还可以填 0. 直接用并查集找连通块会超时,如果将这些区间的合并可以下传到子区间的合并那样就可以了. 考虑ST表的逆操作,合并时直接合并两个极 ...

  10. Numpy数组拼接和分裂

    将多个数组合并成一个,或将一个数组分裂成多个. 数组拼接 concatenate([a1, a2, ...], axis=0, out=None) #默认沿axis = 0轴拼接,也可设置沿axis ...