#pragma once #include "core/operator.h" namespace infini { class TransposeObj : public OperatorObj { public: TransposeObj(GraphObj *graph, Tensor input, Tensor output, vector permute); OP_CLONE(TransposeObj); optional> inferShape(const TensorVec &inputs) const override; std::string toString() const override; int numInputs() const override { return 1; } int numOutputs() const override { return 1; } std::vector getPermute() const { return transposePermute; } private: vector transposePermute; vector getWorkloadVector() const override; vector getOpAttrVector() const override; }; }; // namespace infini