tf如何自製使用資料集

2021-10-09 21:19:16 字數 1649 閱讀 3967

這裡用tf.data.dataset.from_tensor_slices進行載入資料集

第一步,準備numpy資料

def

load_mnist

(batch_size,is_training=

true):

if is_training:

fd=open

(r'data/mnist/train-images.idx3-ubyte'

) loaded=np.fromfile(

file

=fd,dtype=np.uint8)

#一定是uint8型別的 0~255

trainx=loaded[16:

].reshape(

(60000,28

,28,1

)).astype(np.float32)

fd=open

(r'data/mnist/train-labels.idx1-ubyte'

) loaded=np.fromfile(

file

=fd,dtype=np.uint8)

trainy=loaded[8:

].reshape(

(60000))

.astype(np.int32)

trx=trainx[

:55000]/

255 try=trainy[

:55000

] valx=trainx[

55000:,

]/255 valy=trainy[

55000:]

num_tr_batch=

55000

//batch_size

num_val_batch=

5000

//batch_size

return trx,try,valx,valy,num_tr_batch,num_val_batch

第二步,用tf.data.dataset.from_tensor_slices將資料做成dataset

dataset=tf.data.dataset.from_tensor_slices(

(tf.cast(trx,tf.float32)

, tf.cast(try,tf.int8)

,)

第三步,打亂資料集和batch_size

dataset=dataset.shuffle(

1000

).batch(

32)

第四步,預處理,用map函式(但是這裡不處理)

def

preprocess()

:pass

dataset.

map(preprocess)

第五步,迴圈,取出資料

for epoch in

range(3

):for(index,

(image,labels))in

enumerate

(dataset)

:print

(image.shape)

自製資料集轉為tfrecord格式

教程 上面這個教程中轉化格式那部分很好用,親測有效,python程式改為自己的路徑執行的時候,因為是第一次轉化這種格式,也沒有怎麼用過遠端伺服器,所以在csv轉tfrecord的時候,一直出現這個錯誤 網上也找不到,最後問師兄的時候,突然發現是疏忽了下面這兩行 是需要自己輸入路徑的,導致卡了一整天,...

如何在TF2中使用TF1 x的 pb模型

在tf1.x中,使用凍結的.pb模型方法比較簡單,可以參看 隨著tf2的推進,以後,用tf2的也會越來越多。但是,有時候還是會需要在tf2中使用到tf1.x的模型。對於.pb模型的使用,該如何做呢?直接上code def wrap frozen graph graph def,inputs,outp...

UCI資料集使用

uci資料可以使用matlab的dlmread或textread讀取,不過,需要先將不是數字的類別用數字,比如1 2 3等替換,否則讀入不了數值,當字元了。每個資料檔案 data 包含以 屬性 值 對形式描述的很多個體樣本的記錄。對應的.info檔案包含的大量的文件資料。有些檔案generate d...