定制培训循环计算梯度使用自动分化
用dlgradient
要计算衍生工具使用的定制培训循环自动分化。
对于大多数深学习任务,你可以使用预训练网络,并使其适应自己的数据。有关说明如何使用传输学习再培训卷积神经网络,一组新的图片进行分类示例,请参见火车深学习网络分类新形象。或者,你可以创建和使用从头开始培训网络layerGraph
与对象trainNetwork
和trainingOptions
功能。
如果trainingOptions
功能不提供培训选项,你需要为你的任务,那么你可以创建一个使用自动分化定制培训圈。要了解更多信息,请参阅定义自定义培训循环。
[
返回的梯度dydx1,...,dydxk
] = dlgradient(ÿ
,X1,...,XK
)ÿ
关于变量X1
通过XK
。
呼叫dlgradient
从内部功能传递给dlfeval
。看到梯度计算应用自动微分和使用自动分化深度学习工具箱。
[
使梯度保留中间值用于随后的再使用dydx1,...,dydxk
] = dlgradient(ÿ
,X1,...,XK
,'RetainData'
,真正)dlgradient
调用。这句法可以节省时间,但使用更多的内存。看到提示。
dlgradient
不支持更高阶导数。金宝app换句话说,你不能越过的输出dlgradient
打电话到另一个dlgradient
呼叫。
一个dlgradient
电话必须是一个函数里面。为了获得一个梯度的数值,必须使用评价功能dlfeval
和函数参数必须是一个dlarray
。看到使用自动分化深度学习工具箱。
为了使梯度,在正确评价ÿ
参数必须使用仅支持的功能金宝appdlarray
。看到与dlarray支持功能列表金宝app。
如果设置了'RetainData'
名称 - 值对参数真正
,软件蜜饯跟踪的时间dlfeval
函数调用,而不是衍生计算后立即删除的痕迹。这种防护可能会导致后续dlgradient
在同一个呼叫dlfeval
打电话要执行速度更快,但会占用更多的内存。例如,在训练对抗性网络,所述'RetainData'
因为两个网络训练过程中共享数据和功能设置非常有用。看到火车剖成对抗性网络(GAN)。