關(guān)于tf.TFRecordReader()函數(shù)的用法解析
讀取tfrecord數(shù)據(jù)
從TFRecords文件中讀取數(shù)據(jù), 首先需要用tf.train.string_input_producer生成一個解析隊列。之后調(diào)用tf.TFRecordReader的tf.parse_single_example解析器。
如下圖:
解析器首先讀取解析隊列,返回serialized_example對象,之后調(diào)用tf.parse_single_example操作將Example協(xié)議緩沖區(qū)(protocol buffer)解析為張量。
簡單來說,一旦生成了TFRecords文件,接下來就可以使用隊列(queue)讀取數(shù)據(jù)了。
def read_and_decode(filename): #根據(jù)文件名生成一個隊列 filename_queue = tf.train.string_input_producer([filename]) reader = tf.TFRecordReader() _, serialized_example = reader.read(filename_queue) #返回文件名和文件 features = tf.parse_single_example(serialized_example, features={ 'label': tf.FixedLenFeature([], tf.int64), 'img_raw' : tf.FixedLenFeature([], tf.string), }) img = tf.decode_raw(features['img_raw'], tf.uint8) img = tf.reshape(img, [224, 224, 3]) img = tf.cast(img, tf.float32) * (1. / 255) - 0.5 label = tf.cast(features['label'], tf.int32) return img, label
舉例:
下面代碼是我的程序中利用TFRecord讀取格式時的代碼:
這部分只要使用對應(yīng)的代碼就可以,主要是知道咋回事。
以上這篇關(guān)于tf.TFRecordReader()函數(shù)的用法解析就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python通過floor函數(shù)舍棄小數(shù)位的方法
這篇文章主要介紹了python通過floor函數(shù)舍棄小數(shù)位的方法,實例分析了Python中floor函數(shù)的功能及使用技巧,需要的朋友可以參考下2015-03-03python入門之基礎(chǔ)語法學(xué)習(xí)筆記
學(xué)習(xí)python過程中需要了解的一些基礎(chǔ)語法特整理一下方便更開始接觸python的朋友2020-02-02python庫構(gòu)建之pyproject.toml配置文件詳解
pyproject.toml是Python項目標準化配置文件,由PEP?518引入,用于定義構(gòu)建系統(tǒng)、項目元數(shù)據(jù)和依賴管理,它替代了傳統(tǒng)的setup.cfg文件,通過指定構(gòu)建工具如setuptools或poetry,管理項目依賴,配置工具行為等,需要的朋友可以參考下2024-09-09