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://www.npmjs.com/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)
丟擲:
Error
FFT 大小必須是大於 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 上更新