nuget server logo nuget api documents
↑

API Docs / Microsoft.VisualBasic.MachineLearning.TensorFlow / TensorF

TensorF

Full name Microsoft.VisualBasic.MachineLearning.TensorFlow.TensorF Assembly Microsoft.VisualBasic.MachineLearning.TensorFlow Members 37

单精度(Single / float32)多维张量。与双精度 Tensor 并列, 通过 TensorF.ToTensor() / TensorF.FromTensor() 双向互转。

00 Remarks

索引器被刻意设计为"纯数组读写",不包含版本计数或任何原子操作, 以便 CFD 这类每秒上亿次随机访问的热循环可以直接使用。

01 Syntax

Microsoft.VisualBasic.MachineLearning.TensorFlow.TensorF

02 Methods

NameOverloadsSummary
.ctor 3 创建空张量。
Zeros 1 创建指定形状的零张量。
Ones 1 创建指定形状、元素全为 1 的张量。
Filled 1 创建指定形状、元素全为给定值的张量。
Scalar 1 创建只含一个元素的标量张量。
Wrap 1 零拷贝包装一个已有的单精度数组。底层数组由调用方持有, 张量直接引用它(不复制),适用于把 CFD 场缓冲暴露成张量的场景。
Get1DInd 1 把多维下标换算为一维扁平下标。
UpdateDimProds 1 重算各维度步长(形状变化后必须调用)。
Clear 1 把所有元素清零。
Fill 1 用同一个值填满整个张量。
Clone 1 创建深拷贝。
CloneT 1 创建深拷贝(强类型版本,避免调用方反复 CType)。
CopyFrom 1 把另一个同形张量的数据复制到本张量。
ToTensor 1 转换为双精度 Tensor(数据会被复制并逐元素拓宽)。
FromTensor 1 从双精度 Tensor 转换而来(数据会被复制并逐元素窄化)。
FromDoubles 1 从双精度数组转换而来。
ToDoubles 1 导出为双精度数组的副本。
Dispose 1 释放底层数组。注意:释放后 TensorF.Data 变为 Nothing, 仍处于使用中的场缓冲不应调用本方法。
ToString 1 返回形状与元素总数的简要描述。

03 Properties

NameOverloadsSummary
computeKernelF 1 单精度张量当前生效的计算后端。默认是 SIMD 加速的 CPU 实现 (SIMDTensorF.Default);后续可切换为 GPU 后端。
Data 1 存储张量数据的一维数组(行优先顺序)。热循环可直接使用以避免索引器开销。
Shape 1 张量的形状(各维度大小)
Length 1 元素总数
TotalLength 1 元素总数(与 TensorF.Length 相同,为与 Double 版保持命名一致而提供)
Rank 1 张量的维度数
IsDisposed 1 是否已被释放
Item 4 三维索引访问 (row, col, depth),对应 CFD 的 (i, j, k)。 注意:本索引器不含任何原子操作,可安全用于高频热循环。

04 Fields

NameOverloadsSummary
_Data 1 底层数据数组(单精度)
_Shape 1 张量形状(各维度大小)
_DimProds 1 各维度步长(用于多维索引 -> 一维下标)
SyncRoot 2 切换计算后端时使用的同步根对象

05 Members

method .ctor #
#ctor

创建空张量。

method .ctor overload 2 #
#ctor(Int32())

创建指定形状的零张量。

Parameters
NameTypeDescription
shapeInt32()

各维度大小

method .ctor overload 3 #
#ctor(Single(), Int32())

用已有数据创建张量(数据会被复制)。

Parameters
NameTypeDescription
dataSingle()

源数据(行优先)

shapeInt32()

各维度大小

method Zeros #
Zeros(Int32())

创建指定形状的零张量。

Parameters
NameTypeDescription
shapeInt32()

各维度大小

method Ones #
Ones(Int32())

创建指定形状、元素全为 1 的张量。

Parameters
NameTypeDescription
shapeInt32()

各维度大小

method Filled #
Filled(Int32(), Single)

创建指定形状、元素全为给定值的张量。

Parameters
NameTypeDescription
shapeInt32()

各维度大小

valueSingle

填充值

method Scalar #
Scalar(Single)

创建只含一个元素的标量张量。

Parameters
NameTypeDescription
valueSingle

标量值

method Wrap #
Wrap(Single(), Int32())

零拷贝包装一个已有的单精度数组。底层数组由调用方持有, 张量直接引用它(不复制),适用于把 CFD 场缓冲暴露成张量的场景。

Parameters
NameTypeDescription
dataSingle()

底层数组(不被复制)

shapeInt32()

各维度大小

method Get1DInd #
Get1DInd(Int32())

把多维下标换算为一维扁平下标。

Parameters
NameTypeDescription
indexesInt32()

各维度下标

method UpdateDimProds #
UpdateDimProds

重算各维度步长(形状变化后必须调用)。

method Clear #
Clear

把所有元素清零。

method Fill #
Fill(Single)

用同一个值填满整个张量。

Parameters
NameTypeDescription
valueSingle

填充值

method Clone #
Clone

创建深拷贝。

method CloneT #
CloneT

创建深拷贝(强类型版本,避免调用方反复 CType)。

method CopyFrom #
CopyFrom(TensorF)

把另一个同形张量的数据复制到本张量。

Parameters
NameTypeDescription
otherTensorF

源张量

method ToTensor #
ToTensor

转换为双精度 Tensor(数据会被复制并逐元素拓宽)。

method FromTensor #
FromTensor(Tensor)

从双精度 Tensor 转换而来(数据会被复制并逐元素窄化)。

Parameters
NameTypeDescription
tTensor

源张量

method FromDoubles #
FromDoubles(Double(), Int32())

从双精度数组转换而来。

Parameters
NameTypeDescription
dataDouble()

源数据

shapeInt32()

各维度大小

method ToDoubles #
ToDoubles

导出为双精度数组的副本。

method Dispose #
Dispose

释放底层数组。注意:释放后 TensorF.Data 变为 Nothing, 仍处于使用中的场缓冲不应调用本方法。

method ToString #
ToString

返回形状与元素总数的简要描述。

property computeKernelF #
computeKernelF

单精度张量当前生效的计算后端。默认是 SIMD 加速的 CPU 实现 (SIMDTensorF.Default);后续可切换为 GPU 后端。

property Data #
Data

存储张量数据的一维数组(行优先顺序)。热循环可直接使用以避免索引器开销。

property Shape #
Shape

张量的形状(各维度大小)

property Length #
Length

元素总数

property TotalLength #
TotalLength

元素总数(与 TensorF.Length 相同,为与 Double 版保持命名一致而提供)

property Rank #
Rank

张量的维度数

property IsDisposed #
IsDisposed

是否已被释放

property Item overload 3 #
Item(Int32)

一维索引访问。

Parameters
NameTypeDescription
indexInt32

扁平下标

property Item overload 2 #
Item(Int32, Int32)

二维索引访问 (row, col)。

Parameters
NameTypeDescription
rowInt32

行下标

colInt32

列下标

property Item #
Item(Int32, Int32, Int32)

三维索引访问 (row, col, depth),对应 CFD 的 (i, j, k)。 注意:本索引器不含任何原子操作,可安全用于高频热循环。

Parameters
NameTypeDescription
rowInt32

X / i 方向下标

colInt32

Y / j 方向下标

depthInt32

Z / k 方向下标

property Item overload 4 #
Item(Int32())

任意维度的索引访问。

Parameters
NameTypeDescription
indexesInt32()

各维度下标

field _Data #
_Data

底层数据数组(单精度)

field _Shape #
_Shape

张量形状(各维度大小)

field _DimProds #
_DimProds

各维度步长(用于多维索引 -> 一维下标)

field SyncRoot #
SyncRoot

切换计算后端时使用的同步根对象

field SyncRoot overload 2 #
SyncRoot