如何在 Flux.jl 中使用损失函数
How to use a Loss function in Flux.jl
当我阅读 Flux 文档时,我看到有一个为我们定义的 bunch of different loss functions 可以使用。我知道损失告诉我们离目标值有多远。但是我实际上在哪里使用训练循环中的损失函数呢?
如果您使用内置的 train!()
函数,您可以定义损失函数并在训练期间使用它,如下所示:
loss(x, y) = Flux.Losses.mse(m(x), y)
ps = Flux.params(m)
Flux.train!(loss, ps, data, opt)
其中 Flux.Losses.mse
使用内置的均方误差函数计算 m(x)
和 y
之间的距离。您可以在此处阅读有关 Flux 中损失函数的更多信息:https://fluxml.ai/Flux.jl/stable/training/training/#Loss-Functions
当我阅读 Flux 文档时,我看到有一个为我们定义的 bunch of different loss functions 可以使用。我知道损失告诉我们离目标值有多远。但是我实际上在哪里使用训练循环中的损失函数呢?
如果您使用内置的 train!()
函数,您可以定义损失函数并在训练期间使用它,如下所示:
loss(x, y) = Flux.Losses.mse(m(x), y)
ps = Flux.params(m)
Flux.train!(loss, ps, data, opt)
其中 Flux.Losses.mse
使用内置的均方误差函数计算 m(x)
和 y
之间的距离。您可以在此处阅读有关 Flux 中损失函数的更多信息:https://fluxml.ai/Flux.jl/stable/training/training/#Loss-Functions