zoukankan      html  css  js  c++  java
  • Tensorflow 2.0 datasets数据加载

    导入包

    import tensorflow as tf
    from tensorflow import keras
    

    加载数据

    tensorflow可以调用keras自带的datasets,很方便,就是有一点让人不爽的是下载需要fq,而这个代理不太方便开,所以这里我把所有数据都下载下来了,并上传到了坚果云,方便大家下载。

    下载连接 (访问密码:yDmqHd)

    下载好之后,把输入放入C:Users用户名.kerasdatasets里面,如果没有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)
    
  • 相关阅读:
    51nod 1179 最大的最大公约数 (数论)
    POJ 3685 二分套二分
    POJ 3045 贪心
    LIC
    HDU 1029 Ignatius and the Princess IV
    HDU 1024 Max Sum Plus Plus
    HDU 2389 Rain on your Parade
    HDU 2819 Swap
    HDU 1281 棋盘游戏
    HDU 1083 Courses
  • 原文地址:https://www.cnblogs.com/harrylyx/p/11811439.html
Copyright © 2011-2022 走看看