8#include "poplar/DebugContext.hpp"
9#include "poplar/Program.hpp"
10#include "poplar/Tensor.hpp"
24 std::size_t numActsElements,
25 bool computeStats =
true);
34 std::size_t numActsElements);
43 std::size_t numActsElements);
64std::pair<poplar::Tensor, poplar::Tensor>
DebugContext gathers the common external parameters of the context of an operation.
Definition: DebugContext.hpp:221
This class represents a graph program to be executed on the IPU.
Definition: Graph.hpp:52
A reference to a subset of tensor elements.
Definition: Tensor.hpp:38
Functions used in neural networks.
Definition: BatchNorm.hpp:14
poplar::Tensor createNormGamma(poplar::Graph &graph, const poplar::Tensor &acts, const poplar::DebugContext &debugContext={})
std::pair< poplar::Tensor, poplar::Tensor > createNormParams(poplar::Graph &graph, const poplar::Tensor acts, const poplar::DebugContext &debugContext={})
std::uint64_t getNormWuFlops(std::size_t paramsSize, std::size_t numActsElements)
Calculate the floating point operations required for parameter update for a norm layer.
std::uint64_t getNormBwdFlops(std::size_t statisticsSize, std::size_t numActsElements)
Calculate the floating point operations required for computation of the gradient with respect to the ...
poplar::Tensor createNormBeta(poplar::Graph &graph, const poplar::Tensor &acts, const poplar::DebugContext &debugContext={})
std::uint64_t getNormFwdFlops(std::size_t statisticsSize, std::size_t numActsElements, bool computeStats=true)
Calculate the floating point operations required for the forward pass of a norm layer.