Flux 是一种优雅的机器学习方法。它是一个 100% 纯 Julia 的堆栈,在 Julia 原生的 GPU 和 AD 支持之上提供了轻量级的抽象。Flux 让简单的事情变得简单,同时保持完全可修改性。
最佳适配 Julia 1.9 或更高版本。以下是一个简短的示例代码:
using Flux, Plots
data = [([x], 2x-x^3) for x in -2:0.1f0:2]
model = Chain(Dense(1 => 23, tanh), Dense(23 => 1, bias=false), only)
optim = Flux.setup(Adam(), model)
for epoch in 1:1000
Flux.train!((m,x,y) -> (m(x) - y)^2, model, data, optim)
end
plot(x -> 2x-x^3, -2, 2, legend=false)
scatter!(x -> model([x]), -2:0.1f0:2)
快速入门页面 提供了一个更长的示例。详细信息请参见文档,或访问模型库获取示例。在 Julia 论坛 或 slack 上提问。
如果你在研究中使用了 Flux,请引用我们的工作。