A class that implements a single-layer neural network kernel using PyTorch, inheriting from MLFunction.
More...
#include <functions.h>
|
| | TorchDNNKernel (std::string kernel, float *weights, float *bias, std::vector< int > dimensions) |
| | Constructor that initializes the neural network kernel with weights, biases, and dimensions.
|
| |
| void | apply (const SelectivityVector &rows, std::vector< VectorPtr > &args, const TypePtr &type, exec::EvalCtx &context, VectorPtr &output) const override |
| | Applies the neural network kernel to the input array.
|
| |
| float * | getTensor () const override |
| | Returns the tensor associated with this function.
|
| |
| const float * | getWeights () const |
| | Returns the weights of the neural network kernel.
|
| |
| const float * | getBias () const |
| | Returns the biases of the neural network kernel.
|
| |
| std::string | getFuncName () |
| | Returns the name of the function.
|
| |
|
virtual | ~MLFunction ()=default |
| | Virtual destructor.
|
| |
| virtual std::vector< int > | getDims () |
| | Returns the dimensions of the function.
|
| |
| virtual int | getNumDims () |
| | Returns the number of dimensions of the function.
|
| |
| virtual CostEstimate | getCost (std::vector< int > inputDims) |
| | Estimates the computational cost of applying the function.
|
| |
|
| static std::vector< std::shared_ptr< exec::FunctionSignature > > | signatures () |
| | Returns the function signatures supported by this class.
|
| |
| static std::string | getName () |
| | Static method to return the name of the function.
|
| |
|
| double | getWeightedCost (std::string name, float cost) |
| | Calculates the weighted cost of the function.
|
| |
| std::vector< double > | getCoefficientVector (std::string name) |
| | Retrieves the cost coefficients for the function.
|
| |
|
std::vector< int > | dims |
| | Dimensions of the function.
|
| |
A class that implements a single-layer neural network kernel using PyTorch, inheriting from MLFunction.
This class provides functionality to apply a single-layer neural network with configurable kernel types (e.g., Dense, ReLU, Softmax).
◆ TorchDNNKernel()
| TorchDNNKernel::TorchDNNKernel |
( |
std::string | kernel, |
|
|
float * | weights, |
|
|
float * | bias, |
|
|
std::vector< int > | dimensions ) |
|
inline |
Constructor that initializes the neural network kernel with weights, biases, and dimensions.
- Parameters
-
| kernel | The type of kernel (e.g., "Dense", "ReLU", "Softmax"). |
| weights | A pointer to the weight matrix. |
| bias | A pointer to the bias vector. |
| dimensions | A vector containing the dimensions of the neural network layer. |
◆ apply()
| void TorchDNNKernel::apply |
( |
const SelectivityVector & | rows, |
|
|
std::vector< VectorPtr > & | args, |
|
|
const TypePtr & | type, |
|
|
exec::EvalCtx & | context, |
|
|
VectorPtr & | output ) const |
|
inlineoverride |
Applies the neural network kernel to the input array.
This method processes the input array, applies the neural network kernel, and stores the result in the output vector.
- Parameters
-
| rows | A SelectivityVector specifying the rows to process. |
| args | A vector of input arguments (e.g., the input array). |
| type | The type of the output vector. |
| context | The execution context. |
| output | The output vector where the result will be stored. |
◆ getBias()
| const float * TorchDNNKernel::getBias |
( |
| ) |
const |
|
inline |
Returns the biases of the neural network kernel.
- Returns
- A pointer to the bias vector.
◆ getFuncName()
| std::string TorchDNNKernel::getFuncName |
( |
| ) |
|
|
inlinevirtual |
Returns the name of the function.
- Returns
- The name of the function as a string.
Reimplemented from MLFunction.
◆ getName()
| static std::string TorchDNNKernel::getName |
( |
| ) |
|
|
inlinestatic |
Static method to return the name of the function.
- Returns
- The name of the function as a string ("torchnn_kernel").
◆ getTensor()
| float * TorchDNNKernel::getTensor |
( |
| ) |
const |
|
inlineoverridevirtual |
Returns the tensor associated with this function.
- Returns
- A pointer to an empty float array (no weights for TorchDNNKernel).
Implements MLFunction.
◆ getWeights()
| const float * TorchDNNKernel::getWeights |
( |
| ) |
const |
|
inline |
Returns the weights of the neural network kernel.
- Returns
- A pointer to the weight matrix.
◆ signatures()
| static std::vector< std::shared_ptr< exec::FunctionSignature > > TorchDNNKernel::signatures |
( |
| ) |
|
|
inlinestatic |
Returns the function signatures supported by this class.
- Returns
- A vector of shared pointers to FunctionSignature objects.
The documentation for this class was generated from the following file: