讀tfrecords檔案,乙個乙個讀 按批次讀

2021-08-07 23:59:28 字數 1907 閱讀 3731

import tensorflow as tf

import matplotlib.pyplot as plt

tfrecords_file = '/home/lw/workspace/microvideolstm/tfrecorddata/videoframe.tfrecords'

filename_queue = tf.train.string_input_producer([tfrecords_file]) # 根據檔名生成乙個佇列

reader = tf.tfrecordreader() # tfrecordreader 用於讀取 tfreacord

_, serialized_example = reader.read(filename_queue) # 返回檔名和檔案

features = tf.parse_single_example(serialized_example,

features=) # 取出包含image和label的feature物件..

image = tf.decode_raw(features['image_raw'], tf.uint8) # 要結合自己的資料大小來選擇tf.uint8,tf.int32

image = tf.reshape(image, [20,20]) # image = tf.reshape(image, [128, 128, 3]) ]要與具體的影象大小保持一致,取灰度圖與彩色圖

label = tf.cast(features['label'], tf.int32) # 讀取出標籤資料

image_batch, label_batch = tf.train.shuffle_batch([image, label],

batch_size=10,

capacity=2000,

min_after_dequeue=1000)# 生成批次

with tf.session() as sess: # 開始乙個會話

init_op = tf.global_variables_initializer()

sess.run(init_op)

coord=tf.train.coordinator() # 設定多執行緒協調器

threads= tf.train.start_queue_runners(sess = sess, coord=coord)# 開始 queue runners (佇列執行器)

for i in range(2):

#example, l = sess.run([image,label]) # 在會話中取出image和label 在佇列中乙個乙個取

example, l = sess.run([image_batch,label_batch]) # 在會話中取出image_batch和label_batch 在佇列中按批次取,維度不同

print example.shape

print l.shape

print l

# plt.imshow(example) # 顯示單張影象

plt.imshow(example[i,:,:]) # 在批次裡面顯示單張影象

plt.show()

coord.request_stop()

coord.join(threads)

乙個最簡單的寫檔案和乙個讀檔案的例子

以下為兩個按鈕的響應函式 void cbdlg onbutton1 todo add your control notification handler code here cfile file1 cstring fnstr fnstr c 1.txt file1.open fnstr,cfile ...

讀乙個檔案目錄下的所有檔案

實現這一目的方法有兩種 一是,利用 os.walk 二是,利用 listdir 利用 os.walk 可以讀取 file dir 當前目錄路徑 root 當前路徑下的所有子目錄 dirs 當前路徑下的所有檔案 files 另外,利用 os.path.splitext 可以將檔案的檔名和拓展名分開,並...

c 讀檔案的乙個小bug

程式如下 int fd open filename,o rdonly char c read fd,c,1 printf c d atoi c 看上去好像沒什麼問題,但結果卻大大的有問題。例如 建立檔案 echo 1 test.data 執行程式之後列印出來的有時候c是1 有時候卻是是10.神奇吧?...