tensorflow數據讀取

temsorflow數據讀取機制

TFRecords

TensorFLow從文件讀取圖片的四種方式

  • 優點:TFRecords其實是一種二進制文件,能更好的利用內存,更方便複製和移動,因爲圖像和標註可以存儲在一起,避免了從硬盤上打開文件再進行數據讀取的時間,因而更高效
  • 缺點:不如其他格式好理解
  • 讀:從TFRecords文件中讀取數據, 可以使用tf.TFRecordReader的tf.parse_single_example解析器。這個操作可以將Example協議內存塊(protocol buffer)解析爲張量。
  • 寫:TFRecords文件包含了tf.train.Example 協議內存塊(protocol buffer)(協議內存塊包含了字段 Features)。我們可以寫一段代碼獲取你的數據, 將數據填入到Example協議內存塊(protocol buffer),將協議內存塊序列化爲一個字符串, 並且通過tf.python_io.TFRecordWriter 寫入到TFRecords文件。
    讀寫TFRecords數據的例子、迭代器、dataset的介紹
    將數據轉化爲tf.Example要求的3種類型
    tf.train.BytesList/tf.train.FloatList/tf.train.Int64List
    十圖詳解tensorflow數據讀取機制
      介紹了tf的文件名隊列和內存隊列模式
    隊列和數據讀取
      介紹了隊列讀取數據的模式
    FIFOQueue和RandomShuffleQueue兩種隊列
    tensorflow入門:tfrecord 和tf.data.TFRecordDataset
      介紹了TFread數據保存和讀取
      tips:
      tf.TFRecordReader VS tf.data.TFRecordDataset
      tf.TFRecordReader()可能會棄用,官方推薦用tf.data讀取TFRecord

dataset Iterator
  創建一個迭代器保證每次可以獲取到一batch的數據

  • one shot iterator 即只能從頭到尾讀取一次
  • dataset = dataset.shuffle(buffersize=1000).batch(32).repeat(10)是將一個epoch打亂的數值重複10次
發佈了23 篇原創文章 · 獲贊 4 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章