dlfeval
评估用于自定义训练循环的深度学习模型
说明
dlfeval 函数用于评估启用了自动微分的深度学习模型并计算相关函数。要计算梯度,请使用 dlgradient 函数。
提示
对于大多数深度学习任务,您可以使用预训练神经网络,并使其适应您自己的数据。有关说明如何使用迁移学习来重新训练卷积神经网络以对一组新图像进行分类的示例,请参阅重新训练神经网络以对新图像进行分类。您也可以使用 trainnet 和 trainingOptions 函数从头创建和训练神经网络。
如果 trainingOptions 函数没有提供您的任务所需的训练选项,则您可以使用自动微分创建自定义训练循环。要了解详细信息,请参阅使用自定义训练循环训练网络。
如果 trainnet 函数没有提供您的任务所需的损失函数,您可以将 trainnet 的自定义损失函数指定为函数句柄。对于需要比预测值和目标值更多输入的损失函数(例如,需要访问神经网络或额外输入的损失函数),请使用自定义训练循环来训练模型。要了解详细信息,请参阅使用自定义训练循环训练网络。
如果 Deep Learning Toolbox™ 没有提供您的任务所需的层,则您可以创建一个自定义层。要了解详细信息,请参阅定义自定义深度学习层。对于无法指定为由层组成的网络的模型,可以将模型定义为函数。要了解详细信息,请参阅Train Network Using Model Function。
有关对哪项任务使用哪种训练方法的详细信息,请参阅Train Deep Learning Model in MATLAB。
示例
输入参数
输出参量
提示
dlgradient调用必须在函数内部。要获取梯度的数值,您必须使用dlfeval计算函数,并且函数的参量必须是dlarray。请参阅Use Automatic Differentiation In Deep Learning Toolbox。为了能够正确计算梯度,
fun函数必须仅使用dlarray支持的函数。请参阅List of Functions with dlarray Support。要加快对深度学习函数(例如模型函数和模型损失函数)的调用,可以使用
dlaccelerate函数。该函数返回一个AcceleratedFunction对象,该对象自动优化、缓存和重用跟踪。
算法
扩展功能
版本历史记录
在 R2019b 中推出

