Tensorflow 2.0 datasets數據加載


導入包

import tensorflow as tf
from tensorflow import keras

加載數據

tensorflow可以調用keras自帶的datasets,很方便,就是有一點讓人不爽的是下載需要fq,而這個代理不太方便開,所以這里我把所有數據都下載下來了,並上傳到了堅果雲,方便大家下載。

下載連接 (訪問密碼:yDmqHd)

下載好之后,把輸入放入C:\Users\用戶名\.keras\datasets里面,如果沒有datasets文件夾,就新建一個,然后直接把數據放里面就行了。

目錄結構如下

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

最后讀入數據只需一句話

(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方法進行加載數據集

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

數據預處理

.map

使用map可以對數據進行預測,和python自帶原理一樣

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

打亂順序

ds.shuffle(10000)

.batch

使用某個batch進行迭代

ds.batch(32)

.repeat

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

ds.repeat(10)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM