Class TensorInt
Represents data in a multidimensional array-like structure of ints.
Inherited Members
Namespace: Unity.Sentis
Syntax
public class TensorInt : Tensor, IDisposable
Constructors
TensorInt(Int32)
Initializes and returns a scalar tensor with the value of srcData
.
Declaration
public TensorInt(int srcData)
Parameters
Type | Name | Description |
---|---|---|
Int32 | srcData |
TensorInt(TensorShape, Int32[])
Initializes and returns a tensor with the specified shape
and an int[] array of srcData
data.
Declaration
public TensorInt(TensorShape shape, int[] srcData)
Parameters
Type | Name | Description |
---|---|---|
TensorShape | shape | |
Int32[] | srcData |
TensorInt(TensorShape, Int32[], Int32)
Initializes and returns a tensor with specified shape
and an int[] array of srcData
data. Sentis reads srcData
from dataStartIndex
. You can provide an optional debug name
.
srcData.Length
- dataStartIndex
must be bigger than or equal to shape.length
.
Declaration
public TensorInt(TensorShape shape, int[] srcData, int dataStartIndex = 0)
Parameters
Type | Name | Description |
---|---|---|
TensorShape | shape | |
Int32[] | srcData | |
Int32 | dataStartIndex |
Properties
dataType
The data type of the elements of the tensor.
Declaration
public override DataType dataType { get; }
Property Value
Type | Description |
---|---|
DataType |
Overrides
isCacheNull
Declaration
protected override bool isCacheNull { get; }
Property Value
Type | Description |
---|---|
Boolean |
Overrides
Item[Int32]
Returns the tensor element at offset d0
.
If the tensor is the result of computation on a different device, the method creates a blocking read.
Declaration
public int this[int d0] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
Int32 | d0 |
Property Value
Type | Description |
---|---|
Int32 |
Item[Int32, Int32]
Returns the tensor element at offset (d1, d0)
, which is position d1 * stride0 + d0
.
If the tensor is the result of computation on a different device, the method creates a blocking read.
Declaration
public int this[int d1, int d0] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
Int32 | d1 | |
Int32 | d0 |
Property Value
Type | Description |
---|---|
Int32 |
Item[Int32, Int32, Int32]
Returns the tensor element at offset (d2, d1, d0)
, which is position d2 * stride1 + d1 * stride0 + d0
.
If the tensor is the result of computation on a different device, the method creates a blocking read.
Declaration
public int this[int d2, int d1, int d0] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
Int32 | d2 | |
Int32 | d1 | |
Int32 | d0 |
Property Value
Type | Description |
---|---|
Int32 |
Item[Int32, Int32, Int32, Int32]
Returns the tensor element at offset (d3, d2, d1, d0)
, which is position d3 * stride2 + d2 * stride1 + d1 * stride0 + d0
in this tensor.
If the tensor is the result of computation on a different device, the method creates a blocking read.
Declaration
public int this[int d3, int d2, int d1, int d0] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
Int32 | d3 | |
Int32 | d2 | |
Int32 | d1 | |
Int32 | d0 |
Property Value
Type | Description |
---|---|
Int32 |
Item[Int32, Int32, Int32, Int32, Int32]
Returns the tensor element at offset (d4, d3, d2, d1, d0)
, which is position d4 * stride3 + d3 * stride2 + d2 * stride1 + d1 * stride0 + d0
.
If the tensor is the result of computation on a different device, the method creates a blocking read.
Declaration
public int this[int d4, int d3, int d2, int d1, int d0] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
Int32 | d4 | |
Int32 | d3 | |
Int32 | d2 | |
Int32 | d1 | |
Int32 | d0 |
Property Value
Type | Description |
---|---|
Int32 |
Item[Int32, Int32, Int32, Int32, Int32, Int32]
Returns the tensor element at offset (d5, d4, d3, d2, d1, d0)
, which is position d5 * stride4 + d4 * stride3 + d3 * stride2 + d2 * stride1 + d1 * stride0 + d0
.
If the tensor is the result of computation on a different device, the method creates a blocking read.
Declaration
public int this[int d5, int d4, int d3, int d2, int d1, int d0] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
Int32 | d5 | |
Int32 | d4 | |
Int32 | d3 | |
Int32 | d2 | |
Int32 | d1 | |
Int32 | d0 |
Property Value
Type | Description |
---|---|
Int32 |
Item[Int32, Int32, Int32, Int32, Int32, Int32, Int32]
Returns the tensor element at offset (d6, d5, d4, d3, d2, d1, d0)
, which is position d6 * stride5 + d5 * stride4 + d4 * stride3 + d3 * stride2 + d2 * stride1 + d1 * stride0 + d0
.
If the tensor is the result of computation on a different device, the method creates a blocking read.
Declaration
public int this[int d6, int d5, int d4, int d3, int d2, int d1, int d0] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
Int32 | d6 | |
Int32 | d5 | |
Int32 | d4 | |
Int32 | d3 | |
Int32 | d2 | |
Int32 | d1 | |
Int32 | d0 |
Property Value
Type | Description |
---|---|
Int32 |
Item[Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32]
Returns the tensor element at offset (d7, d6, d5, d4, d3, d2, d1, d0)
, which is position d7 * stride6 + d6 * stride5 + d5 * stride4 + d4 * stride3 + d3 * stride2 + d2 * stride1 + d1 * stride0 + d0
.
If the tensor is the result of computation on a different device, the method creates a blocking read.
Declaration
public int this[int d7, int d6, int d5, int d4, int d3, int d2, int d1, int d0] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
Int32 | d7 | |
Int32 | d6 | |
Int32 | d5 | |
Int32 | d4 | |
Int32 | d3 | |
Int32 | d2 | |
Int32 | d1 | |
Int32 | d0 |
Property Value
Type | Description |
---|---|
Int32 |
Methods
ClearCache()
Declaration
protected override void ClearCache()
Overrides
DeepCopy()
Returns a deep copy of the current Tensor.
Declaration
public override Tensor DeepCopy()
Returns
Type | Description |
---|---|
Tensor |
Overrides
PrepareCacheForAccess(Boolean)
Read data from the device and write it to the cache.
The default value of blocking
is true
, which means this method is a blocking read.
When the value of blocking
is false, the read is non-blocking. You can keep calling the method to get the status of the asynchronous download. You can access the tensor data when the method returns true
.
Declaration
public override bool PrepareCacheForAccess(bool blocking = true)
Parameters
Type | Name | Description |
---|---|---|
Boolean | blocking |
Returns
Type | Description |
---|---|
Boolean |
Overrides
ShallowReshape(TensorShape)
Returns a shallow copy of the Tensor
with a new shape. The copy shares data storage with the original tensor.
newShape.length
must be equal to this.shape.length
.
Declaration
public override Tensor ShallowReshape(TensorShape newShape)
Parameters
Type | Name | Description |
---|---|---|
TensorShape | newShape |
Returns
Type | Description |
---|---|
Tensor |
Overrides
ToReadOnlyArray()
Returns the cached linear memory representation of this tensor data.
If the tensor is the result of computation on a different device, the method creates a blocking read.
If you modify the contents of the returned array, the behaviour is undefined.
Declaration
public int[] ToReadOnlyArray()
Returns
Type | Description |
---|---|
Int32[] |
UploadIfDirty()
Declaration
protected override void UploadIfDirty()
Overrides
Zeros(TensorShape)
Initializes and returns a tensor with the specified shape
and filled with 0
.
Declaration
public static TensorInt Zeros(TensorShape shape)
Parameters
Type | Name | Description |
---|---|---|
TensorShape | shape |
Returns
Type | Description |
---|---|
TensorInt |