日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

读取TFrecord

發布時間:2024/9/27 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 读取TFrecord 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

需求:讀取生成的Tfrecord并展示部分圖片.

解決方法:基于tensorflow、cv2、numpy等庫完成該功能.

注:改編自網上代碼?

1)? 編寫讀取TFRecord的python代碼,見下:

import numpy as np import cv2 import tensorflow as tf import matplotlib.pyplot as pltdef read_and_decode(filename_queue, shuffle_batch=True):reader = tf.TFRecordReader()_, serialized_example = reader.read(filename_queue)features = tf.parse_single_example(serialized_example, features={'image_raw': tf.FixedLenFeature([], tf.string),'label': tf.FixedLenFeature([], tf.int64)})image = tf.decode_raw(features['image_raw'], tf.float32)image = tf.reshape(image, [28, 28, 3])image = image * 255.0labels = features['label']if shuffle_batch:images, labels = tf.train.shuffle_batch([image, labels],batch_size=4,capacity=8000,num_threads=4,min_after_dequeue=2000)else:images, labels = tf.train.batch([image, labels],batch_size=4,capacity=8000,num_threads=4)return images, labelsdef TFrcords2Img(tfrecord_filename):filename_queue = tf.train.string_input_producer([tfrecord_filename],num_epochs=3)images, labs = read_and_decode(filename_queue)init_op = tf.group(tf.global_variables_initializer(),tf.local_variables_initializer())with tf.Session() as sess:sess.run(init_op)coord = tf.train.Coordinator()threads = tf.train.start_queue_runners(coord=coord)for i in range(1):imgs, labs = sess.run([images, labs])print ('batch' + str(i) + ': ')# print type(imgs[0])for j in range(4):print(str(labs[j]))img = np.uint8(imgs[j])plt.subplot(4, 2, j * 2 + 1)plt.imshow(img)plt.show()coord.request_stop()coord.join(threads)if __name__ == '__main__':TFrcords2Img('E:/Python/mnist_img_output/a4.tfrecords')

2)? 執行,驗證效果,見下圖所示:

總結

以上是生活随笔為你收集整理的读取TFrecord的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。