Class TensorFloat
Represents data in a multidimensional array-like structure of floats.
Inherited Members
Namespace: Unity.Sentis
Syntax
public class TensorFloat : Tensor, IDisposable
Constructors
TensorFloat(Single)
Initializes and returns a scalar tensor with the value of srcData.
Declaration
public TensorFloat(float srcData)
Parameters
| Type | Name | Description |
|---|---|---|
| Single | srcData |
TensorFloat(TensorShape, Single[])
Initializes and returns a tensor with the specified shape and a float[] array of srcData data.
Declaration
public TensorFloat(TensorShape shape, float[] srcData)
Parameters
| Type | Name | Description |
|---|---|---|
| TensorShape | shape | |
| Single[] | srcData |
TensorFloat(TensorShape, Single[], Int32)
Initializes and returns a tensor with specified shape and a float[] 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 TensorFloat(TensorShape shape, float[] srcData, int dataStartIndex = 0)
Parameters
| Type | Name | Description |
|---|---|---|
| TensorShape | shape | |
| Single[] | 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 float this[int d0] { get; set; }
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | d0 |
Property Value
| Type | Description |
|---|---|
| Single |
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 float this[int d1, int d0] { get; set; }
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | d1 | |
| Int32 | d0 |
Property Value
| Type | Description |
|---|---|
| Single |
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 float this[int d2, int d1, int d0] { get; set; }
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | d2 | |
| Int32 | d1 | |
| Int32 | d0 |
Property Value
| Type | Description |
|---|---|
| Single |
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 float 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 |
|---|---|
| Single |
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 float 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 |
|---|---|
| Single |
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 float 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 |
|---|---|
| Single |
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 float 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 |
|---|---|
| Single |
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 float 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 |
|---|---|
| Single |
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 the data in this tensor.
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 float[] ToReadOnlyArray()
Returns
| Type | Description |
|---|---|
| Single[] |
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 TensorFloat Zeros(TensorShape shape)
Parameters
| Type | Name | Description |
|---|---|---|
| TensorShape | shape |
Returns
| Type | Description |
|---|---|
| TensorFloat |