转换Cifar10数据集

Cifar10数据集不讲了吧,入门必备,下载地址: https://www.cs.toronto.edu/~kriz/cifar.html 官方提供三种形式的下载:

可以看出是不提供图片形式的下载的,需要进行数据转换,虽然可以直接读成ndarray,但是对于初学者可能读图更直观点

自己写了个转换程序(将bytes形式的文件转换为图片并分类存储):

def recover_cifar10(cifar10_dir):
    """Save cifar 10 data(only training data) to files.
    Args:
        cifar10_dir: cifar 10 dataset path(python version).

    Returns:

    """
    save_dir = './data/cifar10'

    def save_batch(path):
        with open(path, 'rb') as fo:
            batch_data = pickle.load(fo, encoding='bytes')

        X, Y, N = batch_data[b'data'], batch_data[b'labels'], batch_data[b'filenames']
        batch_size = X.shape[0]
        for x in range(0, batch_size):
            sample = X[x].reshape((3, 32, 32))
            r, g, b = sample[0], sample[1], sample[2]
            r0, g0, b0 = Image.fromarray(r), Image.fromarray(g), Image.fromarray(b)
            sample_rgb = Image.merge('RGB', (r0, g0, b0))
            sample_label = bytes.decode(label_names[Y[x]])  # image label
            sample_name = bytes.decode(N[x])

            cat_dir = join(save_dir, sample_label)
            if not os.path.exists(cat_dir):
                os.makedirs(cat_dir)

            sample_save_path = join(cat_dir, sample_name)
            sample_rgb.save(sample_save_path)

    with open(join(cifar10_dir, 'batches.meta'), 'rb') as fo:
        meta_data = pickle.load(fo, encoding='bytes')
    label_names = meta_data[b'label_names']
    for x in range(1, 6):
        path = join(cifar10_dir, 'data_batch_%s' % str(x))
        save_batch(path)

有需要的拿走,可以直接用

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python疯子

python爬虫保存到mongodb:bson.errors.InvalidDocument: key '18435-.net前端开发工程师(深圳)' must not contain '.'

bson.errors.InvalidDocument: key '18435-.net前端开发工程师(深圳)' must not contain '.'

1312
来自专栏HTML5学堂

如何让旧浏览器支持HTML5新标签

HTML5学堂:开发永远和理论不相同,一旦考虑IE低端浏览器,所有的HTML5新增功能都成了浮云~~~从HTML5新增标签的语义角度来说,是有利于网站SEO的,...

2677
来自专栏码神联盟

碎片化 | 第五阶段-01-公司类型和项目类型介绍-视频

如清晰度低,可转PC网页观看高清版本: http://v.qq.com/x/page/c05007f85s3.html 公司类型、项目的类型 ?

3239
来自专栏葡萄城控件技术团队

文字处理控件功能比较:TX Text Control vs. RichTextBox

任何机构都需要创建和编辑文档,因此在机构的信息化系统中都需要文档的创建、编辑、转换等功能。通常情况下,我们可以使用VisualStudio自带的RichText...

1825
来自专栏用户画像

jQuery登录验证

582
来自专栏Java后端技术

HTML标记语法之表格元素

8.直列化格式:<colgroup><colgroup>(<col>与<colgroup>的功能完全一样)

771
来自专栏WindCoder

日期判断

461
来自专栏Youngxj

emlog侧边栏添加微博秀

1777
来自专栏一场梦

渐变色css代码网站分享

892
来自专栏十月梦想

移动端适配之百分比适配

前面简单了了解了一下移动端,包括移动端的设备独立像素,物理像素,渲染像素以及像素比(DPR)等相关知识!接下来简单介绍一个比较简单的移动端适配方案!

783

扫码关注云+社区