首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flux.jl - Julia中的交叉熵损失

Flux.jl - Julia中的交叉熵损失
EN

Stack Overflow用户
提问于 2021-07-04 04:15:39
回答 1查看 91关注 0票数 2

我想将我的模型设置为在Flux.jl中使用交叉熵损失。我如何做到这一点,我应该在哪里传递损失函数本身?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-04 04:15:39

Flux.jl通过Flux.Losses模块提供了一个内置模块,该模块具有许多常见的损失函数,您可以通过执行using Flux.Losses来访问该模块。在模块中有一个内置的交叉熵损失函数,它可以使用如下:

代码语言:javascript
复制
julia> y_label = Flux.onehotbatch([0, 1, 2, 1, 0], 0:2)
3×5 Flux.OneHotArray{3,2,Vector{UInt32}}:
 1  0  0  0  1
 0  1  0  1  0
 0  0  1  0  0

julia> y_model = softmax(reshape(-7:7, 3, 5) .* 1f0)
3×5 Matrix{Float32}:
 0.0900306  0.0900306  0.0900306  0.0900306  0.0900306
 0.244728   0.244728   0.244728   0.244728   0.244728
 0.665241   0.665241   0.665241   0.665241   0.665241

julia> sum(y_model; dims=1)
1×5 Matrix{Float32}:
 1.0  1.0  1.0  1.0  1.0

julia> Flux.crossentropy(y_model, y_label)
1.6076053f0

您可以在这里找到完整的Flux.crossentropy函数定义:https://fluxml.ai/Flux.jl/stable/models/losses/#Flux.Losses.crossentropy

定义损失函数后,可以将其传递给内置的训练函数:Flux.train!(loss, params(model), data, opt)或在自定义训练循环中使用它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68239673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档