這裡用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...