美文网首页深度学习
关于 『AI 专属数据库的定制』的改进

关于 『AI 专属数据库的定制』的改进

作者: 水之心 | 来源:发表于2018-06-29 03:00 被阅读19次

    AI 专属数据库的定制』的改进版本实现了更加方便的使用自己的专属数据集。

    载入数据集

    关于 DataBunch 见文末的脚本。

    import sys
    
    sys.path.append('E:/xinlib')
    from base.filez import DataBunch
    
    root = 'E:/Data/Zip/'
    db = DataBunch(root)
    
    db.keys()
    
    dict_keys(['mnist', 'fashion_mnist', 'cifar10', 'cifar100'])
    
    db.mnist.keys()
    
    dict_keys(['url', 'namespace', 'trainX', 'trainY', 'testX', 'testY'])
    
    db.fashion_mnist.keys()
    
    dict_keys(['url', 'namespace', 'trainX', 'trainY', 'testX', 'testY'])
    
    db.cifar10.keys()
    
    dict_keys(['url', 'namespace', 'data_batch_4', 'test_batch', 'data_batch_3', 'meta', 'data_batch_2', 'data_batch_5', 'data_batch_1', 'trainX', 'trainY', 'testX', 'testY'])
    
    db.cifar100.keys()
    
    dict_keys(['url', 'namespace', 'train', 'test', 'meta', 'trainX', 'train_fine_labels', 'train_coarse_labels', 'testX', 'test_fine_labels', 'test_coarse_labels'])
    

    将数据集写入 JSON 文件中

    import pickle
    

    序列化

    def write_bunch(path):
        with open(path, 'wb') as fp:
            pickle.dump(db, fp)
    
    path = f'{root}X.json'   # 写入数据集的文件路径
    write_bunch(path)
    
    path = f'{root}X.dat'  # 写入数据集的文件路径
    write_bunch(path)
    

    这样以后我们就可以直接 Copy f'{root}X.datf'{root}X.json' 到你可以放置的任何地方,然后你就可以通过 load 函数来调用 MNISTFashion MNISTCifa 10Cifar 100 这些数据集。即:

    反序列化

    def read_bunch(path):
        with open(path, 'rb') as fp:
            bunch = pickle.load(fp)  # 即为上面的 DataBunch 的实例
        return bunch
    
    read_bunch(path)   # path 即你的数据集所在的路径
    

    以下是『AI 专属数据库的定制』的改进版本的完整脚本。

    相关文章

      网友评论

        本文标题:关于 『AI 专属数据库的定制』的改进

        本文链接:https://www.haomeiwen.com/subject/nyjgyftx.html