2

我正在尝试为我用 Julia 编写的模型使用权重和偏差。我正在使用WeightsAndBiasLogger.jl并尝试测试他们的演示代码:

using Logging, WeightsAndBiasLogger

args = (n_epochs=1_000, lr=1e-3)
logger = WBLogger(project="sample-project")
config!(logger, args)

with(logger) do
    loss = 0
    for i in 1:args.n_epochs
        loss += randn() * args.lr
        @info "train" i=i loss=loss
    end
end

我收到一个错误:“ArgumentError: ref of NULL PyObject”(考虑到这一行:logger = WBLogger(project="sample-project"))

然后我尝试使用以下命令解决此问题:

using Logging, WeightsAndBiasLogger, PyCall

args = (n_epochs=1_000, lr=1e-3)

const logger = PyNULL()
function __init__()
    copy!(logger, WBLogger(project="sample-project"))
end

config!(logger, args)

with(logger) do
    loss = 0
    for i in 1:args.n_epochs
        loss += randn() * args.lr
        @info "train" i=i loss=loss
    end
end

它创建了logger对象,但现在错误是:

MethodError: no method matching config!(::PyObject, ::NamedTuple{(:n_epochs, :lr), Tuple{Int64, Float64}}) 最接近的候选者是:config!(!Matched::WBLogger, ::Any; kwargs ...)(考虑这一行: config!()...

那么,有谁知道如何解决这个问题?显然,我是 Julia 的新手,因此如果问一些非常愚蠢的问题,我深表歉意。此外,如果您知道将 Julia 集成到 W&B 或任何好的替代方案的更好解决方案,我会很高兴听到它。

PS:朱莉娅 1.7.2 版

4

0 回答 0