1#ifndef TMVA_SOFIE_ROPERATOR_CONVTRANSPOSE_HXX
2#define TMVA_SOFIE_ROPERATOR_CONVTRANSPOSE_HXX
16namespace Experimental {
72 std::vector<size_t> kernelShape, std::vector<size_t> outputPadding,
73 std::vector<size_t> outputShape, std::vector<size_t> pads, std::vector<size_t> strides,
74 std::string nameX, std::string nameW, std::string nameB, std::string nameY)
77 fNX(UTILITY::Clean_name(nameX)),
fNW(UTILITY::Clean_name(nameW)),
fNB(UTILITY::Clean_name(nameB)),
78 fNY(UTILITY::Clean_name(nameY))
80 if (std::is_same<T, float>::value) {
83 throw std::runtime_error(
"TMVA SOFIE Encountered unsupported type parsing a Conv operator");
99 std::vector<std::vector<size_t>>
ShapeInference(std::vector<std::vector<size_t>> )
override;
118 std::string
Generate(std::string opName)
override;
122 std::vector<std::string>
GetBlasRoutines()
override {
return { std::string(
"Gemm"), std::string(
"Axpy") }; }
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void input
Transposed Convolution operator.
std::vector< size_t > fAttrOutputPadding
std::vector< std::string > GetBlasRoutines() override
Returns the blas routines needed to compile the generated code.
std::vector< size_t > fAttrPads
ROperator_ConvTranspose(std::string autopad, std::vector< size_t > dilations, size_t group, std::vector< size_t > kernelShape, std::vector< size_t > outputPadding, std::vector< size_t > outputShape, std::vector< size_t > pads, std::vector< size_t > strides, std::string nameX, std::string nameW, std::string nameB, std::string nameY)
Constructor of ROperator_ConvTranspose from the attributes.
void Initialize(RModel &) override
Initialize the model.
ROperator_ConvTranspose()
Default constructor of ROperator_ConvTranspose.
std::string GenerateSessionMembersCode(std::string) override
Generate code for Session data members (e.g.
std::vector< size_t > fAttrKernelShape
std::vector< size_t > fAttrDilations
std::vector< ETensorType > TypeInference(std::vector< ETensorType > input) override
Infers the type of the output tensor.
std::string fNBroadcastedB
std::string GenerateInitCode() override
Generate code for initializing the op.
std::string Generate(std::string opName) override
Generate the inference code.
std::vector< size_t > fAttrStrides
std::vector< size_t > fShapeX
std::vector< std::vector< size_t > > ShapeInference(std::vector< std::vector< size_t > >) override
Infers the shape of the input tensors.
std::vector< size_t > fShapeW
std::vector< size_t > fShapeB
std::vector< size_t > fShapeY
std::vector< size_t > fAttrOutputShape
create variable transformations