deep-learning - DeepLearning4J LSTM 网络的输入数据模型
问题描述
我正在尝试在 DeepLearning4J 中创建一个 LSTM 网络来对 N 个字符的随机长度字符串进行分类。
我相信我的网络设置正确,但我找不到描述如何形成 SequenceRecordReader 输入的文档。
我发现它是列主要格式 - 所以我每个字符都有一个特征,我的第一个维度是 N 个特征。我尝试第二个维度是序列,第三个维度是序列中的字符 - 所以第三个维度在第二个条目之间的长度不会均匀。条目是简单的 DoubleWritables,值为 0 或 1。
但是,这给了我一个越界异常,因为它正在遍历数据。
有谁知道我的尺寸应该是多少?更有帮助的是,有人知道在哪里有关于各种 DL4J 算法的输入格式/尺寸描述的文档吗?
下面的 Gibson 先生要求提供堆栈跟踪:
Exception in thread "AMDSI prefetch thread" java.lang.RuntimeException: java.lang.IndexOutOfBoundsException: 12000
at org.nd4j.linalg.dataset.AsyncMultiDataSetIterator$AsyncPrefetchThread.run(AsyncMultiDataSetIterator.java:389)
Caused by: java.lang.IndexOutOfBoundsException: 12000
at org.bytedeco.javacpp.indexer.Indexer.checkIndex(Indexer.java:94)
at org.bytedeco.javacpp.indexer.FloatRawIndexer.put(FloatRawIndexer.java:95)
at org.nd4j.linalg.api.buffer.BaseDataBuffer.put(BaseDataBuffer.java:1130)
at org.nd4j.linalg.api.ndarray.BaseNDArray.putScalar(BaseNDArray.java:1449)
at org.deeplearning4j.datasets.datavec.RecordReaderMultiDataSetIterator.convertWritablesSequence(RecordReaderMultiDataSetIterator.java:676)
at org.deeplearning4j.datasets.datavec.RecordReaderMultiDataSetIterator.convertFeaturesOrLabels(RecordReaderMultiDataSetIterator.java:369)
at org.deeplearning4j.datasets.datavec.RecordReaderMultiDataSetIterator.nextMultiDataSet(RecordReaderMultiDataSetIterator.java:327)
at org.deeplearning4j.datasets.datavec.RecordReaderMultiDataSetIterator.next(RecordReaderMultiDataSetIterator.java:213)
at org.deeplearning4j.datasets.datavec.SequenceRecordReaderDataSetIterator.next(SequenceRecordReaderDataSetIterator.java:365)
at org.deeplearning4j.datasets.datavec.SequenceRecordReaderDataSetIterator.next(SequenceRecordReaderDataSetIterator.java:344)
at org.deeplearning4j.datasets.datavec.SequenceRecordReaderDataSetIterator.next(SequenceRecordReaderDataSetIterator.java:48)
at org.nd4j.linalg.dataset.adapter.MultiDataSetIteratorAdapter.next(MultiDataSetIteratorAdapter.java:77)
at org.nd4j.linalg.dataset.adapter.MultiDataSetIteratorAdapter.next(MultiDataSetIteratorAdapter.java:28)
at org.nd4j.linalg.dataset.AsyncMultiDataSetIterator$AsyncPrefetchThread.run(AsyncMultiDataSetIterator.java:361)
解决方案
推荐阅读
- java - 在数组中的列和行中查找最大数
- mongodb - Windows Mongodb 插入测试密钥并将其删除以监控连接
- vue.js - 覆盖子组件中的道具类型?
- javascript - 通过另一个页面发布表单数据
- python-3.x - SKLearn 分类器带有 class_weight 参数
- python - django中基于类别的列表视图
- google-api - 尝试更改 API 配置时收到“提交失败”错误
- python - 从 Python io.BufferedReader 类的实例读取/打开图像
- angular - 我无法显示我的服务对象的内容。
- scala - List[EitherT[Future, String, CustomObj]] => EitherT[Future, String, List[CustomObj]]