深度学习自定义训练循环
定制深度学习训练循环和损失函数
如果trainingOptions
函数没有提供任务所需的训练选项,或者自定义输出层不支持所需的损耗函数,那么可以定义自定义训练循环。对于不能使用层图创建的网络,您可以将自定义网络定义为一个函数。要了解更多,请参见定义自定义训练循环,损失函数和网络.
功能
主题
自定义训练循环
- 在MATLAB中训练深度学习模型
学习如何在MATLAB中训练深度学习模型®. - 定义自定义训练循环,损失函数和网络
学习如何使用自动区分定义和定制深度学习训练循环、损失函数和网络。 - 使用自定义训练循环训练网络
这个例子展示了如何训练一个使用自定义学习速率计划对手写数字进行分类的网络。 - 在自定义训练循环中指定训练选项
了解如何在自定义训练循环中指定常用训练选项。 - 定义自定义训练循环的模型损失函数
了解如何为自定义训练循环定义模型损失函数。 - 更新自定义训练循环中的批归一化统计数据
这个例子展示了如何在自定义训练循环中更新网络状态。 - 使用dlnetwork对象进行预测
这个例子展示了如何使用dlnetwork
对象,将数据分割为小批。 - 监控自定义训练循环的进度
跟踪和绘制自定义训练循环进度。 - 多输出训练网络
这个例子展示了如何训练一个具有多个输出的深度学习网络,预测手写数字的标签和旋转角度。 - 使用具有自定义训练循环的深度学习对视频进行分类
这个例子展示了如何通过结合预先训练的图像分类模型和序列分类网络来创建视频分类网络。 - 训练图像分类网络对对抗例子的鲁棒性
这个例子展示了如何使用快速梯度符号法(FGSM)对抗训练来训练一个对对抗例子具有鲁棒性的神经网络。 - 训练神经ODE网络
这个例子展示了如何训练增广神经常微分方程(ODE)网络。 - 用雅可比矩阵正则化训练鲁棒深度学习网络
这个例子展示了如何使用雅可比矩阵正则化方案[1]来训练一个神经网络,使其对对抗例子具有鲁棒性。 - 用神经网络求解常微分方程
这个例子展示了如何使用神经网络求解常微分方程。 - 装配多输出网络进行预测
这个例子展示了如何组装一个多输出网络进行预测。 - 在GPU上并行运行自定义训练循环
通过在GPU上运行,在多个GPU上并行运行,或在集群上运行,加速自定义训练循环。
模型函数
- 利用模型函数的列车网络
这个例子展示了如何使用函数来创建和训练一个深度学习网络,而不是使用层图或dlnetwork
. - 使用模型函数更新批量归一化统计信息
这个例子展示了如何在定义为函数的网络中更新网络状态。 - 利用模型函数进行预测
这个例子展示了如何使用模型函数通过将数据分割成小批量来进行预测。 - 初始化模型函数的可学习参数
了解如何使用模型函数初始化自定义训练循环的可学习参数。 - 用不规则采样时间序列数据训练潜伏ODE网络
这个例子展示了如何用不规则时间间隔采样的时间序列数据训练潜伏常微分方程(ODE)自动编码器。 - 基于图神经网络的多变量时间序列异常检测
这个例子展示了如何使用图神经网络(GNN)检测多变量时间序列数据中的异常。
自动分化
- dlarray支持的函数列表
查看支持的函数列表dlarray
对象。 - 自动分化背景
了解自动区分是如何工作的。 - 在深度学习工具箱中使用自动区分
如何在深度学习中使用自动分化。
深度学习功能加速
- 自定义训练循环的深度学习功能加速
通过缓存和重用跟踪,加速定制训练循环的模型函数和模型丢失函数。 - 加速自定义训练循环函数
这个例子展示了如何加速深度学习自定义训练循环和预测函数。 - 检查加速深度学习函数输出
这个例子展示了如何检查加速函数的输出是否与基础函数的输出匹配。 - 评估加速深度学习功能的性能
这个例子展示了如何评估使用加速函数的性能增益。