亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python轉javascript numpy ndarray操作混淆

python轉javascript numpy ndarray操作混淆

暮色呼如 2023-06-20 14:11:17
我正在嘗試將一些 python numpy 代碼轉換為 javascript,但我不確定以下代碼實際在做什么。self.W = np.random.rand(size, size)-0.5self.W /= 0.9在這種情況下做什么- 0.5?這是否從多維數組中的每個數字中減去 0.5。在那條線的下方,除法是否發生在 self.W 內部的每個元素上?要轉換為 javascript,我是否會遍歷所有元素并將操作應用于該索引處的元素?另外,在下面的代碼片段中,實際發生了什么??我不知道發生了什么。我習慣用括號表示法作為索引,但這看起來像是一個條件(比如三元?),但它看起來也像是在生成一個新矩陣來執行此操作。self.W[np.random.rand(size, size)>self.sparsity] = 0謝謝你的幫助。
查看完整描述

1 回答

?
郎朗坤

TA貢獻1921條經驗 獲得超9個贊

您可能應該只安裝適當版本的 Python 并numpy在嘗試這樣的轉換時。


通過在 CLI 上進行幾行簡單的測試,您就可以回答自己的問題:


>>> import numpy as np

>>> np.random.rand(1, 2)

array([[0.08239857, 0.15732393]])

>>> x = np.random.rand(1, 2)

>>> x

array([[0.08155715, 0.57869165]])

>>> x - .5

array([[-0.41844285,  0.07869165]])

所以,是的——該numpy.ndarray類型定義了一個減法操作,當以數字作為第二個操作數并以數組作為第一個操作數時,從數組的每個元素中減去該數字。


對于除法,類似地:


>>> x *= 10

>>> x

array([[0.81557146, 5.78691654]])

>>> x /= 10

>>> x

array([[0.08155715, 0.57869165]])

不同之處在于,它/會返回一個新的結果數組 (in x / 10),而將/=結果分配給x,覆蓋其在 中的值x /= 10。


最后一個例子比較復雜,但非常典型地numpy說明了庫的實現方式。類似于和-被/=分發的操作,對數組應用比較會分發它并返回一個布爾值數組,然后可以將其用作“索引”以準確選擇布爾值數組所對應的數組值是True。


0然后,在您給出的示例中,它會繼續將這些選定的值準確設置為。


詢問如何用 JavaScript 編寫這些操作只是要求 SO 為您編寫代碼——既然您了解會發生什么,您應該嘗試在 JavaScript 中實現相同的邏輯。如果遇到您不理解的特定問題,您可以針對這些問題提出單獨的問題。


查看完整回答
反對 回復 2023-06-20
  • 1 回答
  • 0 關注
  • 162 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號