深度學習-tensorflow基礎-讀取數據-文件讀取流程

Introduction

  • 在tensorflow中讀取文件有既定的流程
  • 不同的文件格式(csv,jpeg,binary_file),在tensorflow中有不同讀取的API可以使用

流程

我們欲使用的數據可能存在不同的文件中,因此API會進行以下操作
Imgur

  1. 構造一個欲讀取文件的隊列
    • 文件隊列中包含路徑+文件名
    • 可亂序置入隊列中也可順序置入
  2. 讀取(read)隊列文件的內容
    • 預設讀取時,只讀取一個樣本
    • 讀取的文件格式不一樣,所使用的API也不一樣
    • 文件格式:
      • csv文件:讀取一行數據
      • 二進制文件(binary):指定一個樣本的bytes讀取
      • 圖片文件(jpeg,png…):一張一張的讀取
  3. 解碼(decode)

    • 讀取時只返回一個樣本的結果,因此也只解碼一個樣本的內容
  4. 批處理

    • 構造一隊列
    • 將解碼後的文件放入隊列中(A文件A1樣本,A文件A2樣本……)
  5. 訓練模型

    • 主線程拿取批處理隊列的樣本,進行訓練
    • 前面四步則由子線程完成

tips

  • 前面提到的隊列,隊列管理器,線程協調器皆有完整的固定API已經封裝好直接調用,不需在自己定義