libdl  0.0.1
Simple yet powerful deep learning
Loading...
Searching...
No Matches
dl::TrainerConfBuilder< Model, Dataset, Optimizer > Class Template Referencefinal

Public Member Functions

template<typename DSet , typename... Args>
TrainerConfBuilder< Model, DSet, OptimizersetDataset (Args &&... args) noexcept
 
template<typename Opt , typename... Args>
TrainerConfBuilder< Model, Dataset, Opt > setOptimizer (Args &&... args) noexcept
 
template<typename O , typename... Args>
TrainerConfBuilderaddObserver (Args &&... args) noexcept
 
TrainerConfBuilderaddObserver (std::unique_ptr< TrainerObserver > observer) noexcept
 
TrainerConf< Model, Dataset, Optimizerbuild () noexcept
 

Detailed Description

template<typename Model = void*, typename Dataset = void*, typename Optimizer = void*>
class dl::TrainerConfBuilder< Model, Dataset, Optimizer >

Definition at line 46 of file trainer.hpp.

Constructor & Destructor Documentation

◆ TrainerConfBuilder()

template<typename Model = void*, typename Dataset = void*, typename Optimizer = void*>
dl::TrainerConfBuilder< Model, Dataset, Optimizer >::TrainerConfBuilder ( )
inlinenoexcept

Definition at line 56 of file trainer.hpp.

56{}

Member Function Documentation

◆ addObserver() [1/2]

template<typename Model = void*, typename Dataset = void*, typename Optimizer = void*>
template<typename O , typename... Args>
TrainerConfBuilder & dl::TrainerConfBuilder< Model, Dataset, Optimizer >::addObserver ( Args &&...  args)
inlinenoexcept

Definition at line 77 of file trainer.hpp.

77 {
78 return addObserver(std::make_unique<O>(std::forward<Args>(args)...));
79 }

◆ addObserver() [2/2]

template<typename Model = void*, typename Dataset = void*, typename Optimizer = void*>
TrainerConfBuilder & dl::TrainerConfBuilder< Model, Dataset, Optimizer >::addObserver ( std::unique_ptr< TrainerObserver observer)
inlinenoexcept

Definition at line 81 of file trainer.hpp.

81 {
82 conf.observers.push_back(std::move(observer));
83 return *this;
84 }
T move(T... args)

◆ build()

template<typename Model = void*, typename Dataset = void*, typename Optimizer = void*>
TrainerConf< Model, Dataset, Optimizer > dl::TrainerConfBuilder< Model, Dataset, Optimizer >::build ( )
inlinenoexcept

Definition at line 86 of file trainer.hpp.

86{ return std::move(conf); }

◆ setDataset()

template<typename Model = void*, typename Dataset = void*, typename Optimizer = void*>
template<typename DSet , typename... Args>
TrainerConfBuilder< Model, DSet, Optimizer > dl::TrainerConfBuilder< Model, Dataset, Optimizer >::setDataset ( Args &&...  args)
inlinenoexcept

Definition at line 59 of file trainer.hpp.

59 {
60 return TrainerConfBuilder<Model, DSet, Optimizer>{TrainerConf<Model, DSet, Optimizer>{
61 .observers = std::move(conf.observers),
62 .dataset = std::make_unique<DSet>(std::forward<Args>(args)...),
63 .optimizer = std::move(conf.optimizer)
64 }};
65 }

◆ setOptimizer()

template<typename Model = void*, typename Dataset = void*, typename Optimizer = void*>
template<typename Opt , typename... Args>
TrainerConfBuilder< Model, Dataset, Opt > dl::TrainerConfBuilder< Model, Dataset, Optimizer >::setOptimizer ( Args &&...  args)
inlinenoexcept

Definition at line 68 of file trainer.hpp.

68 {
69 return TrainerConfBuilder<Model, Dataset, Opt>{TrainerConf<Model, Dataset, Opt>{
70 .observers = std::move(conf.observers),
71 .dataset = std::move(conf.dataset),
72 .optimizer = std::make_unique<Opt>(std::forward<Args>(args)...)
73 }};
74 }

Friends And Related Symbol Documentation

◆ TrainerConfBuilder

template<typename Model = void*, typename Dataset = void*, typename Optimizer = void*>
template<typename M , typename D , typename O >
friend class TrainerConfBuilder
friend

Definition at line 48 of file trainer.hpp.


The documentation for this class was generated from the following file: