ITensorComputeF 的标量兜底实现(CPU 参考实现)。
TensorComputeFBase
01 Syntax
Microsoft.VisualBasic.MachineLearning.TensorFlow.Compute.TensorComputeFBase
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| RequireSameShape | 1 | 校验两个张量形状一致,不一致则抛出。 |
| Wrap | 1 | 把裸数组包装成同形张量。 |
| MapBinary | 1 | 逐元素二元映射。 |
| MapUnary | 1 | 逐元素一元映射。 |
| Add | 1 | 逐元素相加 |
| Subtract | 1 | 逐元素相减 |
| Multiply | 1 | 逐元素相乘 |
| Divide | 1 | 逐元素相除 |
| Maximum | 1 | 逐元素取较大值 |
| Minimum | 1 | 逐元素取较小值 |
| Exp | 1 | 逐元素指数 |
| Log | 1 | 逐元素自然对数 |
| Sqrt | 1 | 逐元素平方根 |
| Square | 1 | 逐元素平方 |
| Abs | 1 | 逐元素绝对值 |
| Negate | 1 | 逐元素取负 |
| Reciprocal | 1 | 逐元素倒数 |
| Tanh | 1 | 逐元素双曲正切 |
| Sigmoid | 1 | 逐元素 Sigmoid |
| Relu | 1 | 逐元素 ReLU |
| AddScalar | 1 | 逐元素加标量 |
| MultiplyScalar | 1 | 逐元素乘标量 |
| DivideScalar | 1 | 逐元素除标量 |
| Clip | 1 | 把元素钳制到 [low, high] 区间 |
| MatMul | 1 | 二维矩阵乘法 |
| SumAll | 1 | 整体求和(双精度累加,避免单精度大数组累加的舍入误差) |
| MeanAll | 1 | 整体求均值 |
| MinAll | 1 | 最小值 |
| MaxAll | 1 | 最大值 |
| Laplacian7 | 1 | 七点拉普拉斯:out = Σ(流体邻居) - nFluid·中心。固体单元输出 0。 |
| JacobiStencil7 | 1 | 带掩膜的七点 Jacobi 迭代:x_new = (alpha·Σ_fluid x_old + rhs) / denom, 其中 denom = beta(beta > 0 时)或该格流体邻居数 nFluid(beta <= 0 时)。 固体单元恒为 0。 |
| AdvectTrilinear | 1 | 半拉格朗日平流:逐格反向追踪 dt 时间后在源场做三线性采样。 |
| TrilinearAt | 1 | 在连续坐标处对场做三线性插值采样。 |
| ApplyMask | 1 | 按掩膜把所有给定场的固体单元置零。 |
03 Properties
| Name | Overloads | Summary |
|---|---|---|
| Name | 1 | 后端名称 |
04 Members
校验两个张量形状一致,不一致则抛出。
Wrap(
Single(), Int32())把裸数组包装成同形张量。
逐元素二元映射。
MapUnary(TensorF,
Func(Of Single, Single))逐元素一元映射。
逐元素相加
逐元素相减
逐元素相乘
逐元素相除
逐元素取较大值
逐元素取较小值
Exp(TensorF)
逐元素指数
Log(TensorF)
逐元素自然对数
Sqrt(TensorF)
逐元素平方根
Square(TensorF)
逐元素平方
Abs(TensorF)
逐元素绝对值
Negate(TensorF)
逐元素取负
Reciprocal(TensorF)
逐元素倒数
Tanh(TensorF)
逐元素双曲正切
Sigmoid(TensorF)
逐元素 Sigmoid
Relu(TensorF)
逐元素 ReLU
AddScalar(TensorF,
Single)逐元素加标量
MultiplyScalar(TensorF,
Single)逐元素乘标量
DivideScalar(TensorF,
Single)逐元素除标量
把元素钳制到 [low, high] 区间
二维矩阵乘法
SumAll(TensorF)
整体求和(双精度累加,避免单精度大数组累加的舍入误差)
MeanAll(TensorF)
整体求均值
MinAll(TensorF)
最小值
MaxAll(TensorF)
最大值
七点拉普拉斯:out = Σ(流体邻居) - nFluid·中心。固体单元输出 0。
带掩膜的七点 Jacobi 迭代:x_new = (alpha·Σ_fluid x_old + rhs) / denom, 其中 denom = beta(beta > 0 时)或该格流体邻居数 nFluid(beta <= 0 时)。 固体单元恒为 0。
半拉格朗日平流:逐格反向追踪 dt 时间后在源场做三线性采样。
TrilinearAt(
Single(), Double, Double, Double, Int32, Int32, Int32, Int32)在连续坐标处对场做三线性插值采样。
ApplyMask(
Byte(), TensorF())按掩膜把所有给定场的固体单元置零。
Name
后端名称