[問題] 一個dnn可以同時處理多張影像/資料嗎?

看板DataScience作者 ( )時間6年前 (2018/03/07 22:13), 編輯推噓3(3027)
留言30則, 10人參與, 6年前最新討論串1/1
如題,一組深度神經網路是否能同時處理多個影像呢? 這邊指的並非vectorized computing,雖然矩陣化運算效率很高, 但想像一下我們是要即時處理串流影像,所以不可能每次都得先錄10秒影像, 再把每一幀影像一次丟給神經網路,再等攝影機10秒把下批影像傳來。 理論上,一個深度神經網路,任何一層在處理完一張影像,並把資料傳遞給下一層後, 它應該馬上就能繼續接收上一層傳來的資料來處理,而不用等前一張影像跑完接下來的 每一層才能處理下一張。 所以理論上,一個DNN應該是能像一座工廠的流水線一樣,依序同時處理多張圖, 每張圖依序完成處理,而非只能一次批次處理多張圖,每張圖同時完成。 但以往看過的範例都只有vecorized的處理方式, 請問這在tensorflow或keras等框架上要如何實踐呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.187.80.20 ※ 文章網址: https://www.ptt.cc/bbs/deeplearning/M.1520431983.A.10F.html

03/08 00:06, 6年前 , 1F
看你model的目的是什麼
03/08 00:06, 1F

03/08 00:06, 6年前 , 2F
例如seq to seq
03/08 00:06, 2F

03/08 00:06, 6年前 , 3F
也就是影片對應一段文字敘述
03/08 00:06, 3F

03/08 00:06, 6年前 , 4F
那你就應該一段影片對一段文字
03/08 00:06, 4F

03/08 00:06, 6年前 , 5F
多筆資料同時train應該用batch的方法
03/08 00:06, 5F

03/08 00:06, 6年前 , 6F
你那樣調back propagation出來的結果好像會亂掉?
03/08 00:06, 6F

03/08 00:06, 6年前 , 7F
以上拙見
03/08 00:06, 7F

03/08 00:15, 6年前 , 8F
假設機器的資源(GPU)是固定的,而且套件把inference最佳
03/08 00:15, 8F

03/08 00:19, 6年前 , 9F
化了,假設某張圖進到第三層,如果要去算另外一張圖的第二
03/08 00:19, 9F

03/08 00:19, 6年前 , 10F
層的話,第一張圖就會卡在第三層等另一張圖(資源固定)
03/08 00:19, 10F

03/08 00:20, 6年前 , 11F
所以理論上直接讓一張圖跑到底是bottleneck比較小的方法(
03/08 00:20, 11F

03/08 00:22, 6年前 , 12F
?) 不過我也不熟tf or pytorch的實作 等大大開示
03/08 00:22, 12F

03/08 00:33, 6年前 , 13F
去知乎搜尋 tensorflow queue 試試
03/08 00:33, 13F

03/08 02:05, 6年前 , 14F
在講testing吧,training應不能這樣搞pipeline
03/08 02:05, 14F

03/08 02:07, 6年前 , 15F
覺得樓樓上講的比較合理,不同模型的圖片大小每層所需計算
03/08 02:07, 15F

03/08 02:09, 6年前 , 16F
不同,所以實務上不覺得現階段的dl框架有可能做這種優化
03/08 02:09, 16F

03/08 02:12, 6年前 , 17F
就算hack的出來,感覺太多小細節需要搞定,不一定比較快
03/08 02:12, 17F

03/08 02:12, 6年前 , 18F
亂猜的
03/08 02:12, 18F

03/08 02:46, 6年前 , 19F
我覺得tf對於提高效率 一般比較往分布式的方向走
03/08 02:46, 19F

03/08 04:05, 6年前 , 20F
把你的圖存檔,然後用tf queue做列隊. 讓tf慢慢消化掉.
03/08 04:05, 20F

03/08 04:05, 6年前 , 21F
想做到跟影像同步基本上不可能.推理本就需要時間.
03/08 04:05, 21F

03/08 08:25, 6年前 , 22F
原po也許誤解了,真正在運算的是CPU和GPU而不是DNN...
03/08 08:25, 22F

03/08 08:25, 6年前 , 23F
如果有多台運算單元,自然可以增加workers/用pipeline串
03/08 08:25, 23F

03/08 08:25, 6年前 , 24F
起來。
03/08 08:25, 24F

03/08 08:25, 6年前 , 25F
另一種降低latency的方式是降低buffer size
03/08 08:25, 25F

03/10 00:41, 6年前 , 26F
應該說GPU資源就這多...不如全力把一張處理好...
03/10 00:41, 26F

03/12 18:42, 6年前 , 27F
串流影像用 yolo
03/12 18:42, 27F

03/14 08:45, 6年前 , 28F
我覺得沒必要 而且實際上layer並不是水管
03/14 08:45, 28F

03/14 08:47, 6年前 , 29F
layer沒有資源獨佔的問題 自然也不需要針對空閒(?)layer
03/14 08:47, 29F

03/14 08:47, 6年前 , 30F
做最佳化
03/14 08:47, 30F
文章代碼(AID): #1Qd_Dl4F (DataScience)
文章代碼(AID): #1Qd_Dl4F (DataScience)