24 #ifndef TVM_TOPI_NN_FLATTEN_H_ 25 #define TVM_TOPI_NN_FLATTEN_H_ 51 auto ishape = x->shape;
53 for (
size_t i = 1; i < ishape.size(); ++i) {
54 dim = dim * ishape[i];
59 std::vector<PrimExpr> extra_shape;
60 for (
size_t i = 1; i < ishape.size(); ++i) {
61 extra_shape.push_back(ishape[i]);
63 std::reverse(extra_shape.begin(), extra_shape.end());
69 std::vector<PrimExpr> index;
70 for (
auto s : extra_shape) {
75 std::reverse(index.begin(), index.end());
84 #endif // TVM_TOPI_NN_FLATTEN_H_ PrimExpr indexmod(PrimExpr a, PrimExpr b, Span span=Span())
compute the remainder floor(a / b) where a and b are non-negative.
runtime implementation for LibTorch/TorchScript.
Definition: analyzer.h:36
Tensor expression language DSL.
Definition: extracted_task.h:33
a named variable in TIR
Definition: var.h:88
constexpr auto kInjective
Definition: tags.h:33
Utility functions for handling constants in TVM expressions.
Array, container representing a contiguous sequence of ObjectRefs.
Definition: array.h:289
PrimExpr indexdiv(PrimExpr a, PrimExpr b, Span span=Span())
compute floor(a / b) where a and b are non-negative.
Tensor flatten(const Tensor &x, std::string name="tensor", std::string tag=kInjective)
Flattens the input tensor into a 2-D tensor by collapsing higher dimensions. This requires the input ...
Definition: flatten.h:50
Tensor structure representing a possible input, or intermediate computation result.
Definition: tensor.h:102
Operation node can generate one or multiple Tensors.
Tensor compute(Array< PrimExpr > shape, FCompute fcompute, std::string name="tensor", std::string tag="", Map< String, ObjectRef > attrs={})
Construct a new tensor by computing over shape, using the computation rule: result_tensor[axis] = fco...
Reference to PrimExprNode.
Definition: expr.h:114