[英]Python numpy matrix assign value
我想知道為什么在兩張照片中得到不同的結果? 他們不應該一樣嗎?
import numpy as np
x = np.array([[1.5, 2], [2.4, 6]])
k = np.copy(x)
for i in range(len(x)):
for j in range(len(x[i])):
k[i][j] = 1 / (1 + np.exp(-x[i][j]))
print("K[i][j]:"+str(k[i][j]))
print("Value:"+str(1 / (1 + np.exp(-x[i][j]))))
當我運行此腳本時,有2張照片顯示了相同的結果。 這個python是3.5.2。
K[i][j]:0.817574476194
Value:0.817574476194
K[i][j]:0.880797077978
Value:0.880797077978
K[i][j]:0.916827303506
Value:0.916827303506
K[i][j]:0.997527376843
Value:0.997527376843
我剛剛使用python3和python2運行您的代碼,結果絕對相同。 此外,當使用numpy數組時,您不必執行循環,從而可以將許多數據處理任務表示為簡潔的數組表達式,否則可能需要編寫循環。 用數組表達式替換顯式循環的這種做法通常稱為向量化。 通常,向量化數組運算通常會比其純Python等效運算快一個或兩個(或更多)個數量級,在任何類型的數值計算中影響最大。
因此,請牢記所有這些,您可以按照以下方式重寫代碼:
import numpy as np
x = np.array([[1.5, 2], [2.4, 6]], dtype=np.float)
k = 1 / (1 + np.exp(-x))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.