# mnist **Repository Path**: ryjer/mnist ## Basic Information - **Project Name**: mnist - **Description**: MNIST数据集。从http://yann.lecun.com/exdb/mnist/下载4个ubyte二进制文件,转化为png图片,方便以后使用 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-04-19 - **Last Updated**: 2024-04-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MNIST数据集转换 从官网[MNIST handwritten digit database, Yann LeCun, Corinna Cortes and Chris Burges](http://yann.lecun.com/exdb/mnist/)下载数据集文件,其格式难以直接使用。因此将其无损转换为png格式并打包压缩保存 - 训练集 - 训练集图片:[train-images-idx3-ubyte.gz](http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz) - 训练集标签:[train-labels-idx1-ubyte.gz](http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz) - 测试集 - 测试集图片:[t10k-images-idx3-ubyte.gz](http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz) - 测试集标签:[t10k-labels-idx1-ubyte.gz](http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz) 将这4个文件使用`gunzip` 解压后,使用python将两个数据集的图片和标签抽取出来。将图片保存到对应标签名的文件夹中。这里对应就是数字0~9文件夹 # 仓库目录介绍 相关文件和文件夹布局如下 - `MNIST` 文件夹:从官网下载的4个源文件 - `mnist-train` 文件夹:抽取的训练集文件 - `mnist-test` 文件夹:抽取的测试集文件 - `trans_train.py`:转换训练集ubyte文件到png文件的python脚本,结果存放于`mnist-train`文件夹 - `trans_test.py`:转换测试集ubyte文件到png文件的python脚本,结果存放于`mnist-test`文件夹 - `mnist.tar.gz`文件:将抽取的训练集和测试集文件夹打包压缩后的结果 # 处理过程 ## 1 下载文件 ```bash # 创建数据目录 mkdir MNIST cd MNIST # 下载 wget http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz wget http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz wget http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz wget http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz ``` ## 2 创建副本并解压 ```bash # 返回仓库根目录 cd .. # 复制数据集文件 cp MNIST/*.gz ./ # 解压 gunzip *.gz ``` ## 3 运行脚本,抽取数据集文件到文件夹中 运行2个脚本,具体数据集文件名、目标文件夹名可以到py文件中编辑 ```bash python3 trans_train.py python3 trans_test.py ``` 得到下面2个结果文件夹 ```bash mnist-test mnist-train ``` ## 4 打包结果 ```bash # 创建打包根目录 mkdir mnist # 移动结果文件到包根目录 mv mnist-* mnist/ # 打包结果文件夹mnist tar -cvf mnist.tar mnist # 压缩tar包 gzip mnist.tar ``` ## 5 清理残留 ```bash rm -rf mnist ```