深度學習常用技巧之改變矩陣大小和歸一化

2021-10-10 02:17:33 字數 916 閱讀 1296

在深度學習中我們常用numpy模組中的np.shape和np.reshape來查詢矩陣陣列的形狀或者重新定義矩陣的形狀(需保證改變形狀前後,陣列的元素總個數相等)

當我們用乙個演算法處理一幅影象時,我們需要將輸入的矩陣的形狀變為乙個向量的形式(長x高x3,1)。換句話說就是,你需要將三維的矩陣展開為一維的向量形式。

下面是將一幅影象變為乙個向量的圖示:

在影象處理中,我們常用image2vector()函式來實現將輸入的矩陣的形狀(長,高,3)變為乙個一維向量的形式(長x高x3,1)。

下面給出實現**:

def

image2vector

(image)

:#image--a numpy array of shape(length,height,depth)

#v--a vector of shape(length*height*depth,1)

v=image.reshape(

(image.shape[0]

*image[1]

*image[2]

),1)

return v

在機器學習和深度學習中另外乙個常用的方法是歸一化資料。這種處理方式將會使我們在進行計算梯度時更加快速。下面舉乙個簡單的例子(圖示):

下面是實現該演算法的**:

def

noralizerows

(x):

x_norm=np.linalg.norm(x,axis=

1,keepdims=ture)

x=x/x_norm

return x

shell學習之常用技巧

cut 切割,d分隔符,f指定段號,c指定第幾個字元。d,f用的多些。sort排序,n按照數字排序,r反排序。wc l 檢視檔案行數。大道至簡,掌握常用的命令就可以了。uniq去重,需要跟sort一起使用。管道tee 與 相似,同時將內容輸出到螢幕。tee a 就是 追加。split b針對大小,l...

shell學習之常用技巧

cut 切割,d分隔符,f指定段號,c指定第幾個字元。d,f用的多些。sort排序,n按照數字排序,r反排序。wc l 檢視檔案行數。大道至簡,掌握常用的命令就可以了。uniq去重,需要跟sort一起使用。管道tee 與 相似,同時將內容輸出到螢幕。tee a 就是 追加。split b針對大小,l...

mysql 學習之 常用SQL技巧

1.檢索包含最大 最小值的行 min distinct expr max distinct expr 2.巧用rand rand n 提取隨機行 orderbyrand 同limit的結合可以從一組列中選擇隨機樣本 3.利用group by的with rollup子句做統計 當你使用rollup時,...