reshape是numpy中的乙個關鍵使用,通過reshape可以實現將array屬性轉換
比如vector=numpy.arange(9)
此時vector中存放的資料型別應該為一維向量
[0,1,2,3,4,5,6,7,8]
matrix=vector.reshape(3,3)
第乙個3表示3行,第二個3表示三列
那麼此時就可以將一維向量轉換成為矩陣型別
print(matrix)
array([0,1,2],[3,4,5],[6,7,8])
matrix.shape
此時的輸出應該為(3,3)
檢視矩陣的維度
通過ndim我們可以檢視矩陣的維度
比如某個矩陣的維度是[4,5,8]
那麼這個矩陣的維度就是三維的
同理,當我們輸出matrix.ndim
此時得到的應該是2
查詢array中對應的屬性
print(matrix.dtype.name)
意思就是輸出這個矩陣是由什麼樣的資料構成的
那麼輸出應該為『int32』
檢視矩陣中有多少個元素
a=print(matrix.size)
那麼此時a變數對應的數值應該為9
矩陣的初始化
matrix=numpy.zeros((2,2))#注意此時的zeros函式中傳入的應該是乙個元組格式
那麼這時候對應的matrix變數中儲存的就應該是
([0.,0.],[0.,0.])
numpy中預設儲存的格式為float型資料
那麼要想將numpy中的格式變成我們所想要的,就應該要在初始化函式的後面制定上我們所想要的型別
比如matrix=numpy.ones((2,2),np.int32)
那麼這是後numpy變數中儲存的就是int型的資料了
([1,1],[1,1])
在這邊需要注意的是我們需要在int32前面加上乙個numpy.
numpy中range的用法
range()可以是乙個形參也可以是三個形參
當只有乙個形參的時候表4示從0到多少的陣列
如matrix=numpy.arange(15)
那麼此時matrix中儲存的就應該是
array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14])
當時三個引數的時候,第乙個引數表示起始值,第二個引數表示終點值,第三個引數表示的是跳轉的數字
比如matrix=numpy.arange(0,25,5)
那麼此時matrix變數中儲存就應該是一維向量
array([0,5,10,15,20])
其中並不包含25
random模組中的random()是比較常用的一種函式
如果想要構造乙個權重矩陣
matrix=numpy.random.random((2,3))
那麼此時numpy將會構造乙個二行三列的權重矩陣,其中的每個元素的值都是處於-1~1之間的
確認起始值和終點值確定要找多少個數的時候我們可以用linspace()函式
如matrix=numpy.linspace(0,6.28,100)
那麼此時的matrix的內容可能是
起始值為0,終點值是6.28,從中平均抽取100個資料進行存放
numpy.sin()與林space一樣,差別在於抽取的方式不同
求內積的操作
a=numpy.array([1,1],
[0,1])
b=numpy.array([2,0],
[3,4])
那麼此時c=a+b則可以得到
([3,1],
[3,5])
那麼如果我此時c=a*b
那麼就是對應的內積操作了
也就是對應的矩陣的各個元素對應的乘積
([2,0],
[0,4])
同時numpy還可以對矩陣進行相關的矩陣的相乘操作
比如a.dot(b)
或者numpy.dot(a,b)
那麼此時得到的矩陣為
array([5,4],
[3,4])
學習筆記3
第四單元 了解linux檔案系統 1.絕對路徑和相對路徑 a.絕對路徑 無論在系統的任何位置,從系統的頂級目錄 根目錄 一級一級往下排的表示方法 b.相對路徑 如果已經在某乙個目錄下面操作,那麼可以省略從根目錄到當前目錄的表示,若要切到該目錄下的任意位置,直接表示 2.系統中根目錄下子目錄的作用 a...
學習筆記3
乙個簡單的程式 import tensorflow as tf 定義網路結構和前向傳播演算法 def get weight shape w tf.variable return w def get bias shape b tf.variable return b def forward x,sha...
學習筆記3
vivew 裡面的引數 與前端約定好 return 返回的是乙個例項化物件,字串 render 將資料寫入html中 再返回給前端 本質是把python物件嵌入其中 傳給檢視函式的永遠轉換成字串 url 設定名字 相當於 這個名字與值 以鍵值對的形式發給了 檢視函式 name 200 別名的前提是訪...