问题标签 [mnist]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-2.7 - 访问 Theano 共享变量的数据
我已成功将 MNIST 数据集加载到 Theano 共享变量中,如下所示
我的问题是如何访问 train_set_x 和 train_set_y 中的数据。数据集中的每张图像都是 28 * 28 像素。这是一个长度为 784 的向量,向量中的所有元素都是浮点数,表示 0.0 到 1.0 之间的值(包括 0.0 和 1.0)。标签被转换为 int 因为它表示与每个矢量图像关联的标签,并且是一个介于 0 和 9 之间的值。我希望能够遍历 train_set_x 矩阵图像和 train_set_y 标签以查看每个图像的数据及其标签分别并最终在屏幕上绘制图像。
c# - 在 C# 中使用 BinaryReader 解析 MNIST 数据集时我做错了什么?
我正在解析 C# 中的 MNIST 数据集,来自:http: //yann.lecun.com/exdb/mnist/
我正在尝试Int32
从二进制文件中读取第一个:
但是,它给了我一个无意义的数字:50855936。
如果我使用File.ReadAllBytes()
然后查看字节,它工作正常(前四个字节现在代表 2049),我对 BinaryReader 做错了什么?
文件格式如下(我正在尝试读取第一个幻数):
训练集标签文件(train-labels-idx1-ubyte):
mat-file - 马蒂奥表演
我正在尝试读取 MNIST 数据集(大小为 784*60000)我读取 MNIST 二进制格式的实现大约需要 20 秒,但我尝试使用 Matio 库以 .mat 格式读取相同的数据集,并且需要更长的时间约4~5分钟。这就是我尝试读取 mat 文件的方式。难道我做错了什么?
矩阵结构
读取mat文件
c++ - 如何找出 RBM 无法正常工作的原因?
我正在尝试实现 RBM,并在 MNIST 数据集上对其进行测试。然而,它似乎并没有收敛。
我有 28x28 个可见单元和 100 个隐藏单元。我正在使用大小为 50 的小批量。对于每个时期,我都会遍历整个数据集。我的学习率为 0.01,动量为 0.5。权重是基于均值为 0.0 和标准偏差为 0.01 的高斯分布随机生成的。可见偏差和隐藏偏差初始化为 0。我使用逻辑 sigmoid 函数作为激活。
在每个 epoch 之后,我计算所有 mini-batch 的平均重建误差,以下是我得到的误差:
我绘制了要检查的权重直方图(从左到右:隐藏、权重、可见。顶部:权重,底部:更新):
epoch 3 之后权重的 直方图 epoch 3 之后权重的直方图 http://baptiste-wicht.com/static/finals/histogram_epoch_3.png
epoch 4 之后权重的 直方图 epoch 4 之后权重的直方图 http://baptiste-wicht.com/static/finals/histogram_epoch_4.png
但是,除了隐藏的偏见看起来有点奇怪,其余的似乎都还可以。
我还尝试绘制隐藏的权重:
epoch 3 之后的权重
epoch 3 之后的权重 http://baptiste-wicht.com/static/finals/hiddens_weights_epoch_3.png
epoch 4 之后的权重
epoch 4 之后的权重 http://baptiste-wicht.com/static/finals/hiddens_weights_epoch_4.png
(它们使用该函数以两种颜色绘制:
)
在这里,它们根本没有意义......
如果我走得更远,重建误差会下降一点,但不要超过 0.025。即使我在一段时间后改变动量,它会上升然后下降一点,但并不有趣。此外,在更多的时期之后,权重不再有意义。在我见过的大多数示例实现中,在对完整的数据集进行两到三遍迭代之后,权重才有意义。
我也尝试从可见单位重建图像,但结果似乎几乎是随机的。
我可以做些什么来检查我的实施中出了什么问题?权重应该在某个范围内吗?数据中的某些东西看起来真的很奇怪吗?
完整代码:https ://github.com/wichtounet/dbn/blob/master/include/rbm.hpp
c++ - Little Endian 阅读 MNIST 文件。超出范围的数字
我正在尝试读取 ubyte 格式。我确认我在一个小端机器上,并将位反转为小端。然而,问题是我在转换后在文件中看到的数字远高于 255。
有任何想法吗?我从 How to read MNIST data in C++ 中获得了代码? 并对其进行了一些修改,但这是我的代码
示例输出片段
matlab - 使用 MNIST 作为训练集时,手写图像的准确性低
我们正在做一个学期项目,我们正在使用 MNIST 训练集。尽管我们的分类器在 MNIST 测试集上运行良好(>94% 的准确率),但它在我们准备好的数据集上的性能却显着降低。我们准备的数据集的详细信息如下:
- 我们使用绘画程序创建了 28x28 图像。
- 我们准备的图像的背景是黑色的,数字是用白色绘制的(与 MNIST 相同)。
- 当我们检查 MNIST 图像和我们准备好的图像时,它们看起来非常相似。
关于像素值,我们尝试不同的组合和
- 我们将所有像素值从 (0, 255) 映射到 (0,1) 连续。
- 我们将所有像素值从 (0, 255) 映射到 (0, 1) 二进制,其中只有数字像素等于 1。
我们准备好的数据集的最佳分数约为 70%,而 MNIST 测试集的性能始终很高(>94%)。此外,分类器会犯一些非常奇怪的错误,例如它预测 3 --true digit is 0。
有熟悉 MNIST 的人吗?我认为问题与像素值有关,但我不知道为什么会发生。当我使用imshow
这两个图像时,它们看起来完全一样。
image - 在 MATLAB 中读取 MNIST 图像数据库二进制文件
我有一个来自 MNIST 图像数据库的二进制文件,重命名为“myfile.dat”。这由一组 4 个无符号 32 位整数组成,然后是一个无符号 8 位整数链。我想读取这个文件并将其内容存储为一个数组。这是我的代码:
输出是:
(2502, 1) 的大小符合预期。但是为什么它告诉我数据是double
,当我指定它是int
?
我知道前几个数字应该是什么,并且输出数据不符合预期。我也试过了int32
,这uint
给出uint32
了同样的问题。
r - 在 MNIST 数字识别数据集上表现不佳
我一直在玩 MNIST 数字识别数据集,但我有点卡住了。我阅读了一些研究论文并实施了我所理解的。基本上我所做的是我首先创建了我的训练集和交叉验证集来评估我的分类器,然后我在我的测试集和训练集上运行 PCA,然后我使用 KNN 和 SVM 来执行分类任务。我面临的主要问题是我应该在所有集合上运行 PCA,然后将我的训练集和交叉验证集分开,或者将它们分开,然后在交叉验证测试和训练集上单独运行 PCA。我很抱歉询问我已经尝试过的事情,因为我已经尝试了这两种情况,在第一种情况下,我的分类器表现出色,因为我猜 PCA 在创建调整我的结果的主要组件时使用测试数据集,这可能是我的模型出现偏差的原因,在另一种情况下,性能大约是 20% 到 30%,这是非常低的。所以我有点卡住了我应该如何改进我的模型,非常感谢任何帮助和指导,我在下面粘贴了我的代码以供参考。
==================================================== =======================
python - 如何解压pkl文件?
我有一个来自 MNIST 数据集的 pkl 文件,它由手写数字图像组成。
我想看看这些数字图像中的每一个,所以我需要解压缩 pkl 文件,但我不知道如何解压。
有没有办法解压/解压缩 pkl 文件?
javascript - 使用 javascript/node.js 读取 MNIST 数据集
我正在尝试从以下来源解码数据集:http: //yann.lecun.com/exdb/mnist/
底部有“非常简单”的 IDX 文件类型的描述,但我无法弄清楚。
我想要实现的是:
变魔术
pixelValues 现在是这样的:
等用于数据集中的所有图像条目。我试图弄清楚二进制文件的结构,但失败了。