xml文件 卷积神经网络_理解卷积神经网络中的输入与输出形状(Keras实现)
即使我們從理論上理解了卷積神經網絡,在實際進行將數據擬合到網絡時,很多人仍然對其網絡的輸入和輸出形狀(shape)感到困惑。本文章將幫助你理解卷積神經網絡的輸入和輸出形狀。
讓我們看看一個例子。CNN的輸入數據如下圖所示。我們假設我們的數據是圖像的集合。
輸入的形狀
你始終必須將4D數組作為CNN的輸入。因此,輸入數據的形狀為(batch_size,height,width,depth),其中第一維表示圖像的batch大小,其他三個維表示圖像的各個屬性,即高度,寬度和深度。深度就是色彩通道的數量。例如,RGB圖像的深度為3,而灰度圖像的深度為1。
輸出形狀
CNN的輸出也是4D數組。其中batch大小將與輸入batch大小相同,但是圖像的其他3個尺寸可能會根據濾波器(filter) ,內核大小(kernel size)和填充值(padding)而變化。
讓我們看一下下面的代碼片段。
不要在這里被input_shape參數欺騙,以為輸入形狀是3D,但是在進行訓練時必須傳遞一個4D數組,該數據的形狀應該是(batchsize,10,10,3)。由于inputshape參數中沒有batch值,因此在擬合數據時可以采用任何batch大小。
而且正如你所見,輸出的形狀為(None,10,10,64)。第一個維度表示batch大小,目前為"None"。因為網絡事先不知道batch大小。擬合數據后,將使用擬合數據時給出的batch大小來代替"None"。
讓我們看看另一個代碼片段。
在這里,我將inputshape參數替換為batchinput_shape。顧名思義,此參數將事先提供batch大小,并且在擬合數據時你無法提供任何其他batch大小。例如,在本例你必須用batch大小為16的數據來擬合網絡。
你可以從上圖看到輸出形狀的batch大小是16而不是None。
在卷積層上附加全連接(Dense)層
我們可以簡單地在另一個卷積層的頂部添加一個卷積層,因為卷積的輸出維度數與輸入維度數相同。
通常,我們在卷積層的頂部添加Dense層以對圖像進行分類。但是,Dense層需要形狀為(batch_size,units)的數據。卷積層的輸出是4D的數組。因此,我們必須將從卷積層接收的輸出的尺寸更改為2D數組。
我們可以通過在卷積層的頂部插入一個Flatten層來做到這一點。Flatten層將3維圖像變形成一個維。現在我們得到一個2D形狀的數組(batchsize,squashedsize),這是Dense層需要的輸入形狀。
匯總
你始終必須將形狀為(batch_size, height, width, depth)的4D數組輸入CNN。
CNN的輸出數據也是形狀(batch_size, height, width, depth)的4D數組。
要在CNN層的頂部添加一個Dense層,我們必須使用keras的Flatten層將CNN的4D輸出更改為2D。
歡迎關注磐創博客資源匯總站:http://docs.panchuang.net/
歡迎關注PyTorch官方中文教程站:http://pytorch.panchuang.net/
理解卷積神經網絡中的channel
在一般的深度學習框架的 conv2d 中,如 tensorflow.mxnet,channel?都是必填的一個參數 在 tensorflow 中,對于輸入樣本中 channels 的含義,一般是RGB ...
CNN筆記:通俗理解卷積神經網絡【轉】
本文轉載自:https://blog.csdn.net/v_july_v/article/details/51812459 通俗理解卷積神經網絡(cs231n與5月dl班課程筆記) 1 前言 2012 ...
CNN筆記:通俗理解卷積神經網絡
CNN筆記:通俗理解卷積神經網絡 2016年07月02日 22:14:50?v_JULY_v?閱讀數 250368更多 分類專欄:?30.Machine L & Deep Learning?機 ...
卷積神經網絡中的通道 channel
卷積神經網絡中 channels 分為三種:??? (1):最初輸入的圖片樣本的 channels ,取決于圖片類型,比如RGB, channels=3??? (2):卷積操作完成后輸出的 out_c ...
卷積神經網絡中的Winograd快速卷積算法
目錄 寫在前面 問題定義 一個例子 F(2, 3) 1D winograd 1D to 2D,F(2, 3) to F(2x2, 3x3) 卷積神經網絡中的Winograd 總結 參考 博客:blog ...
(轉)MyBatis框架的學習(四)——Mapper.xml文件中的輸入和輸出映射以及動態sql
http://blog.csdn.net/yerenyuan_pku/article/details/71893689 前面對MyBatis框架的學習中,我們對Mapper.xml映射文件多少有些了解 ...
tensorflow CNN 卷積神經網絡中的卷積層和池化層的代碼和效果圖
tensorflow CNN 卷積神經網絡中的卷積層和池化層的代碼和效果圖 因為很多 demo 都比較復雜,專門抽出這兩個函數,寫的 demo. 更多教程:http://www.tensorflown ...
卷積神經網絡中的channel 和filter
在深度學習的算法學習中,都會提到?channels?這個概念.在一般的深度學習框架的?conv2d?中,如?tensorflow?.mxnet,channels?都是必填的一個參數. channels ...
python中的輸入和輸出
輸入和輸出 ? 輸出: 用print()在括號中加上字符串,就可以向屏幕上輸出指定的文字.比如輸出'hello, world',用代碼實現如下: >>> print('hello, ...
隨機推薦
玩轉 Linux 系統的方法論
Linus 說“Just for fun”,而我要說“Just for 折騰”.想知道我是怎樣折騰 Linux 的,請看下面這個截圖: 從這個截圖可以看出,我為了“折騰” Linux 系統,在我的電腦 ...
查找n個數字中的最大值
閑來無事,試試用arg_list查找n個數字中的最大者. 又因為本人喜歡模板, 所以就早早的寫了以下代碼, 沒有經過嚴格測試. /*********************************** ...
Windows 2008如何綁定MAC防范ARP攻擊!
Windows 2008如何綁定MAC防范ARP攻擊! ? 閱讀(1974)暫無評論時間:2010-11-23 22:52:13 ? 在Windows server?2003時代,通過arp 這命令即 ...
IE8 innerHTML賦值時包含多級HTML標簽時的解決方案
var inhtml = ''; var font = document.createElement("font"); var a = document.createElement ...
017_bcp_bulk_openrowset
017_bcp_bulk_openrowset --bcp*********************************************************************** ...
redis入門指南學習筆記
redis的常見命令 set key hello get key incr num get num set foo lorem incr foo hset car price 500 hset car ...
【UVA】10285-Longest Run on a Snowboard(動態規劃)
這是一個簡單的問題.你并不需要打印路徑. 狀態方程dp[i][j] = max(dp[i-1][j],dp[i][j-1],dp[i+1][j],dp[i][j+1]); 14003395 10285 ...
緊急求助!配置SMTP插件出錯,SMTP?connect()?failed
http://bbs.csdn.net/topics/390848222 我來挖個墳.我知道問題所在了,只要你們本地或服務器上環境中只要確保開啟了php_openssl?跟?php_socket等擴展 ...
大兄dei,早點看清this吧
說道this,可以說是前端中很重要的問題之一了,也是面試或者筆試常考的問題.所以還是早點看清this吧,大兄dei. this是什么?為什么要存在? this關鍵字是js中最最復雜的機制之一.他被自動 ...
為nginx創建windows服務自啟動
1.下載最新版的 Windows Service Wrapper 程序,比如我下載的名稱是 "winsw-1.9-bin.exe",然后,把它命名成你想要的名字(比如: " ...
總結
以上是生活随笔為你收集整理的xml文件 卷积神经网络_理解卷积神经网络中的输入与输出形状(Keras实现)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cocos2dx标准容器_cocos2d
- 下一篇: 爱迪尔 门锁接口文档_爱迪尔门锁系统接口