0

我计划使用这个修改后的 MNIST 版本进行基准研究,但它们目前是 .mat 格式。所以,我在 StackOverflow 上读到过,MatlabRecordReader实际上并不是那么健壮,而且将数据更改为 CSV 格式要聪明得多。我已经下载了 Matlab 并将 .mat 文件更改为具有 60000 行(用于测试数据)的 .csv 文件,每行的前 784 个值是图像本身的像素值,后 10 个值是标签(尽管我相信我可以轻松地将标签压缩为前 784 个值末尾的一个值)。

现在我有了这些数据,我不确定我应该如何将它Iterator正确地传递给我的 Conv 神经网络。我已经查看了文档,但这并不是我所需要的,并且在文档中查找示例RecordReaderDatasetIterator也几乎没有,因为它将 CSV 文件的行视为一维向量(与矩阵相对)或格式化数据以进行线性回归。

我希望这已经足够清楚了。有人可以帮助我吗?


4

1 回答 1

0

使用 CSVRecordReader 并将标签作为 0 到 9 的整数附加到每行的末尾。

使用convolutionalFlat 作为底部的setInputType。示例片段: .setInputType(InputType.convolutionalFlat(28,28,1)) .backprop(true).pretrain(false).build();

神经网络配置的完整代码示例: https ://github.com/deeplearning4j/dl4j-examples/blob/master/dl4j-examples/src/main/java/org/deeplearning4j/examples/convolution/LenetMnistExample.java

于 2018-07-15T09:46:06.577 回答