1. 程式人生 > 程式設計 >Python實現CNN的多通道輸入例項

Python實現CNN的多通道輸入例項

CNN可以同時進行多通道的輸入,例如一張彩色圖片可以分解成RGB三個通道輸入給CNN,當使用自己的資料集時,可以通過numpy來實現資料的多通道輸入。

假設我們有兩個組資料a和b:

a = np.linspace(1,100,100)
b = np.linsapce(-1,-100,100)

然後將a和b轉變成四維陣列,TensorFlow接收的資料時四維陣列

a = a.reshape(4,1,5,5)
b = b.reshape(4,5)

這樣我們就得到了兩個batch_size = 4,channel = 1,width = 5,high = 5的四維陣列,然後

a = a.transpose(1,2,3)
b = b.transpose(1,3)

將a和b的維度引數變成[1,4,5],然後使用np.vstack()函式將兩個陣列在通道數上疊加

c = np.vstack((a,b))

最後再次使用.transpose()函式將疊加後的四維陣列轉換為TensorFlow接受的四維陣列

c = c.transpose(1,3,0)

這時c就變成了[4,2],即batch_size = 4,high = 5,channel = 2的四維陣列。

以上這篇Python實現CNN的多通道輸入例項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。