Tenncor
Public Member Functions | Private Member Functions | Private Attributes | List of all members
layr::Conv Struct Referencefinal

Layer implementation to apply conv2d functions to weight and optional bias. More...

#include <conv.hpp>

Inheritance diagram for layr::Conv:
Inheritance graph
[legend]
Collaboration diagram for layr::Conv:
Collaboration graph
[legend]

Public Member Functions

 Conv (std::pair< teq::DimT, teq::DimT > filter_hw, teq::DimT in_ncol, teq::DimT out_ncol, const std::string &label)
 
 Conv (NodeptrT weight, NodeptrT bias, std::string label)
 
 Conv (const Conv &other, std::string label_prefix="")
 
Convoperator= (const Conv &other)
 
 Conv (Conv &&other)=default
 
Convoperator= (Conv &&other)=default
 
Convclone (std::string label_prefix="") const
 Return deep copy of this layer with prefixed label. More...
 
size_t get_ninput (void) const override
 Implementation of iLayer. More...
 
size_t get_noutput (void) const override
 Implementation of iLayer. More...
 
std::string get_ltype (void) const override
 Implementation of iLayer. More...
 
std::string get_label (void) const override
 Implementation of iLayer. More...
 
teq::TensptrsT get_contents (void) const override
 Implementation of iLayer. More...
 
NodeptrT connect (NodeptrT input) const override
 Implementation of iLayer. More...
 
- Public Member Functions inherited from layr::iLayer
virtual ~iLayer (void)=default
 
iLayerclone (std::string label_prefix="") const
 Return deep copy of this layer with prefixed label. More...
 

Private Member Functions

iLayerclone_impl (const std::string &label_prefix) const override
 
void copy_helper (const Conv &other, std::string label_prefix="")
 

Private Attributes

std::string label_
 
NodeptrT weight_
 
NodeptrT bias_ = nullptr
 

Additional Inherited Members

- Protected Member Functions inherited from layr::iLayer
void tag (teq::TensptrT tensor, LayerId subs) const
 
void recursive_tag (teq::TensptrT root, teq::TensSetT ignores, LayerId subs) const
 

Detailed Description

Layer implementation to apply conv2d functions to weight and optional bias.

Constructor & Destructor Documentation

◆ Conv() [1/4]

layr::Conv::Conv ( std::pair< teq::DimT, teq::DimT filter_hw,
teq::DimT  in_ncol,
teq::DimT  out_ncol,
const std::string &  label 
)
inline

◆ Conv() [2/4]

layr::Conv::Conv ( NodeptrT  weight,
NodeptrT  bias,
std::string  label 
)
inline

◆ Conv() [3/4]

layr::Conv::Conv ( const Conv other,
std::string  label_prefix = "" 
)
inline

◆ Conv() [4/4]

layr::Conv::Conv ( Conv &&  other)
default

Member Function Documentation

◆ clone()

Conv* layr::Conv::clone ( std::string  label_prefix = "") const
inline

Return deep copy of this layer with prefixed label.

◆ clone_impl()

iLayer* layr::Conv::clone_impl ( const std::string &  label_prefix) const
inlineoverrideprivatevirtual

Implements layr::iLayer.

◆ connect()

NodeptrT layr::Conv::connect ( NodeptrT  input) const
inlineoverridevirtual

Implementation of iLayer.

Implements layr::iLayer.

◆ copy_helper()

void layr::Conv::copy_helper ( const Conv other,
std::string  label_prefix = "" 
)
inlineprivate

◆ get_contents()

teq::TensptrsT layr::Conv::get_contents ( void  ) const
inlineoverridevirtual

Implementation of iLayer.

Implements layr::iLayer.

◆ get_label()

std::string layr::Conv::get_label ( void  ) const
inlineoverridevirtual

Implementation of iLayer.

Implements layr::iLayer.

◆ get_ltype()

std::string layr::Conv::get_ltype ( void  ) const
inlineoverridevirtual

Implementation of iLayer.

Implements layr::iLayer.

◆ get_ninput()

size_t layr::Conv::get_ninput ( void  ) const
inlineoverridevirtual

Implementation of iLayer.

Implements layr::iLayer.

◆ get_noutput()

size_t layr::Conv::get_noutput ( void  ) const
inlineoverridevirtual

Implementation of iLayer.

Implements layr::iLayer.

◆ operator=() [1/2]

Conv& layr::Conv::operator= ( const Conv other)
inline

◆ operator=() [2/2]

Conv& layr::Conv::operator= ( Conv &&  other)
default

Member Data Documentation

◆ bias_

NodeptrT layr::Conv::bias_ = nullptr
private

◆ label_

std::string layr::Conv::label_
private

◆ weight_

NodeptrT layr::Conv::weight_
private

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