tvm
Classes | Public Member Functions | List of all members
tvm::te::Tensor Class Reference

Tensor structure representing a possible input, or intermediate computation result. More...

#include <tensor.h>

Inheritance diagram for tvm::te::Tensor:
Collaboration diagram for tvm::te::Tensor:

Classes

class  Slice
 data structure to represent a slice that fixes first k coordinates. This is used to enable syntax sugar of Tensor[x][y][z] to get the element. More...
 

Public Member Functions

 Tensor (Array< PrimExpr > shape, DataType dtype, Operation op, int value_index)
 
bool operator== (const Tensor &other) const
 check if two tensors equals each other. More...
 
bool operator!= (const Tensor &other) const
 check if two tensors are different. More...
 
size_t ndim () const
 
template<typename... Args>
PrimExpr operator() (Args &&... args) const
 Take elements from the tensor. More...
 
PrimExpr operator() (Array< PrimExpr > indices) const
 Take elements from the tensor. More...
 
PrimExpr operator() (Array< Var > indices) const
 Take elements from the tensor. More...
 
template<typename... Args>
PrimExpr IndexWithNegativeIndices (Args &&... args) const
 Take elements from the tensor with support for negative indices. More...
 
PrimExpr IndexWithNegativeIndices (Array< PrimExpr > indices) const
 Take elements from the tensor with support for negative indices. More...
 
PrimExpr IndexWithNegativeIndices (Array< Var > indices) const
 Take elements from the tensor with support for negative indices. More...
 
Slice operator[] (PrimExpr i) const
 get i-th slice from the current Tensor. More...
 
 TVM_DEFINE_OBJECT_REF_METHODS (Tensor, DataProducer, TensorNode)
 
- Public Member Functions inherited from tvm::tir::DataProducer
 TVM_DEFINE_OBJECT_REF_METHODS (DataProducer, ObjectRef, DataProducerNode)
 
- Public Member Functions inherited from tvm::runtime::ObjectRef
 ObjectRef ()=default
 default constructor More...
 
 ObjectRef (ObjectPtr< Object > data)
 Constructor from existing object ptr. More...
 
bool same_as (const ObjectRef &other) const
 Comparator. More...
 
bool operator== (const ObjectRef &other) const
 Comparator. More...
 
bool operator!= (const ObjectRef &other) const
 Comparator. More...
 
bool operator< (const ObjectRef &other) const
 Comparator. More...
 
bool defined () const
 
const Objectget () const
 
const Objectoperator-> () const
 
bool unique () const
 
int use_count () const
 
template<typename ObjectType , typename = std::enable_if_t<std::is_base_of_v<Object, ObjectType>>>
const ObjectType * as () const
 Try to downcast the internal Object to a raw pointer of a corresponding type. More...
 
template<typename ObjectRefType , typename = std::enable_if_t<std::is_base_of_v<ObjectRef, ObjectRefType>>>
Optional< ObjectRefType > as () const
 Try to downcast the ObjectRef to a Optional<T> of the requested type. More...
 

Additional Inherited Members

- Public Types inherited from tvm::runtime::ObjectRef
using ContainerType = Object
 type indicate the container type. More...
 
- Static Public Attributes inherited from tvm::runtime::ObjectRef
static constexpr bool _type_is_nullable = true
 
- Protected Member Functions inherited from tvm::runtime::ObjectRef
Objectget_mutable () const
 
- Static Protected Member Functions inherited from tvm::runtime::ObjectRef
template<typename T >
static T DowncastNoCheck (ObjectRef ref)
 Internal helper function downcast a ref without check. More...
 
static void FFIClearAfterMove (ObjectRef *ref)
 Clear the object ref data field without DecRef after we successfully moved the field. More...
 
template<typename ObjectType >
static ObjectPtr< ObjectType > GetDataPtr (const ObjectRef &ref)
 Internal helper function get data_ as ObjectPtr of ObjectType. More...
 
- Protected Attributes inherited from tvm::runtime::ObjectRef
ObjectPtr< Objectdata_
 Internal pointer that backs the reference. More...
 

Detailed Description

Tensor structure representing a possible input, or intermediate computation result.

Constructor & Destructor Documentation

◆ Tensor()

tvm::te::Tensor::Tensor ( Array< PrimExpr shape,
DataType  dtype,
Operation  op,
int  value_index 
)

Member Function Documentation

◆ IndexWithNegativeIndices() [1/3]

template<typename... Args>
PrimExpr tvm::te::Tensor::IndexWithNegativeIndices ( Args &&...  args) const
inline

Take elements from the tensor with support for negative indices.

Parameters
argsThe indices
Returns
the result expression representing tensor read.

◆ IndexWithNegativeIndices() [2/3]

PrimExpr tvm::te::Tensor::IndexWithNegativeIndices ( Array< PrimExpr indices) const

Take elements from the tensor with support for negative indices.

Parameters
indicesthe indices.
Returns
the result expression representing tensor read.

◆ IndexWithNegativeIndices() [3/3]

PrimExpr tvm::te::Tensor::IndexWithNegativeIndices ( Array< Var indices) const

Take elements from the tensor with support for negative indices.

Parameters
indicesthe indices.
Returns
the result expression representing tensor read.

◆ ndim()

size_t tvm::te::Tensor::ndim ( ) const
inline
Returns
The dimension of the tensor

◆ operator!=()

bool tvm::te::Tensor::operator!= ( const Tensor other) const
inline

check if two tensors are different.

Parameters
othertensor to be checked.
Returns
whether the two tensors are different.

◆ operator()() [1/3]

template<typename... Args>
PrimExpr tvm::te::Tensor::operator() ( Args &&...  args) const
inline

Take elements from the tensor.

Parameters
argsThe indices
Returns
the result expression representing tensor read.

◆ operator()() [2/3]

PrimExpr tvm::te::Tensor::operator() ( Array< PrimExpr indices) const

Take elements from the tensor.

Parameters
indicesthe indices.
Returns
the result expression representing tensor read.

◆ operator()() [3/3]

PrimExpr tvm::te::Tensor::operator() ( Array< Var indices) const

Take elements from the tensor.

Parameters
indicesthe indices.
Returns
the result expression representing tensor read.

◆ operator==()

bool tvm::te::Tensor::operator== ( const Tensor other) const
inline

check if two tensors equals each other.

Parameters
othertensor to be checked.
Returns
whether the two tensors equals each other.

◆ operator[]()

Slice tvm::te::Tensor::operator[] ( PrimExpr  i) const
inline

get i-th slice from the current Tensor.

Parameters
ithe index of the coordinate
Returns
the subsequent slice.

◆ TVM_DEFINE_OBJECT_REF_METHODS()

tvm::te::Tensor::TVM_DEFINE_OBJECT_REF_METHODS ( Tensor  ,
DataProducer  ,
TensorNode   
)

The documentation for this class was generated from the following file: