#machine-learning #data #machine #learning #cifar #ten

cifar-ten

解析 CIFAR-10 数据集的二进制文件,包括下载和 ndarray 转换的方法

7 个版本 (4 个重大更新)

0.5.1 2022年10月13日
0.5.0 2022年4月1日
0.4.0 2022年2月26日
0.3.0 2022年1月3日
0.1.0 2020年9月20日

#699 in 机器学习


tsuga 中使用

MIT 许可证

21KB
334

crates.io Documentation CI

cifar-ten

此库解析 CIFAR-10 数据集的二进制文件,并将它们作为元组结构返回

  • CifarResult: (Vec<u8>, Vec<u8>, Vec<u8>, Vec<u8>),按以下方式组织

提供便利方法将这些转换为 Rust 的 ndarray 数组,使用 to_ndarray_0xx 功能标志,以及自动从远程 URL 下载二进制训练数据。

// $ cargo build --features=download,to_ndarray_015
use cifar_ten::*;

fn main() {
    let (train_data, train_labels, test_data, test_labels) = Cifar10::default()
        .download_and_extract(true)
        .encode_one_hot(true)
        .build()
        .unwrap()
        .to_ndarray::<f32>()
        .expect("Failed to build CIFAR-10 data");
}

可以使用以下功能标志与各种 ndarray 版本一起使用

版本 功能标志
0.15 to_ndarray_015
0.14 to_ndarray_014
0.13 to_ndarray_013

可以在这里找到包含原始二进制的 tar.gz 文件:这里。该库的作者还提供了几个 ML 数据镜像 这里,这些镜像用于在此库上运行测试。请随意使用,但如果您预计会大量使用这些文件,请考虑创建自己的镜像。

如果您想验证是否提供了正确的图像和标签,请使用 examples/preview_images.rs 文件和 show-image 命令来预览给定图像及其对应的单热格式标签的 RGB 表示。

注意:早期提交包含数据集,这将使下载大小很大。对于开发,建议使用以下命令进行克隆:

$ git clone --depth=1 https://github.com/quietlychris/cifar-ten.git

依赖项

~0.2–10MB
~112K SLoC