![]() |
libdl
0.0.1
Simple yet powerful deep learning
|
Implements auto-diff enabled wrappers around their concrete tensor implementations. More...
#include "shape.hpp"
#include "tensorptr.hpp"
#include <iostream>
#include <vector>
Go to the source code of this file.
Classes | |
struct | dl::DOF |
Wrapper around std::size_t to discern between var(TensorPtr, DOF) and var(TensorPtr, size_t). More... | |
Functions | |
TensorPtr | dl::pow (TensorPtr base, float exponent) noexcept |
Computes the exponent -th power of each element in base and returns the resulting tensor. | |
TensorPtr | dl::exp (TensorPtr x) noexcept |
Computes the elementwise x -th power of e. | |
TensorPtr | dl::log (TensorPtr x) noexcept |
Natural logarithm, \(\log_e(\,\cdot\,)\). | |
TensorPtr | dl::sqrt (TensorPtr x) noexcept |
Computes the elementwise square root of x . | |
TensorPtr | dl::rsqrt (TensorPtr x) noexcept |
Computes the reciprocal square root for each element in x . | |
TensorPtr | dl::mean (TensorPtr x) noexcept |
Mean. | |
TensorPtr | dl::mean (TensorPtr x, int dim, bool keepdim=false) noexcept |
Mean along a specified axis. | |
TensorPtr | dl::sum (TensorPtr x) noexcept |
Sum. | |
TensorPtr | dl::sum (TensorPtr x, int dim, bool keepdim=false) noexcept |
Sum along a specified axis. | |
TensorPtr | dl::min (TensorPtr x) noexcept |
Minimum. | |
TensorPtr | dl::min (TensorPtr x, int dim, bool keepdim=false) noexcept |
Minimum along a specified axis. | |
TensorPtr | dl::max (TensorPtr x) noexcept |
Maximum. | |
TensorPtr | dl::max (TensorPtr x, int dim, bool keepdim=false) noexcept |
Maximum along a specified axis. | |
TensorPtr | dl::max (TensorPtr x, TensorPtr y) noexcept |
Elementwise maximum. | |
TensorPtr | dl::var (TensorPtr x, DOF dof=DOF{1}) noexcept |
Variance. | |
TensorPtr | dl::var (TensorPtr x, int dim, DOF dof=DOF{1}) noexcept |
Variance along a specified axis. | |
TensorPtr | dl::erf (TensorPtr x) noexcept |
(Gauss) Error Function | |
TensorPtr | dl::relu (TensorPtr x) noexcept |
TensorPtr | dl::operator+ (TensorPtr left, float right) noexcept |
TensorPtr | dl::operator- (TensorPtr left, float right) noexcept |
TensorPtr | dl::operator* (TensorPtr left, float right) noexcept |
TensorPtr | dl::operator/ (TensorPtr left, float right) noexcept |
TensorPtr | dl::operator+ (float left, TensorPtr right) noexcept |
TensorPtr | dl::operator- (float left, TensorPtr right) noexcept |
TensorPtr | dl::operator* (float left, TensorPtr right) noexcept |
TensorPtr | dl::operator/ (float left, TensorPtr right) noexcept |
TensorPtr | dl::operator+ (TensorPtr left, TensorPtr right) noexcept |
TensorPtr | dl::operator- (TensorPtr left, TensorPtr right) noexcept |
TensorPtr | dl::operator* (TensorPtr left, TensorPtr right) noexcept |
TensorPtr | dl::operator/ (TensorPtr left, TensorPtr right) noexcept |
TensorPtr | dl::fma (const TensorPtr &factor1, const TensorPtr &factor2, const TensorPtr &summand) noexcept |
TensorPtr | dl::matmul (TensorPtr left, TensorPtr right) noexcept |
TensorPtr | dl::transpose (TensorPtr x, std::vector< int > &&permutation) noexcept |
Transposes the given tensor at the specified coordinates. | |
TensorPtr | dl::softmax (TensorPtr x) noexcept |
Computes the softmax function of the input vector. | |
TensorPtr | dl::softmax (TensorPtr x, int dim) noexcept |
std::ostream & | dl::operator<< (std::ostream &, const TensorPtr &tensor) noexcept |
bool | dl::operator== (const TensorPtr &left, const TensorPtr &right) noexcept |
bool | dl::allclose (const TensorPtr &left, const TensorPtr &right, float rtol=1e-5, float atol=1e-8) noexcept |
size_t | dl::numEntries (const TensorPtr &tensor) noexcept |
Returns the number of entries in the tensor. | |
TensorPtr | dl::reshape (TensorPtr tensor, SShape shape) noexcept |
Implements auto-diff enabled wrappers around their concrete tensor implementations.
Definition in file math.hpp.
|
noexcept |
Returns the number of entries in the tensor.
This is equivalent to the product of the shape.
tensor | The tensor to count the number of entries for. |
tensor
.
|
noexcept |
Computes the softmax function of the input vector.
Let \(x \in \mathbb R^n\) be a vector, the softmax is defined as
\[ \text{softmax}\colon \mathbb R^n \to \mathbb R^n ~\text{via}~ x\mapsto \left(\frac{e^{x_i}}{\sum_{j=1}^n e^{x_j}}\right)_{1\leq i\leq n}. \]
x | the input tensor. |
x
.
|
noexcept |
Transposes the given tensor at the specified coordinates.
Transposes the given tensor by permuting the dimensions. For example, if the input was a matrix, then \(x \in \mathbb{R}^n\times m\) the matrix transposition could be computed via dl::transpose(x, {0, 1});
.
x | the tensor to be tranposed. |
permutation | the permutation to apply to the dimensions. |
permutation
applied to the dimensions.