• 【加载自定义数据csv/image】HuggingFace的datasets库中load_dataset


    1.加载自定义数据

    在这里插入图片描述
    在这里插入图片描述
    load_dataset有以下参数,具体可参考 源码

    def load_dataset(
        path: str,
        name: Optional[str] = None,
        data_dir: Optional[str] = None,
        data_files: Union[Dict, List] = None,
        split: Optional[Union[str, Split]] = None,
        cache_dir: Optional[str] = None,
        features: Optional[Features] = None,
        download_config: Optional[DownloadConfig] = None,
        download_mode: Optional[GenerateMode] = None,
        ignore_verifications: bool = False,
        save_infos: bool = False,
        script_version: Optional[Union[str, Version]] = None,
        **config_kwargs,
    ) -> Union[DatasetDict, Dataset]:
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • path:参数path表示数据集的名字或者路径。可以是如下几种形式(每种形式的使用方式后面会详细说明)
      • 数据集的名字,比如imdb、glue
      • 数据集文件格式,比如json、csv、parquet、txt
      • 数据集目录中的处理数据集的脚本(.py)文件,比如“glue/glue.py”
    • name:参数name表示数据集中的子数据集,当一个数据集包含多个数据集时,就需要这个参数,比如glue数据集下就包含"sst2"、“cola”、"qqp"等多个子数据集,此时就需要指定name来表示加载哪一个子数据集
    • data_dir:数据集所在的目录
    • data_files:数据集文件
    • cache_dir:构建的数据集缓存目录,方便下次快速加载

    2.划分训练集、测试集

    在这里插入图片描述

    3.加载&划分csv

    # 加载csv数据-示例
    from datasets import load_dataset
    
    # 加载
    local_csv_dataset = load_dataset("csv",data_files="./dataset/winequality-white.csv",sep=';')
    local_csv_dataset
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    • 分割方式1,split="train[:80%]
    # 分割方式1
    local_csv_dataset = load_dataset("csv",data_files="./dataset/winequality-white.csv",sep=';',split="train[:80%]")
    local_csv_dataset
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    • 分割方式2,先split="train",再train_test_split(test_size=0.1)
      注意:load_dataset时一定要加split="train",否则会报错AttributeError: 'DatasetDict' object has no attribute 'train_test_split'
    # 分割方式2
    local_csv_dataset = load_dataset("csv",data_files="./dataset/winequality-white.csv",sep=';',split="train")
    dataset = local_csv_dataset.train_test_split(test_size=0.1)
    dataset
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    提供一个winequality-white.csv的示例样本,长度100,在文章最后

    4.加载&划分图片img数据集

    下载好的图片,文件名即类别名,按文件夹存放,我的文件结构如下:
    在这里插入图片描述
    使用方法:load_dataset()

    • path:用imagefolder方式
    • data_dir:数据集目录,可以是划分好的train和test;也可以是一个训练目录,下面有类别的目录和文件就行,再进行划分

    【法1】load划分好的train和test,data_dir写到cat_vs_dog

    # 加载csv数据-示例
    from datasets import load_dataset
    
    cat_dog_dataset = load_dataset(path="imagefolder",data_dir="huggingface/cat_vs_dog/")
    cat_dog_dataset
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述在这里插入图片描述
    【法2】load一个训练目录,我的train下放了cat和dog文件夹

    # 加载csv数据-示例
    from datasets import load_dataset
    
    cat_dog_dataset2 = load_dataset(path="imagefolder",data_dir="huggingface/cat_vs_dog/train/",split="train")
    cat_dog_dataset2
    # 划分数据集
    cat_dog_dataset2 = cat_dog_dataset2.train_test_split(test_size=0.1)
    cat_dog_dataset2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    4.1 查看单张图片&标签

    # 查看单张图片
    image = cat_dog_dataset2['train']["image"][0]
    label = cat_dog_dataset2['train']["label"][0]
    print('label:',label)
    image
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    4.2 图片转tensor

    # 图片转tensor
    from torchvision import transforms
    image = cat_dog_dataset2['train']["image"][0]
    img_tensor = transforms.ToTensor()(image)
    img_tensor
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    附件

    winequality-white.csv的示例样本,长度100,原数据4898行,原链接

    "fixed acidity";"volatile acidity";"citric acid";"residual sugar";"chlorides";"free sulfur dioxide";"total sulfur dioxide";"density";"pH";"sulphates";"alcohol";"quality"
    7;0.27;0.36;20.7;0.045;45;170;1.001;3;0.45;8.8;6
    6.3;0.3;0.34;1.6;0.049;14;132;0.994;3.3;0.49;9.5;6
    8.1;0.28;0.4;6.9;0.05;30;97;0.9951;3.26;0.44;10.1;6
    7.2;0.23;0.32;8.5;0.058;47;186;0.9956;3.19;0.4;9.9;6
    7.2;0.23;0.32;8.5;0.058;47;186;0.9956;3.19;0.4;9.9;6
    8.1;0.28;0.4;6.9;0.05;30;97;0.9951;3.26;0.44;10.1;6
    6.2;0.32;0.16;7;0.045;30;136;0.9949;3.18;0.47;9.6;6
    7;0.27;0.36;20.7;0.045;45;170;1.001;3;0.45;8.8;6
    6.3;0.3;0.34;1.6;0.049;14;132;0.994;3.3;0.49;9.5;6
    8.1;0.22;0.43;1.5;0.044;28;129;0.9938;3.22;0.45;11;6
    8.1;0.27;0.41;1.45;0.033;11;63;0.9908;2.99;0.56;12;5
    8.6;0.23;0.4;4.2;0.035;17;109;0.9947;3.14;0.53;9.7;5
    7.9;0.18;0.37;1.2;0.04;16;75;0.992;3.18;0.63;10.8;5
    6.6;0.16;0.4;1.5;0.044;48;143;0.9912;3.54;0.52;12.4;7
    8.3;0.42;0.62;19.25;0.04;41;172;1.0002;2.98;0.67;9.7;5
    6.6;0.17;0.38;1.5;0.032;28;112;0.9914;3.25;0.55;11.4;7
    6.3;0.48;0.04;1.1;0.046;30;99;0.9928;3.24;0.36;9.6;6
    6.2;0.66;0.48;1.2;0.029;29;75;0.9892;3.33;0.39;12.8;8
    7.4;0.34;0.42;1.1;0.033;17;171;0.9917;3.12;0.53;11.3;6
    6.5;0.31;0.14;7.5;0.044;34;133;0.9955;3.22;0.5;9.5;5
    6.2;0.66;0.48;1.2;0.029;29;75;0.9892;3.33;0.39;12.8;8
    6.4;0.31;0.38;2.9;0.038;19;102;0.9912;3.17;0.35;11;7
    6.8;0.26;0.42;1.7;0.049;41;122;0.993;3.47;0.48;10.5;8
    7.6;0.67;0.14;1.5;0.074;25;168;0.9937;3.05;0.51;9.3;5
    6.6;0.27;0.41;1.3;0.052;16;142;0.9951;3.42;0.47;10;6
    7;0.25;0.32;9;0.046;56;245;0.9955;3.25;0.5;10.4;6
    6.9;0.24;0.35;1;0.052;35;146;0.993;3.45;0.44;10;6
    7;0.28;0.39;8.7;0.051;32;141;0.9961;3.38;0.53;10.5;6
    7.4;0.27;0.48;1.1;0.047;17;132;0.9914;3.19;0.49;11.6;6
    7.2;0.32;0.36;2;0.033;37;114;0.9906;3.1;0.71;12.3;7
    8.5;0.24;0.39;10.4;0.044;20;142;0.9974;3.2;0.53;10;6
    8.3;0.14;0.34;1.1;0.042;7;47;0.9934;3.47;0.4;10.2;6
    7.4;0.25;0.36;2.05;0.05;31;100;0.992;3.19;0.44;10.8;6
    6.2;0.12;0.34;1.5;0.045;43;117;0.9939;3.42;0.51;9;6
    5.8;0.27;0.2;14.95;0.044;22;179;0.9962;3.37;0.37;10.2;5
    7.3;0.28;0.43;1.7;0.08;21;123;0.9905;3.19;0.42;12.8;5
    6.5;0.39;0.23;5.4;0.051;25;149;0.9934;3.24;0.35;10;5
    7;0.33;0.32;1.2;0.053;38;138;0.9906;3.13;0.28;11.2;6
    7.3;0.24;0.39;17.95;0.057;45;149;0.9999;3.21;0.36;8.6;5
    7.3;0.24;0.39;17.95;0.057;45;149;0.9999;3.21;0.36;8.6;5
    6.7;0.23;0.39;2.5;0.172;63;158;0.9937;3.11;0.36;9.4;6
    6.7;0.24;0.39;2.9;0.173;63;157;0.9937;3.1;0.34;9.4;6
    7;0.31;0.26;7.4;0.069;28;160;0.9954;3.13;0.46;9.8;6
    6.6;0.24;0.27;1.4;0.057;33;152;0.9934;3.22;0.56;9.5;6
    6.7;0.23;0.26;1.4;0.06;33;154;0.9934;3.24;0.56;9.5;6
    7.4;0.18;0.31;1.4;0.058;38;167;0.9931;3.16;0.53;10;7
    6.2;0.45;0.26;4.4;0.063;63;206;0.994;3.27;0.52;9.8;4
    6.2;0.46;0.25;4.4;0.066;62;207;0.9939;3.25;0.52;9.8;5
    7;0.31;0.26;7.4;0.069;28;160;0.9954;3.13;0.46;9.8;6
    6.9;0.19;0.35;5;0.067;32;150;0.995;3.36;0.48;9.8;5
    7.2;0.19;0.31;1.6;0.062;31;173;0.9917;3.35;0.44;11.7;6
    6.6;0.25;0.29;1.1;0.068;39;124;0.9914;3.34;0.58;11;7
    6.2;0.16;0.33;1.1;0.057;21;82;0.991;3.32;0.46;10.9;7
    6.4;0.18;0.35;1;0.045;39;108;0.9911;3.31;0.35;10.9;6
    6.8;0.2;0.59;0.9;0.147;38;132;0.993;3.05;0.38;9.1;6
    6.9;0.25;0.35;1.3;0.039;29;191;0.9908;3.13;0.52;11;6
    7.2;0.21;0.34;11.9;0.043;37;213;0.9962;3.09;0.5;9.6;6
    6;0.19;0.26;12.4;0.048;50;147;0.9972;3.3;0.36;8.9;6
    6.6;0.38;0.15;4.6;0.044;25;78;0.9931;3.11;0.38;10.2;6
    7.4;0.2;0.36;1.2;0.038;44;111;0.9926;3.36;0.34;9.9;6
    6.8;0.22;0.24;4.9;0.092;30;123;0.9951;3.03;0.46;8.6;6
    6;0.19;0.26;12.4;0.048;50;147;0.9972;3.3;0.36;8.9;6
    7;0.47;0.07;1.1;0.035;17;151;0.991;3.02;0.34;10.5;5
    6.6;0.38;0.15;4.6;0.044;25;78;0.9931;3.11;0.38;10.2;6
    7.2;0.24;0.27;1.4;0.038;31;122;0.9927;3.15;0.46;10.3;6
    6.2;0.35;0.03;1.2;0.064;29;120;0.9934;3.22;0.54;9.1;5
    6.4;0.26;0.24;6.4;0.04;27;124;0.9903;3.22;0.49;12.6;7
    6.7;0.25;0.13;1.2;0.041;81;174;0.992;3.14;0.42;9.8;5
    6.7;0.23;0.31;2.1;0.046;30;96;0.9926;3.33;0.64;10.7;8
    7.4;0.24;0.29;10.1;0.05;21;105;0.9962;3.13;0.35;9.5;5
    6.2;0.27;0.43;7.8;0.056;48;244;0.9956;3.1;0.51;9;6
    6.8;0.3;0.23;4.6;0.061;50.5;238.5;0.9958;3.32;0.6;9.5;5
    6;0.27;0.28;4.8;0.063;31;201;0.9964;3.69;0.71;10;5
    8.6;0.23;0.46;1;0.054;9;72;0.9941;2.95;0.49;9.1;6
    6.7;0.23;0.31;2.1;0.046;30;96;0.9926;3.33;0.64;10.7;8
    7.4;0.24;0.29;10.1;0.05;21;105;0.9962;3.13;0.35;9.5;5
    7.1;0.18;0.36;1.4;0.043;31;87;0.9898;3.26;0.37;12.7;7
    7;0.32;0.34;1.3;0.042;20;69;0.9912;3.31;0.65;12;7
    7.4;0.18;0.3;8.8;0.064;26;103;0.9961;2.94;0.56;9.3;5
    6.7;0.54;0.28;5.4;0.06;21;105;0.9949;3.27;0.37;9;5
    6.8;0.22;0.31;1.4;0.053;34;114;0.9929;3.39;0.77;10.6;6
    7.1;0.2;0.34;16;0.05;51;166;0.9985;3.21;0.6;9.2;6
    7.1;0.34;0.2;6.1;0.063;47;164;0.9946;3.17;0.42;10;5
    7.3;0.22;0.3;8.2;0.047;42;207;0.9966;3.33;0.46;9.5;6
    7.1;0.43;0.61;11.8;0.045;54;155;0.9974;3.11;0.45;8.7;5
    7.1;0.44;0.62;11.8;0.044;52;152;0.9975;3.12;0.46;8.7;6
    7.2;0.39;0.63;11;0.044;55;156;0.9974;3.09;0.44;8.7;6
    6.8;0.25;0.31;13.3;0.05;69;202;0.9972;3.22;0.48;9.7;6
    7.1;0.43;0.61;11.8;0.045;54;155;0.9974;3.11;0.45;8.7;5
    7.1;0.44;0.62;11.8;0.044;52;152;0.9975;3.12;0.46;8.7;6
    7.2;0.39;0.63;11;0.044;55;156;0.9974;3.09;0.44;8.7;6
    6.1;0.27;0.43;7.5;0.049;65;243;0.9957;3.12;0.47;9;5
    6.9;0.24;0.33;1.7;0.035;47;136;0.99;3.26;0.4;12.6;7
    6.9;0.21;0.33;1.8;0.034;48;136;0.9899;3.25;0.41;12.6;7
    7.5;0.17;0.32;1.7;0.04;51;148;0.9916;3.21;0.44;11.5;7
    7.1;0.26;0.29;12.4;0.044;62;240;0.9969;3.04;0.42;9.2;6
    6;0.34;0.66;15.9;0.046;26;164;0.9979;3.14;0.5;8.8;6
    8.6;0.265;0.36;1.2;0.034;15;80;0.9913;2.95;0.36;11.4;7
    9.8;0.36;0.46;10.5;0.038;4;83;0.9956;2.89;0.3;10.1;4
    6;0.34;0.66;15.9;0.046;26;164;0.9979;3.14;0.5;8.8;6
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
  • 相关阅读:
    Python编程从入门到实践 第六章:字典 练习答案记录
    【Windows】键盘禁用(屏蔽)Win快捷键
    Springboot项目整合jieba分词,实现语句最精确的切分
    【Seata源码学习 】篇三 seata客户端全局事务开启、提交与回滚
    每日实用技巧分享:怎么修复老照片?
    HTML之file控件、hidden控件、列表、div
    Undefined和Null的区别
    JAVA计算机毕业设计颜如玉图书销售网站的设计与实现Mybatis+系统+数据库+调试部署
    c#WPF绑定
    Android红外功能模拟触摸鼠标事件唤醒屏幕
  • 原文地址:https://blog.csdn.net/sinat_29950703/article/details/134460520