我正在尝试为我用 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 版