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, TrainerCreate 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