Tensorflow dataloader 相關調研;資料讀取是訓練的開始,是非常關鍵的一步;下面是調研時搜集到的一些相關鏈接:
- 十圖詳解tensorflow資料讀取機制 https://zhuanlan.zhihu.com/p/27238630
- TensorFlow全新的資料讀取方式:Dataset API入門教程 https://zhuanlan.zhihu.com/p/30751039
- tensorflow tf.data: https://tensorflow.google.cn/guide/data
- https://github.com/tensorflow/docs/blob/r1.13/site/en/guide/datasets.md (tf1.13 關于dataset的介紹)
- https://blog.csdn.net/weixin_44402973/article/details/95009945 :關于TFRecora的簡介
- 資料讀取類_data.Dataset:https://www.cnblogs.com/hellcat/p/8569651.html
- https://github.com/madalinabuzau/tensorflow-eager-tutorials tensorflow Eager 模式教學
閱讀摘要:
- Tensorflow 讀取資料的機制:
- 直接從硬碟上讀檔案:tf 直接從硬碟上讀取資料,并將記憶體放入記憶體中,并完成之后的運算;此程序出現大量IO操作,造成了大量的浪費;訓練時間較長;
- 在記憶體中開辟讀寫佇列,來讀取資料:首先將檔案讀到記憶體中,計算任務再從記憶體中讀取資料,彼此之間不會發生阻塞,提高了資源的利用率,也一定程度上加快了網路的訓練的速度;
- 基于檔案佇列和記憶體佇列結合的形式讀取資料:對于磁盤上的資料,檔案名存放在檔案名佇列中,記憶體佇列從檔案名佇列中進行資料的讀取,計算設備之間從記憶體中讀取運算所需的資料,通過檔案佇列,可以完成對epoch的更好的管理;
- TFRecord 資料格式:
- tensorflow支持的一種資料格式,內部使用了google自家的Protocol Buffer 二進制資料編碼方案,方便我們模型訓練,驗證,測驗資料集的輸入;通過protocal buffer能對現有的資料集進行一定程度上的聚合,減少磁盤IO;所以一定程度上能夠加速,tensorflow資料處理階段的程序;(這么一看,針對檔案系統或者存盤系統的研究生生涯學習一定程度上加深了我對磁盤,檔案以及系統的理解,還是很不錯的)
資源摘錄自網路,保持更新,更多內容請關注:cnblogs.com/xuyaowen;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/62149.html
標籤:其他
上一篇:sklearn實作邏輯回歸
