A class that implements a deep neural network using PyTorch, inheriting from MLFunction.
More...
#include <functions.h>
|
| | TorchDNN (std::vector< float * > weights, std::vector< float * > bias, std::vector< int > dimensions) |
| | Constructor that initializes the neural network with weights, biases, and layer dimensions.
|
| |
| void | apply (const SelectivityVector &rows, std::vector< VectorPtr > &args, const TypePtr &type, exec::EvalCtx &context, VectorPtr &output) const override |
| | Applies the neural network to the input array.
|
| |
| float * | getTensor () const override |
| | Returns the tensor associated with this function.
|
| |
| const std::vector< float * > & | getWeights () const |
| | Returns the weights of the neural network.
|
| |
| const std::vector< float * > & | getBias () const |
| | Returns the biases of the neural network.
|
| |
| std::string | getFuncName () |
| | Returns the name of the function.
|
| |
| CostEstimate | getCost (std::vector< int > inputDims) |
| | Estimates the computational cost of applying the neural network.
|
| |
|
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.
|
| |
|
| 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 deep neural network using PyTorch, inheriting from MLFunction.
This class provides functionality to apply a multi-layer neural network with ReLU activations and softmax output.
◆ TorchDNN()
| TorchDNN::TorchDNN |
( |
std::vector< float * > | weights, |
|
|
std::vector< float * > | bias, |
|
|
std::vector< int > | dimensions ) |
|
inline |
Constructor that initializes the neural network with weights, biases, and layer dimensions.
- Parameters
-
| weights | A vector of pointers to weight matrices for each layer. |
| bias | A vector of pointers to bias vectors for each layer. |
| dimensions | A vector containing the dimensions of the neural network layers. |
◆ apply()
| void TorchDNN::apply |
( |
const SelectivityVector & | rows, |
|
|
std::vector< VectorPtr > & | args, |
|
|
const TypePtr & | type, |
|
|
exec::EvalCtx & | context, |
|
|
VectorPtr & | output ) const |
|
inlineoverride |
Applies the neural network to the input array.
This method processes the input array, applies the neural network, 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 std::vector< float * > & TorchDNN::getBias |
( |
| ) |
const |
|
inline |
Returns the biases of the neural network.
- Returns
- A vector of pointers to bias vectors.
◆ getCost()
| CostEstimate TorchDNN::getCost |
( |
std::vector< int > | inputDims | ) |
|
|
inlinevirtual |
Estimates the computational cost of applying the neural network.
- Parameters
-
| inputDims | A vector containing the dimensions of the input. |
- Returns
- A CostEstimate object representing the estimated cost.
Reimplemented from MLFunction.
◆ getFuncName()
| std::string TorchDNN::getFuncName |
( |
| ) |
|
|
inlinevirtual |
Returns the name of the function.
- Returns
- The name of the function as a string.
Reimplemented from MLFunction.
◆ getName()
| static std::string TorchDNN::getName |
( |
| ) |
|
|
inlinestatic |
Static method to return the name of the function.
- Returns
- The name of the function as a string ("torchnn").
◆ getTensor()
| float * TorchDNN::getTensor |
( |
| ) |
const |
|
inlineoverridevirtual |
Returns the tensor associated with this function.
- Returns
- A pointer to an empty float array (no weights for TorchDNN).
Implements MLFunction.
◆ getWeights()
| const std::vector< float * > & TorchDNN::getWeights |
( |
| ) |
const |
|
inline |
Returns the weights of the neural network.
- Returns
- A vector of pointers to weight matrices.
◆ signatures()
| static std::vector< std::shared_ptr< exec::FunctionSignature > > TorchDNN::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: