Re: [問題] 關於Semantic segmentation的一些疑問
※ 引述《jackychien (-cx)》之銘言:
: 大家好, 我是deep learning的初學者,目前是使用tensorflow,最近開始找kaggle上的題目練習, 想從一個Semantic segmentation的題目開始,但是遇到了滿多問題,因此想要請教版上的各位高手,希望可以釐清一些觀念!
: (1). 題目的input圖片大小都不固定,本身查到input圖片大小對於Fully convolutional network應該不是太大問題,但我比較有疑問的是Semantic segmentation的output是pixelwise prediction,這樣的話output layer該怎麼設定?
對 Segmentation 來說, 因為資料通常是"一對"的
今天input做了任何的data augmentation
(resize/flip/zoom/crop/affine...)
output 也要跟著做一模一樣的事
對資料本身的處理來說是這樣
而layer方面 一般input:output大小都是 1:1
當然你也可以玩 1:x 之類的, 但是沒意義
(x > 1): 除非output給你的是向量, 不然沒法玩
(x < 1): 還不如train個1:1的, inference完再resize = =
: (2). 我看應用於Semantic segmentation的神經網路架構滿多會把前面的layer複製到後面對應相同大小的layer,目的是為了unpooling的時候可以記住當初pooling的時候的最大值的位置嗎?有沒有其他的目的?
原文底下有人推文說明了, 就不多解釋了
: (3). 因為本人電腦爛爛的,常常讀取檔案時就發生memory error,查過資料說可以用h5py將檔案存成hdf5檔案,轉成hdf5檔案後是用批次讀取的方式來餵資料,不過一直都不太清楚hdf5檔案的好處,是可以減少頻繁I/O造成速度問題嗎?
哪種memory error? CPU還是GPU的RAM?
一次把整個dataset裝到CPU RAM, 當資料量太大時會CPU RAM爆炸
跟
訓練時分批次搬資料到GPU RAM, 當batch size太大時GPU RAM會爆炸
這些都跟hdf5無關, 但hdf5的I/O速度確實重要
而且如何作CPU/GPU/CPU RAM/GPU RAM的資源分配,
讓整個training pipeline效率最大化, 是需要經過設計的
我舉幾個案例給你參考
[案例一]
一次讀取整個dataset到CPU RAM
training 時批次從 CPU RAM 搬資料到 GPU RAM 走PCIe匯流排
資料直接上高速公路, 完美!
只是你的 CPU RAM 夠大嗎? 32 GB? 64 GB? 當作業系統死人?
話是這樣說, 一般教學型的dataset 大部份都能一次塞進CPU RAM
(ImageNet 可能有點度)
這個案例中 dataset是不是存成h5df完全沒有影響
[案例二]
只維持一個固定大小的CPU RAM 當buffer
training 時批次從硬碟搬到 buffer, 再從 buffer搬到GPU RAM
在硬碟搬到buffer這邊就塞車了
這種情況下才需要考慮將資料先預存成h5df來縮短讀取時間
(SSD硬碟, 多線程處理跟CPU本身也都有影響, 就不多贅述了)
以上說的都是針對整個training的速度作考量
案例一跟存不存成h5df沒有關係
案例二存成h5df可以加快training速度
這些都跟你的memory error無關
CPU mem error: 買RAM, 或用案例二的方式
GPU mem error: 付錢給NVIDIA, 或降低batch size (小批處理, 一次只搬一點點)
: (4). 最後不知道關於Semantic segmentation的相關資料有沒有比較推薦的書籍/網站/影片?我有自己找過滿多次但是感覺資料都滿零碎,有簡單實作範例的會更好XD
這題請別人回答
: 因為是非本科生,有些問題應該是滿腦包的問題XD,先謝謝大家抽空的耐心回答!
: 以上
: -----
: Sent from JPTT on my Sony SGP321.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 75.18.249.47
※ 文章網址: https://www.ptt.cc/bbs/deeplearning/M.1520070209.A.E52.html
推
03/04 01:19,
6年前
, 1F
03/04 01:19, 1F
→
03/04 01:19,
6年前
, 2F
03/04 01:19, 2F
→
03/04 01:19,
6年前
, 3F
03/04 01:19, 3F
→
03/04 01:19,
6年前
, 4F
03/04 01:19, 4F
→
03/04 01:19,
6年前
, 5F
03/04 01:19, 5F
是的, 如果擔心解析度跑掉太多的話, 也可以把原圖切成幾塊 < 256*256的patch
分次作inference後再拼起來
→
03/04 01:19,
6年前
, 6F
03/04 01:19, 6F
→
03/04 01:19,
6年前
, 7F
03/04 01:19, 7F
→
03/04 01:19,
6年前
, 8F
03/04 01:19, 8F
※ 編輯: tay2510 (75.18.249.47), 03/04/2018 11:11:53
推
03/04 20:05,
6年前
, 9F
03/04 20:05, 9F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
DataScience 近期熱門文章
PTT數位生活區 即時熱門文章