的儲存,計算型別
儲存:uint8(節約空間)
矩陣計算:float32(提高精度)
二進位制檔案讀取
cifar-10(比賽資料)二進位制資料讀取
import tensorflow as tf
import os
# 定義cifar的資料等命令列引數
'cifar_dir'
,'./狗/'
,"檔案的目錄"
)class
cifarread
(object):
"""完成讀取二進位制檔案,寫進tfrecords,讀取tfrecords"""
def__init__
(self,filelist)
:#檔案列表
self.file_list=filelist
#定義讀取的一些屬性
self.height=
32 self.weight=
32 self.channel=
3#二進位制檔案的每張的位元組
self.label_bytes=
1 self.image_bytes=self.weight * self.height *self.channel
self.
bytes
=self.label_bytes+self.image_bytes
defread_and_decode
(self)
:#1.構造檔案佇列
file_queue=tf.train.string_input_producer(self.file_list)
#2.構造二進位制檔案讀取器,讀取內容,每個樣本的位元組數
reader=tf.fixedlengthrecordreader(self.
bytes
) key,value=reader.read(file_queue)
#3.解碼內容,二進位制檔案解碼
label_image=tf.decode_raw(value,tf.uint8)
print
(label_image)
#4.分割出和標籤資料,切出特徵值和目標值
label=tf.
slice
(label_image,[0
],[self.label_bytes]
,tf.int32)
image=tf.
slice
(label_image,
[self.label_bytes]
,[self.image_bytes]
)#5.可以對的特徵資料進行形狀的改變
image_reshape=tf.reshape(image,
[self.height,self.weight,self.channel]
)#6.批處理資料
image_batch,label_batch=tf.train.batch(
[image_reshape,label]
,batch_size=
10,num_threads=
1,capacity=10)
return image_batch,label_batch
if __name__ ==
'__main__'
:#1.找到檔案,放入列表
file_name=os.listdir(flags.cifar_dir)
filelist=
[os.path.join(flags.cifar_dir,
file
)for
file
in file_name if
file[-
3:]==
"bin"
] cf=cifarread(filelist)
image_batch,label_batch=cf.read_and_decode(
)#開啟會話
with tf.session(
)as sess:
#定義乙個執行緒協調器
coord=tf.train.coordinator(
)#開啟讀取檔案的執行緒
threads=tf.train.start_queue_runners(sess,coord=coord)
# 列印讀取內容
print
(sess.run(
[image_batch,label_batch]))
# **子執行緒
coord.request_stop(
) coord.join(threads)
二進位制 二進位制起源
現代通訊技術的基礎是二進位制編碼。早在1865年麥克斯韋總結出麥克斯韋方程組之前,美國人摩斯 morse 於1837年發明了摩斯電碼和有線電報。有線電報的出現,具有劃時代的意義 它讓人類獲得了一種全新的資訊傳遞方式,這種方式 看不見 摸不著 聽不到 完全不同於以往的信件 旗語 號角 烽火,這也是二進...
判斷二進位製半整數(二進位制)
10年後,tokitsukaze大佬已經變成了年收入超百萬的的精英程式設計師,家裡沒錢也沒礦的teitoku,找tokitsukaze大佬借1000塊錢,然後tokitsukaze大佬說,借你1024吧,湊個整數。沒錯在2進製下1024是 二進位制整數 乙個正整數滿足其值為2的k次方 k為正整數 我...
mysql二進位制 MySql二進位制連線方式詳解
使用mysql二進位制方式連線 您可以使用mysql二進位制方式進入到mysql命令提示符下來連線mysql資料庫。例項以下是從命令列中連線mysql伺服器的簡單例項 root host mysql u root p enter password 在登入成功後會出現 mysql 命令提示視窗,你可以...