libdl  0.0.1
Simple yet powerful deep learning
Loading...
Searching...
No Matches
dl::Model< R(Args...)> Class Template Referenceabstract
Inheritance diagram for dl::Model< R(Args...)>:
Collaboration diagram for dl::Model< R(Args...)>:

Public Types

using signature = R(Args...)
 

Public Member Functions

virtual ~Model ()=default
 
void to (const Device &device) noexcept
 
operator() (Args &&... args)
 
- Public Member Functions inherited from dl::ModelBase
size_t numParameters () const noexcept
 
size_t numTrainableParams () const noexcept
 
std::map< std::string, dl::TensorRef > & parameters () noexcept
 
const std::map< std::string, dl::TensorRef > & parameters () const noexcept
 

Protected Member Functions

void registerSubmodel (std::string prefix, const ModelBase &model)
 
virtual R forward (Args... args)=0
 
- Protected Member Functions inherited from dl::ModelBase
void registerParameter (std::string name, TensorPtr &tensor)
 
void registerParameters (std::string prefix, std::ranges::range auto &tensors)
 

Detailed Description

template<typename R, typename... Args>
class dl::Model< R(Args...)>

Definition at line 36 of file model.hpp.

Member Typedef Documentation

◆ signature

template<typename R , typename... Args>
using dl::Model< R(Args...)>::signature = R(Args...)

Definition at line 38 of file model.hpp.

Constructor & Destructor Documentation

◆ ~Model()

template<typename R , typename... Args>
virtual dl::Model< R(Args...)>::~Model ( )
virtualdefault
Todo:
For later: these const member functions make sense to indicate that we know at compile time that the instance is not modified (e.g. since it is not part of the computation graph for auto differentiation.

Member Function Documentation

◆ operator()()

template<typename R , typename... Args>
R dl::Model< R(Args...)>::operator() ( Args &&...  args)
inline

Definition at line 54 of file model.hpp.

54{ return this->forward(std::forward<Args>(args)...); }

◆ registerSubmodel()

template<typename R , typename... Args>
void dl::Model< R(Args...)>::registerSubmodel ( std::string  prefix,
const ModelBase model 
)
inlineprotected

Definition at line 41 of file model.hpp.

41 {
42 registerParameters(prefix, model.parameters());
43 }

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