Trainer
Nerf.jl trainer accepts dataset which will be used for training and a generic NeRF model.
using Nerf
using Nerf: Backend, Dataset, BasicModel, BasicField, Trainer
Create dataset directly on the Backend
:
config_file = joinpath(pkgdir(Nerf), "data", "raccoon_sofa2", "transforms.json")
dataset = Dataset(Backend; config_file)
Create a NeRF model, which in this case is a model from Instant-NGP paper:
model = BasicModel(BasicField(Backend))
Create trainer by providing model
, dataset
and a maximum number of rays in each training batch:
trainer = Trainer(model, dataset; n_rays=1024)
After this, training can be done in a loop by calling Nerf.step!
on a trainer:
for i in 1:20_000
loss = Nerf.step!(trainer)
@show i, loss
end