TensorFlow01 二進位制檔案讀取

2022-08-02 03:33:09 字數 2488 閱讀 6196

實現**:

#

讀取檔案列表

file_name = os.listdir("

../data/cifar/")

file_list = [os.path.join("

../data/ficar/

",file) for file in

file_name]

#構造檔名度列

file_queue =tf.train.string_input_producer(file_list)#讀取

reader = tf.fixedlengthrecordreader(32*32*3+1)

key, value =reader.read(file_queue)

print

(value)#解碼

decoded =tf.decode_raw(value, tf.uint8)

print

(decoded)

#將目標值和特徵值切開

label = tf.slice(decoded, [0], [1])

image = tf.slice(decoded, [1], [32*32*3])

print("

label:

", label)

print("

image:

", image)

#調整的形狀

image_reshape = tf.reshape(image, shape=[3, 32, 32])

print("

image_reshape:

", image_reshape)#轉置

image_transposed = tf.transpose(image_reshape, [1, 2, 0])

print("

image_transposed:

", image_transposed)

#調整影象型別

image_cast =tf.cast(image_transposed, tf.float32)

#批處理

label_batch,image_batch = tf.train.batch([label,image_cast], batch_size=100, num_threads=1, capacity=100)

print("

label_batch:

", label_batch)

print("

image_batch:

", image_batch)

with tf.session() as sess1:

#print(sess1.run(label_batch))

#開啟執行緒

print("

----------")

coord =tf.train.coordinator()

threads = tf.train.start_queue_runners(sess=sess1, coord=coord)

print("

threads:

", threads)

a, b =sess1.run([label_batch,image_batch])

print("

label_batch+++++:

", a)

print("

image_batch+++++:

", b)

print("

999999")

#**執行緒

coord.request_stop()

coord.join(threads)

執行結果:

tensor("

readerreadv2:1

", shape=(), dtype=string)

tensor(

"decoderaw:0

", shape=(?,), dtype=uint8)

label: tensor(

"slice:0

", shape=(1,), dtype=uint8)

image: tensor(

"slice_1:0

", shape=(3072,), dtype=uint8)

image_reshape: tensor(

"reshape:0

", shape=(3, 32, 32), dtype=uint8)

image_transposed: tensor(

"transpose:0

", shape=(32, 32, 3), dtype=uint8)

label_batch: tensor(

"batch:0

", shape=(100, 1), dtype=uint8)

image_batch: tensor(

"batch:1

", shape=(100, 32, 32, 3), dtype=float32

Tensorflow01 認識張量Tensor

相較於1.0,tensorflow2.0是一次重大革命性的改進,主要是以下幾個方面。1 1.0 使用的是靜態圖機制,即分為構建階段和部署階段,構建階段只描述了計算圖,並沒有實質的進行計算,而是在執行階段中,在會話層進行統一的一次性計算,優點是高效節省資源,卻沒有中間結果,程式不夠簡潔,不宜除錯。2....

Tensorflow 二進位制檔案讀取分析

的儲存,計算型別 儲存 uint8 節約空間 矩陣計算 float32 提高精度 二進位制檔案讀取 cifar 10 比賽資料 二進位制資料讀取 import tensorflow as tf import os 定義cifar的資料等命令列引數 cifar dir 狗 檔案的目錄 class ci...

二進位制 二進位制起源

現代通訊技術的基礎是二進位制編碼。早在1865年麥克斯韋總結出麥克斯韋方程組之前,美國人摩斯 morse 於1837年發明了摩斯電碼和有線電報。有線電報的出現,具有劃時代的意義 它讓人類獲得了一種全新的資訊傳遞方式,這種方式 看不見 摸不著 聽不到 完全不同於以往的信件 旗語 號角 烽火,這也是二進...