mxnet
|
Classes | |
struct | ALMParams |
A singleton flag, set and read by MXSetOptimizeLayout and MXGetOptimizeLayout. More... | |
Typedefs | |
using | Transpose = std::vector< size_t > |
Transpose, represented by permutation of axes. More... | |
using | FChangeLayout = std::function< bool(nnvm::NodeAttrs *, mshadow::LayoutFlag target_layout, std::vector< Transpose > *in_axes, std::vector< Transpose > *out_axes)> |
May change operator's layout. Used in LayoutOptimization. More... | |
Functions | |
nnvm::Graph | OptimizeLayout (nnvm::Graph &&g) |
bool | IsIdentity (const Transpose &t) |
Transpose | Reverse (const Transpose &axes) |
Transpose | Compose (const Transpose &lhs, const Transpose &rhs) |
mshadow::LayoutFlag | ApplyTranspose (mshadow::LayoutFlag layout, const Transpose &axes) |
std::string | ApplyTranspose (const std::string &layout, const Transpose &axes) |
Transpose | FromTShape (const mxnet::TShape &s) |
Transpose | FactorCommonTranspose (std::vector< Transpose > *axes) |
Factors out and returns a common transpose, or default-constructed Transpose if all axes (in/out parameter) are empty. More... | |
using mxnet::alm::FChangeLayout = typedef std::function<bool(nnvm::NodeAttrs*, mshadow::LayoutFlag target_layout, std::vector<Transpose>* in_axes, std::vector<Transpose>* out_axes)> |
May change operator's layout. Used in LayoutOptimization.
target_layout | The target layout to change to, or kUNKNOWN. In the latter case the target layout is calculated based on in_axes, with a goal to cancel them out (at least some, ideally - all). |
in_axes | (in/out) On input - pending inputs' transposes. On output - inputs' transposes, required by the new layout. |
out_axes | (out) Outputs' transposes, required to convert to the original layouts. |
using mxnet::alm::Transpose = typedef std::vector<size_t> |
Transpose, represented by permutation of axes.
std::string mxnet::alm::ApplyTranspose | ( | const std::string & | layout, |
const Transpose & | axes | ||
) |
mshadow::LayoutFlag mxnet::alm::ApplyTranspose | ( | mshadow::LayoutFlag | layout, |
const Transpose & | axes | ||
) |
\bried Compose 2 transposes. Not commutative: a * b means b is applied first, then a.
Factors out and returns a common transpose, or default-constructed Transpose if all axes (in/out parameter) are empty.
Transpose mxnet::alm::FromTShape | ( | const mxnet::TShape & | s | ) |
bool mxnet::alm::IsIdentity | ( | const Transpose & | t | ) |
nnvm::Graph mxnet::alm::OptimizeLayout | ( | nnvm::Graph && | g | ) |
\bried Top-level function to run layout optimization.