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)
    
  • 相关阅读:
    c/c++ 网络编程 getaddrinfo 函数
    c/c++ 网络编程 bind函数
    c/c++ socket API 调用后的错误判断 perror errno
    python基础-面向对象编程之反射
    彻底理解Future模式
    Java并发编程:Callable、Future和FutureTask
    java异步调用方法
    理解ThreadLocal
    ReentrantReadWriteLock读写锁
    java锁优化
  • 原文地址:https://www.cnblogs.com/harrylyx/p/11811439.html
Copyright © 2011-2022 走看看