TensorFlow导入数据集

Keras为方便用户使用数据集,提供了一个函数keras.dateset.调用这个函数方便的使用数据集。

但不幸的是,数据源的网址被墙了,但我找到了MNIST数据集。

详细网址见:

https://blog.csdn.net/Houchaoqun_XMU/article/details/78492718?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param

常用的数据集有MNIST,CIFAR10/100

MNIST

共有10个数字,每个图片像素是28*28,由于是灰度的图片,通道是1。

第一个元组代表一共有60k的图片,每个图片像素28*28

第二个元组代表这些图片分别编了9个码。

每个图片由numpy数组存储,每个像素点在0-255分布

 

把原本范围为1-9的y转成one_hot编码。

CIFAR10/100

参考代码:

https://blog.csdn.net/zxpcz/article/details/102690823?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160510724919724836734903%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=160510724919724836734903&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-1-102690823.pc_first_rank_v2_rank_v28&utm_term=%E5%8A%A0%E8%BD%BDcifar&spm=1018.2118.3001.4449

 这个数据集中,有10种图片,比如,猫,狗,每种图片有又有10个图片,所以叫CIFAR100

tf.data.DataSet

from_tensor_slices()

db=tf.data.Dataset.from_tensor_slices(x_test)
next(iter(db)).shape

from_tensor_slices()可以方便的将numpy类型转成tensor类型

shuffle 

打散功能,为了防止机器学到一些奇奇怪怪的规律。

batch

读取数据一般是分批读取。

例子:

复制代码
def prepare_mnist_features_and_labels(x,y):
    x=tf.cast(x,tf.float32)/255.0#将tensor x 转成0~1
    y=tf.cast(y,int64)
    return x,y
def mnist_dataset():
    (x,y),(x_val,y_val) = datasets.fashion_mnist.load_data()
    y = tf.one_hot(y,depth=10)  #将结果转成0~9
    y_val=tf.one_hot(y,val,depth=10)
    
    ds = tf.data.Dataset.from_tensor_slices((x,y))
    ds=ds.map(prepare_mnist_features_and_labels)
    ds=ds.shuffle(60000).batch(100)
    ds_val = tf.data.Dataset.from_tensor_slices((x_val,y_val))
    ds_val=ds_val.map(prepare_mnist_features_and_labels)
    ds_val=ds_val.shuffle(60000).batch(100)
    return ds,ds_val
复制代码

 

posted @   猫七的blog  阅读(1094)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示