![]() |
||
---|---|---|
docs | ||
src | ||
test | ||
.gitignore | ||
.travis.yml | ||
LICENSE.md | ||
README.md | ||
REQUIRE |
README.md
Флукс
Flux is a refreshing approach to machine learning. It provides lightweight abstractions on top of Julia's native GPU and AD support, while remaining fully hackable (right down to the GPU kernels).
Define a simple model using any Julia code:
using Flux.Tracker
x, y = rand(10), rand(5) # Dummy input / output
# `track` defines parameters that we can train
W, b = track(randn(5,10)), track(randn(5))
# Transform `x` and calculate the mean squared error
loss = Flux.mse(W*x .+ b, y)
# Calculate and store gradients of `track`ed parameters
back!(loss)
Tracker.grad(W) # Get the gradient of `W` wrt the loss
Define a larger model using high-level abstractions:
using Flux
m = Chain(
Dense(10, 32, relu),
Dense(32, 10), softmax)
m(rand(10))
Mix and match the two:
using Flux.Tracker
x, y = rand(10), rand(5)
d = Dense(10, 5)
loss = Flux.mse(d(x), y)
See the documentation or the model zoo for more examples.