Python解析mnist出错的解决方法

Python解析mnist的方法:http://blog.csdn.net/lanchunhui/article/details/51244423#comments

同很多网友一样,博主在用Python运行时,常出现以下错误:

UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0x90 in position 614: ordinal not in range(128)
解决方法:在 pickle.load(f)中加入 encoding=’bytes’ ,即 pickle.load(f, encoding=’bytes’)

Python中,我们可以使用`TensorFlow`的数据集API来解析MNIST手写数字识别数据集。这里是一个简单的例子说明如何操作: 首先,确保已安装`tensorflow`库: ```bash pip install tensorflow ``` 然后,导入所需模块并加载数据: ```python import tensorflow as tf from tensorflow.keras.datasets import mnist # 加载数据 (train_images, train_labels), (test_images, test_labels) = mnist.load_data() ``` 数据加载后,`train_images`是一个二维数组,每行代表一个28x28像素的灰度图像(每个像素值范围是0-255),对应的标签存储在`train_labels`数组中。`test_images`和`test_labels`结构类似。 为了方便分析,我们通常会将像素值归一化,并调整数据形状,使其适应于深度学习模型: ```python # 归一化像素值 train_images, test_images = train_images / 255.0, test_images / 255.0 # 将数据调整为 (batch_size, height, width, channels) 的形式,这里是单通道(灰度图) train_images = train_images.reshape(-1, 28, 28, 1) test_images = test_images.reshape(-1, 28, 28, 1) # 对标签进行One-Hot编码(对于多分类任务) train_labels = tf.keras.utils.to_categorical(train_labels, num_classes=10) test_labels = tf.keras.utils.to_categorical(test_labels, num_classes=10) ``` 现在,`train_images`和`train_labels`分别表示训练集的图片和标签,`test_images`和`test_labels`表示测试集的图片和标签,它们都是适合深度学习模型使用的格式。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值