Tensorflow 2.0 datasets數據加載

導入包python

import tensorflow as tf
from tensorflow import keras

加載數據

tensorflow能夠調用keras自帶的datasets,很方便,就是有一點讓人不爽的是下載須要fq,而這個代理不太方便開,因此這裏我把全部數據都下載下來了,並上傳到了堅果雲,方便你們下載。shell

下載鏈接 (訪問密碼:yDmqHd)json

下載好以後,把輸入放入C:\Users\用戶名\.keras\datasets裏面,若是沒有datasets文件夾,就新建一個,而後直接把數據放裏面就好了。代理

目錄結構以下code

C:.
│  keras.json
│
└─datasets
    │  boston_housing.npz
    │  cifar-10-batches-py.tar.gz
    │  cifar-100-python.tar.gz
    │  imdb.npz
    │  mnist.npz
    │  reuters.npz
    │
    └─fashion-mnist
            t10k-images-idx3-ubyte.gz
            t10k-labels-idx1-ubyte.gz
            train-images-idx3-ubyte.gz
            train-labels-idx1-ubyte.gz

最後讀入數據只需一句話ci

(x, y), (x_test, y_test) = keras.datasets.mnist.load_data()
(x, y), (x_test, y_test) = keras.datasets.boston_housing.load_data()
...

tf.data.Dataset使用

使用.from_tensor_slices方法進行加載數據集get

ds = tf.data.Dataset.from_tensor_slices((x, y))

數據預處理

.map

使用map能夠對數據進行預測,和python自帶原理同樣io

def prepare_mnist_fea(x, y):
    x = tf.cast(x, tf.float32) / 255.0
    y = tf.cast(y, tf.float32)
    return x, y

ds.map(prepare_mnist_fea)

.shuffle

打亂順序ast

ds.shuffle(10000)

.batch

使用某個batch進行迭代class

ds.batch(32)

.repeat

重複執行整個數據多少次,也就是epoch的意思

ds.repeat(10)
相關文章
相關標籤/搜索