Loading...
Searching...
No Matches
tensor_operations.h File Reference

Go to the source code of this file.

Classes

struct  opennn::LinearBackwardOptions
 

Namespaces

namespace  opennn
 

Enumerations

enum class  opennn::Transpose { opennn::No , opennn::Yes }
 

Functions

float opennn::gelu_value (float x)
 
float opennn::gelu_tanh_value (float x)
 
float opennn::silu_value (float x)
 
float opennn::gelu_derivative (float x)
 
float opennn::gelu_tanh_derivative (float x)
 
float opennn::silu_derivative (float x)
 
const EnumMap< ActivationFunction > & opennn::activation_function_map ()
 
const string & opennn::activation_function_to_string (ActivationFunction)
 
ActivationFunction opennn::activation_function_from_string (const string &)
 
bool opennn::activation_needs_input (ActivationFunction function)
 
bool opennn::blas_mkl_available ()
 
float opennn::activation_forward_value (ActivationFunction function, float x)
 
float opennn::activation_derivative_from_output_value (ActivationFunction function, float y)
 
template<typename TensorType>
TensorType::PlainObject opennn::activation_forward_values (ActivationFunction function, const TensorType &values)
 
template<typename TensorType>
TensorType::PlainObject opennn::activation_derivative_from_output_values (ActivationFunction function, const TensorType &values)
 
void opennn::copy (const TensorView &, TensorView &)
 
void opennn::add (const TensorView &, const TensorView &, TensorView &)
 
void opennn::multiply (const TensorView &, Transpose, const TensorView &, Transpose, TensorView &, float alpha=1.0f, float beta=0.0f)
 
void opennn::softmax (TensorView &)
 
void opennn::softmax_backward (const TensorView &, TensorView &, float alpha=1.0f)
 
void opennn::activation_forward (TensorView &, ActivationFunction)
 
void opennn::activation_backward (const TensorView &, TensorView &, ActivationFunction)
 
void opennn::linear_forward (const TensorView &, const TensorView &, const TensorView &, TensorView &, LinearEpilogue epilogue=LinearEpilogue::Bias, TensorView *pre_activation=nullptr, const TensorView &weight_scale={}, ActivationFunction fused_activation=ActivationFunction::Identity)
 
void opennn::linear_backward (const TensorView &, const TensorView &, const TensorView &, const TensorView &, const TensorView &, TensorView &, bool accumulate_input_delta=false, const LinearBackwardOptions &options={})
 
void opennn::linear_forward_transposed (const TensorView &input, const TensorView &embed_weight, TensorView &output, const TensorView &weight_scale={})
 
MatrixR opennn::append_rows (const MatrixR &, const MatrixR &)
 
MatrixR opennn::append_columns (const MatrixR &, const MatrixR &)
 
pair< MatrixR, MatrixR > opennn::append_rows (const pair< MatrixR, MatrixR > &, const pair< MatrixR, MatrixR > &)
 
MatrixR opennn::append_columns (const pair< MatrixR, MatrixR > &)
 
VectorR opennn::slice_rows (const VectorR &, const vector< Index > &)
 
MatrixR opennn::slice_rows (const MatrixR &, const vector< Index > &)
 
pair< MatrixR, MatrixR > opennn::slice_rows (const pair< MatrixR, MatrixR > &, const vector< Index > &)
 
MatrixR opennn::calculate_distances (const MatrixR &)
 
VectorI opennn::get_nearest_points (const MatrixR &, const VectorR &, Index=1)
 
bool opennn::row_dominates (const MatrixR &, Index, Index)
 

Variables

constexpr float opennn::INV_SQRT_2 = 0.70710678118654752440f
 
constexpr float opennn::INV_SQRT_2_PI = 0.39894228040143267794f
 
constexpr float opennn::SQRT_2_OVER_PI = 0.7978845608028654f
 
constexpr float opennn::GELU_TANH_CUBIC = 0.044715f