實現**:
#讀取檔案列表
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)
(value)#解碼
decoded =tf.decode_raw(value, tf.uint8)
(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年發明了摩斯電碼和有線電報。有線電報的出現,具有劃時代的意義 它讓人類獲得了一種全新的資訊傳遞方式,這種方式 看不見 摸不著 聽不到 完全不同於以往的信件 旗語 號角 烽火,這也是二進...