asgn
 
Loading...
Searching...
No Matches
dcnnsol::conv_weight_policy< KSP, CSPI, CSPO, PP > Struct Template Reference

Policy class: Model weight data types for convolutional layers. More...

#include <dcnnelements.hpp>

Inheritance diagram for dcnnsol::conv_weight_policy< KSP, CSPI, CSPO, PP >:
dcnnasgn::conv_weight_size_policy< KSP, CSPI, CSPO >

Public Types

using channel_in_tag
 Input channel tag.
 
using channel_out_tag
 Output channel tag.
 
Data classes

Each data class is a tagged::tensor_class with statically sized dimensions determined by the sizing-policy arguments of this policy class template. The physical layout (order of indexes) of each tagged::tensor_class is determined by the permutation-policy argument.

using weights_t = tagged::permute_tensor_class< typename PP::weights, float, kernel_height_tag, kernel_width_tag, tagged::co<channel_in_tag>, channel_out_tag>
 The tensor containing the weights of the convolution.
 
- Public Types inherited from dcnnasgn::conv_weight_size_policy< KSP, CSPI, CSPO >
using channel_in_tag = typename CSPI::channel_tag
 Input channel tag.
 
using channel_out_tag = typename CSPO::channel_tag
 Output channel tag.
 

Additional Inherited Members

- Static Public Attributes inherited from dcnnasgn::conv_weight_size_policy< KSP, CSPI, CSPO >
static constexpr auto cir = CSPI::cr
 Input channel range.
 
static constexpr auto cor = CSPO::cr
 Output channel range.
 

Detailed Description

template<typename KSP, typename CSPI, typename CSPO, is_policy PP>
struct dcnnsol::conv_weight_policy< KSP, CSPI, CSPO, PP >

Policy class: Model weight data types for convolutional layers.

Template Parameters
KSP
CSPI
CSPO
PPPermutation policy

Member Typedef Documentation

◆ weights_t

template<typename KSP, typename CSPI, typename CSPO, is_policy PP>
using dcnnasgn::conv_weight_policy< KSP, CSPI, CSPO, PP >::weights_t = tagged::permute_tensor_class< typename PP::weights, float, kernel_height_tag, kernel_width_tag, tagged::co<channel_in_tag>, channel_out_tag>

The tensor containing the weights of the convolution.

The input channel tag is modified by the tagged::co prefix to distinguish it from the output channel tag (which may be otherwise identical). This co-tagging is also consistent with the meaning of the tensor as a transformation from input channels to output channels.


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