NumPy 兼容 API 模块 提供类 NumPy 的静态方法,全部基于 Tensor 实现
NumPyModule
00 Remarks
典型用法: Imports np = Microsoft.VisualBasic.MachineLearning.TensorFlow.NumPy Dim a = np.zeros(3, 4) Dim b = np.dot(a, a.transpose())
01 Syntax
02 Methods
| Name | Overloads | Summary |
|---|---|---|
| array | 1 | 从数据和形状创建张量 (np.array) |
| zeros | 1 | 创建全零张量 (np.zeros) |
| ones | 1 | 创建全一张量 (np.ones) |
| full | 1 | 创建填充指定值的张量 (np.full) |
| eye | 1 | 创建单位矩阵 (np.eye) |
| identity | 1 | 创建单位矩阵 (np.identity) |
| arange | 1 | 创建等差数列张量 (np.arange) |
| linspace | 1 | 创建等间距张量 (np.linspace) |
| logspace | 1 | 创建对数等间距张量 (np.logspace) |
| reshape | 1 | 重塑张量形状 (np.reshape) 返回新的张量,不修改原张量 |
| transpose | 1 | 转置张量 (np.transpose) |
| expand_dims | 1 | 在指定位置插入一个大小为 1 的维度 (np.expand_dims) |
| squeeze | 1 | 移除大小为 1 的维度 (np.squeeze) |
| flatten | 1 | 展平张量为一维 (np.flatten / np.ravel) |
| dot | 1 | 矩阵乘法 (np.dot / np.matmul) |
| matmul | 1 | 矩阵乘法 (np.matmul) |
| concatenate | 1 | 沿指定轴拼接多个张量 (np.concatenate) |
| stack | 1 | 沿新轴堆叠多个张量 (np.stack) |
| vstack | 1 | 垂直堆叠 (np.vstack) - 相当于 axis=0 的 concatenate |
| hstack | 1 | 水平堆叠 (np.hstack) - 对于 1D 相当于 axis=0 的 concatenate,对于 2D+ 相当于 axis=1 |
| split | 1 | 将张量沿指定轴分割为多个子张量 (np.split) |
| sum | 1 | 计算所有元素或沿指定轴的和 (np.sum) |
| mean | 1 | 计算所有元素或沿指定轴的均值 (np.mean) |
| max | 1 | 计算所有元素或沿指定轴的最大值 (np.max) |
| min | 1 | 计算所有元素或沿指定轴的最小值 (np.min) |
| argmax | 1 | 找到最大值索引 (np.argmax) |
| argmin | 1 | 找到最小值索引 (np.argmin) |
| std | 1 | 计算标准差 (np.std) |
| prod | 1 | 所有元素的乘积 (np.prod) |
| exp | 1 | 逐元素指数 (np.exp) |
| log | 1 | 逐元素自然对数 (np.log) |
| sqrt | 1 | 逐元素平方根 (np.sqrt) |
| square | 1 | 逐元素平方 (np.square) |
| abs | 1 | 逐元素绝对值 (np.abs) |
| power | 1 | 逐元素幂运算 (np.power) |
| clip | 1 | 逐元素裁剪 (np.clip) |
| maximum | 1 | 逐元素最大值 (np.maximum) |
| minimum | 1 | 逐元素最小值 (np.minimum) |
| sin | 1 | 逐元素正弦 (np.sin) |
| cos | 1 | 逐元素余弦 (np.cos) |
| tanh | 1 | 逐元素双曲正切 (np.tanh) |
| where | 1 | 条件选择 (np.where) condition 中非零位置取 x 值,零位置取 y 值 |
| greater | 1 | 逐元素比较大于 (np.greater) |
| less | 1 | 逐元素比较小于 (np.less) |
| equal | 1 | 逐元素比较相等 (np.equal) |
| shape | 1 | 获取张量的形状 (np.shape) |
| ndim | 1 | 获取张量的维度数 (np.ndim) |
| size | 1 | 获取张量中元素的总数 (np.size) |
| as_double_array | 1 | 将张量转换为 Double 数组 (np.asarray) |
03 Members
Double(), Int32())从数据和形状创建张量 (np.array)
Int32())创建全零张量 (np.zeros)
Int32())创建全一张量 (np.ones)
Int32(), Double)创建填充指定值的张量 (np.full)
Int32, Nullable(Of Int32))创建单位矩阵 (np.eye)
| Name | Type | Description |
|---|---|---|
n | Int32 | 行数 |
m | Nullable(Of Int32) | 列数(可选,默认为 n) |
Int32)创建单位矩阵 (np.identity)
Double, Nullable(Of Double), Double)创建等差数列张量 (np.arange)
Double, Double, Int32)创建等间距张量 (np.linspace)
| Name | Type | Description |
|---|---|---|
start | Double | 起始值 |
[stop] | Double | 终止值(包含) |
num | Int32 | 元素个数,默认 50 |
Double, Double, Int32, Double)创建对数等间距张量 (np.logspace)
| Name | Type | Description |
|---|---|---|
start | Double | 10^start 起始 |
[stop] | Double | 10^stop 终止 |
num | Int32 | 元素个数,默认 50 |
base | Double | 对数底数,默认 10.0 |
Int32())重塑张量形状 (np.reshape) 返回新的张量,不修改原张量
转置张量 (np.transpose)
Int32)在指定位置插入一个大小为 1 的维度 (np.expand_dims)
Nullable(Of Int32))移除大小为 1 的维度 (np.squeeze)
| Name | Type | Description |
|---|---|---|
t | Tensor | 输入张量 |
axis | Nullable(Of Int32) | 指定要移除的轴,若不指定则移除所有大小为 1 的维度 |
展平张量为一维 (np.flatten / np.ravel)
矩阵乘法 (np.dot / np.matmul)
矩阵乘法 (np.matmul)
Int32)沿指定轴拼接多个张量 (np.concatenate)
Int32)沿新轴堆叠多个张量 (np.stack)
垂直堆叠 (np.vstack) - 相当于 axis=0 的 concatenate
水平堆叠 (np.hstack) - 对于 1D 相当于 axis=0 的 concatenate,对于 2D+ 相当于 axis=1
将张量沿指定轴分割为多个子张量 (np.split)
Nullable(Of Int32))计算所有元素或沿指定轴的和 (np.sum)
Nullable(Of Int32))计算所有元素或沿指定轴的均值 (np.mean)
Nullable(Of Int32))计算所有元素或沿指定轴的最大值 (np.max)
Nullable(Of Int32))计算所有元素或沿指定轴的最小值 (np.min)
Nullable(Of Int32))找到最大值索引 (np.argmax)
Nullable(Of Int32))找到最小值索引 (np.argmin)
Nullable(Of Int32))计算标准差 (np.std)
Nullable(Of Int32))所有元素的乘积 (np.prod)
逐元素指数 (np.exp)
逐元素自然对数 (np.log)
逐元素平方根 (np.sqrt)
逐元素平方 (np.square)
逐元素绝对值 (np.abs)
Double)逐元素幂运算 (np.power)
逐元素裁剪 (np.clip)
逐元素最大值 (np.maximum)
逐元素最小值 (np.minimum)
逐元素正弦 (np.sin)
逐元素余弦 (np.cos)
逐元素双曲正切 (np.tanh)
条件选择 (np.where) condition 中非零位置取 x 值,零位置取 y 值
逐元素比较大于 (np.greater)
逐元素比较小于 (np.less)
逐元素比较相等 (np.equal)
获取张量的形状 (np.shape)
获取张量的维度数 (np.ndim)
获取张量中元素的总数 (np.size)
将张量转换为 Double 数组 (np.asarray)