Transformers.js 文档
utils/maths
并获得增强的文档体验
开始使用
utils/maths
用于数学处理的辅助模块。
这些函数和类仅供内部使用,这意味着最终用户无需访问此处。
- utils/maths
- 静态
.interpolate_data(input).permute_data(array, dims, axes)⇒*.softmax(arr)⇒T.log_softmax(arr)⇒T.dot(arr1, arr2)⇒number.cos_sim(arr1, arr2)⇒number.magnitude(arr)⇒number.min(arr)⇒*.max(arr)⇒*.medianFilter(data, windowSize).round(num, decimals)⇒number.bankers_round(x)⇒number.dynamic_time_warping(matrix)⇒Array.<Array<number>>
- 内部
- ~P2FFT
new P2FFT(size).createComplexArray()⇒Float64Array.fromComplexArray(complex, [storage])⇒Array.<number>.toComplexArray(input, [storage])⇒Float64Array.transform(out, data)⇒void.realTransform(out, data).inverseTransform(out, data)⇒void._transform4(out, data, inv)⇒void._singleTransform2(data, out, outOff, off, step)⇒void._singleTransform4(data, out, outOff, off, step, inv)⇒void._realTransform4(out, data, inv)._singleRealTransform2(data, out, outOff, off, step)⇒void._singleRealTransform4(data, out, outOff, off, step, inv)
- ~NP2FFT
~AnyTypedArray:Int8Array|Uint8Array|Uint8ClampedArray|Int16Array|Uint16Array|Int32Array|Uint32Array|Float16Array|Float32Array|Float64Array
- ~P2FFT
- 静态
utils/maths.interpolate_data(input)
Kind: utils/maths 的静态方法
| 参数量 | 类型 |
|---|---|
| 输入 | TypedArray |
utils/maths.permute_data(array, dims, axes) ⇒ <code> * </code>
直接置换 AnyTypedArray 的辅助方法
Kind: utils/maths 的静态方法
Returns: * - 置换后的数组和新形状。
| 参数量 | 类型 |
|---|---|
| 数组 | T |
| 维度 | Array.<number> |
| 轴 | Array.<number> |
utils/maths.softmax(arr) ⇒ <code> T </code>
计算数字数组的 softmax。
Kind: utils/maths 的静态方法
Returns: T - softmax 数组。
| 参数量 | 类型 | 描述 |
|---|---|---|
| arr | T | 要计算 softmax 的数字数组。 |
utils/maths.log_softmax(arr) ⇒ <code> T </code>
计算输入数组的 softmax 函数的对数。
Kind: utils/maths 的静态方法
Returns: T - 结果 log_softmax 数组。
| 参数量 | 类型 | 描述 |
|---|---|---|
| arr | T | 用于计算 log_softmax 函数的输入数组。 |
utils/maths.dot(arr1, arr2) ⇒ <code> number </code>
计算两个数组的点积。
Kind: utils/maths 的静态方法
Returns: number - arr1 和 arr2 的点积。
| 参数量 | 类型 | 描述 |
|---|---|---|
| arr1 | Array.<number> | 第一个数组。 |
| arr2 | Array.<number> | 第二个数组。 |
utils/maths.cos_sim(arr1, arr2) ⇒ <code> number </code>
计算两个数组之间的余弦相似度。
Kind: utils/maths 的静态方法
Returns: number - 两个数组之间的余弦相似度。
| 参数量 | 类型 | 描述 |
|---|---|---|
| arr1 | Array.<number> | 第一个数组。 |
| arr2 | Array.<number> | 第二个数组。 |
utils/maths.magnitude(arr) ⇒ <code> number </code>
计算给定数组的幅度。
Kind: utils/maths 的静态方法
Returns: number - 数组的幅度。
| 参数量 | 类型 | 描述 |
|---|---|---|
| arr | Array.<number> | 要计算幅度的数组。 |
utils/maths.min(arr) ⇒ <code> * </code>
返回数组中最小元素的值和索引。
Kind: utils/maths 的静态方法
Returns: * - 最小元素的值和索引,形式为:[最小值, 最小索引]
抛出:
- 如果数组为空则
Error。
| 参数量 | 类型 | 描述 |
|---|---|---|
| arr | T | 数字数组。 |
utils/maths.max(arr) ⇒ <code> * </code>
返回数组中最大元素的值和索引。
Kind: utils/maths 的静态方法
Returns: * - 最大元素的值和索引,形式为:[最大值, 最大索引]
抛出:
- 如果数组为空则
Error。
| 参数量 | 类型 | 描述 |
|---|---|---|
| arr | T | 数字数组。 |
utils/maths.medianFilter(data, windowSize)
对提供的数据执行中值滤波。通过镜像数据进行填充。
Kind: utils/maths 的静态方法
| 参数量 | 类型 | 描述 |
|---|---|---|
| 数据 | AnyTypedArray | 输入数组 |
| 窗口大小 | 数字 | 窗口大小 |
utils/maths.round(num, decimals) ⇒ <code> number </code>
将数字四舍五入到给定小数位数的辅助函数
Kind: utils/maths 的静态方法
Returns: number - 四舍五入后的数字
| 参数量 | 类型 | 描述 |
|---|---|---|
| 数字 | 数字 | 要四舍五入的数字 |
| 小数位数 | 数字 | 小数位数 |
utils/maths.bankers_round(x) ⇒ <code> number </code>
辅助函数,将数字四舍五入到最接近的整数,平局时四舍五入到最接近的偶数。也称为“银行家舍入”。这是 Python 中的默认舍入模式。例如:1.5 四舍五入到 2,2.5 四舍五入到 2。
Kind: utils/maths 的静态方法
Returns: number - 四舍五入后的数字
| 参数量 | 类型 | 描述 |
|---|---|---|
| x | 数字 | 要四舍五入的数字 |
utils/maths.dynamic_time_warping(matrix) ⇒ <code> Array. < Array < number > > </code>
测量两个时间序列之间的相似性(例如,输入音频和输出标记以生成标记级时间戳)。
Kind: utils/maths 的静态方法
| 参数量 | 类型 |
|---|---|
| 矩阵 | Array.<Array<number>> |
utils/maths~P2FFT
Radix-4 FFT 的实现。
P2FFT 类提供了对长度为 2 的幂的数组执行快速傅里叶变换的功能。代码改编自 https://npmjs.net.cn/package/fft.js
Kind: utils/maths 的内部类
- ~P2FFT
new P2FFT(size).createComplexArray()⇒Float64Array.fromComplexArray(complex, [storage])⇒Array.<number>.toComplexArray(input, [storage])⇒Float64Array.transform(out, data)⇒void.realTransform(out, data).inverseTransform(out, data)⇒void._transform4(out, data, inv)⇒void._singleTransform2(data, out, outOff, off, step)⇒void._singleTransform4(data, out, outOff, off, step, inv)⇒void._realTransform4(out, data, inv)._singleRealTransform2(data, out, outOff, off, step)⇒void._singleRealTransform4(data, out, outOff, off, step, inv)
new P2FFT(size)
抛出:
ErrorFFT 大小必须是大于 1 的 2 的幂。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 大小 | 数字 | 输入数组的大小。必须是大于 1 的 2 的幂。 |
p2FFT.createComplexArray() ⇒ <code> Float64Array </code>
创建一个大小为 2 * size 的复数数组
Kind: P2FFT 的实例方法
Returns: Float64Array - 一个大小为 2 * size 的复数数组
p2FFT.fromComplexArray(complex, [storage]) ⇒ <code> Array. < number > </code>
将存储在 Float64Array 中的复数表示转换为实数数组。
Kind: P2FFT 的实例方法
Returns: Array.<number> - 表示输入复数表示的实数数组。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 复数 | Float64Array | 要转换的复数表示。 |
| [存储] | Array.<number> | 用于存储结果的可选数组。 |
p2FFT.toComplexArray(input, [storage]) ⇒ <code> Float64Array </code>
将实值输入数组转换为复值输出数组。
Kind: P2FFT 的实例方法
Returns: Float64Array - 复值输出数组。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 输入 | Float64Array | 实值输入数组。 |
| [存储] | Float64Array | 可选缓冲区,用于存储输出数组。 |
p2FFT.transform(out, data) ⇒ <code> void </code>
对给定输入数据执行快速傅里叶变换 (FFT) 并将结果存储在输出缓冲区中。
Kind: P2FFT 的实例方法
抛出:
Error输入和输出缓冲区必须不同。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 输出 | Float64Array | 存储结果的输出缓冲区。 |
| 数据 | Float64Array | 要转换的输入数据。 |
p2FFT.realTransform(out, data)
对给定输入缓冲区执行实值正向 FFT,并将结果存储在给定输出缓冲区中。输入缓冲区只能包含实值,而输出缓冲区将包含复值。输入和输出缓冲区必须不同。
Kind: P2FFT 的实例方法
抛出:
Error如果输入和输出缓冲区相同。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 输出 | Float64Array | 输出缓冲区。 |
| 数据 | Float64Array | 包含实值的输入缓冲区。 |
p2FFT.inverseTransform(out, data) ⇒ <code> void </code>
对给定 data 数组执行逆 FFT 变换,并将结果存储在 out 中。 out 数组必须是与 data 数组不同的缓冲区。 out 数组将包含变换结果。 data 数组将不会被修改。
Kind: P2FFT 的实例方法
抛出:
Error如果 `out` 和 `data` 指向同一个缓冲区。
| 参数量 | 类型 | 描述 |
|---|---|---|
| 输出 | Float64Array | 用于转换后数据的输出缓冲区。 |
| 数据 | Float64Array | 要转换的输入数据。 |
p2FFT._transform4(out, data, inv) ⇒ <code> void </code>
对给定数据集执行离散傅里叶变换的 radix-4 实现。
Kind: P2FFT 的实例方法
| 参数量 | 类型 | 描述 |
|---|---|---|
| 输出 | Float64Array | 用于转换后数据的输出缓冲区。 |
| 数据 | Float64Array | 要转换的数据的输入缓冲区。 |
| inv | 数字 | 应用于转换的缩放因子。 |
p2FFT._singleTransform2(data, out, outOff, off, step) ⇒ <code> void </code>
对给定数据集执行离散傅里叶变换的 radix-2 实现。
Kind: P2FFT 的实例方法
| 参数量 | 类型 | 描述 |
|---|---|---|
| 数据 | Float64Array | 要转换的数据的输入缓冲区。 |
| 输出 | Float64Array | 用于转换后数据的输出缓冲区。 |
| outOff | 数字 | 写入输出数据的偏移量。 |
| off | 数字 | 开始读取输入数据的偏移量。 |
| 步骤 | 数字 | 输入数据索引的步长。 |
p2FFT._singleTransform4(data, out, outOff, off, step, inv) ⇒ <code> void </code>
对长度为 8 的输入数据执行 radix-4 变换
Kind: P2FFT 的实例方法
| 参数量 | 类型 | 描述 |
|---|---|---|
| 数据 | Float64Array | 长度为 8 的输入数据数组 |
| 输出 | Float64Array | 长度为 8 的输出数据数组 |
| outOff | 数字 | 开始写入的输出数组索引 |
| off | 数字 | 开始读取的输入数组索引 |
| 步骤 | 数字 | 输入数组中元素之间的步长 |
| inv | 数字 | 逆变换的缩放因子 |
p2FFT._realTransform4(out, data, inv)
实数输入 radix-4 实现
Kind: P2FFT 的实例方法
| 参数量 | 类型 | 描述 |
|---|---|---|
| 输出 | Float64Array | 转换后数据的输出数组 |
| 数据 | Float64Array | 要转换的实数数据输入数组 |
| inv | 数字 | 用于标准化逆变换的比例因子 |
p2FFT._singleRealTransform2(data, out, outOff, off, step) ⇒ <code> void </code>
对提供的数据执行单个实数输入 radix-2 变换
Kind: P2FFT 的实例方法
| 参数量 | 类型 | 描述 |
|---|---|---|
| 数据 | Float64Array | 输入数据数组 |
| 输出 | Float64Array | 输出数据数组 |
| outOff | 数字 | 输出偏移量 |
| off | 数字 | 输入偏移量 |
| 步骤 | 数字 | 步长 |
p2FFT._singleRealTransform4(data, out, outOff, off, step, inv)
使用 radix-4 算法计算单个实值变换。此方法仅在 len=8 时调用。
Kind: P2FFT 的实例方法
| 参数量 | 类型 | 描述 |
|---|---|---|
| 数据 | Float64Array | 输入数据数组。 |
| 输出 | Float64Array | 输出数据数组。 |
| outOff | 数字 | 输出数组的偏移量。 |
| off | 数字 | 输入数组的偏移量。 |
| 步骤 | 数字 | 输入数组的步长。 |
| inv | 数字 | inv 的值。 |
utils/maths~NP2FFT
NP2FFT 类提供了对长度不是 2 的幂的数组执行快速傅里叶变换的功能。在这种情况下,使用 chirp-z 变换。
欲了解更多信息,请参阅:https://math.stackexchange.com/questions/77118/non-power-of-2-ffts/77156#77156
Kind: utils/maths 的内部类
new NP2FFT(fft_length)
构造一个新的 NP2FFT 对象。
| 参数量 | 类型 | 描述 |
|---|---|---|
| fft_length | 数字 | FFT 的长度 |
utils/maths~AnyTypedArray : <code> Int8Array </code> | <code> Uint8Array </code> | <code> Uint8ClampedArray </code> | <code> Int16Array </code> | <code> Uint16Array </code> | <code> Int32Array </code> | <code> Uint32Array </code> | <code> Float16Array </code> | <code> Float32Array </code> | <code> Float64Array </code>
Kind: utils/maths 的内部类型定义
< > 在 GitHub 上更新