作者Sheepforpart (Sheep)
看板DataScience
標題[問題] Tensorflow data pipeline 問題
時間Tue Feb 23 19:16:43 2021
作業系統: Google colab/ Mac
問題類別: DL
使用工具: Tensorflow 2.x
問題內容:
想請教一個實作 Tensorflow data pipeline 的問題,我已經研究了好幾天
但還是沒找到一個好方法
模型的功能是預測一張圖片上哪些地方比較吸引人眼注意
但麻煩的是原始資料全都是影片,而且除了影片外,我們還要加入聲音來訓練
整體流程大約是這樣:
1. 從影片中抽取幾張 frame
2. 從影片中抽取對應的 audio, 並且做成 spectrogram
3. 上一個步驟中的 audio 也保留 wave
我目前查資料看起來 TFRecord 的功能好像很強,只是真的很複雜,不知道怎麼做到
上面的那些轉換
另外有一個不是很理想的方法是,先把需要的 frames 和 audio 都先抽好存起來
如果是這個方法的話,我就只需要知道 Tensorflow 要如何同時餵進來自兩個來源
的資料,這邊的重點可能是 shuffle 之後次序依然要維持對應
這個方法不太理想是因為在實驗完之後,真正使用的資料集非常大,沒辦法先抽好
麻煩大家給我一些建議了,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 109.57.194.138 (丹麥)
※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1614079009.A.215.html
推 supremexiii: 設定兩個Input layer, 再用concatenate layer 02/25 14:20
→ yoyololicon: 不熟TFRecord沒法給什麼建議,不過應該只要處理好 02/25 16:56
→ yoyololicon: 影片frame和audio的對應,spectrogram可以online從 02/25 16:56
→ yoyololicon: audio轉換而來 02/25 16:57
推 imchou239: 建議以一隻影片為單位, 數個單位組成 tfrecord 03/09 20:05
→ imchou239: 一個單位包含該影片所有的frame, 以及整段的audio 03/09 20:07
→ imchou239: audio 的存放比較tricky一點 03/09 20:07
→ imchou239: 簡單做法是可以預先以一個固定的頻率解析audio存起來 03/09 20:08
→ imchou239: 複雜的話是讀取tfrecord的時候即時的解析 03/09 20:09
→ imchou239: 不管是哪種, 讀取的時候都是寫一個parser 03/09 20:10
推 imchou239: 用 tf.io.parse_single_example 讀起來 03/09 20:14
→ imchou239: 這樣在影片長度比RAM小很多的時候還work 03/09 20:15
→ imchou239: 影片容量太大就會有麻煩, 不想太複雜的話直接切段 03/09 20:16