Я пытаюсь создать сеть LSTM в DeepLearning4J для классификации строк произвольной длины из N символов.
Я считаю, что сеть настроена правильно, но я не могу найти документацию, описывающую, как Должен быть сформирован вход SequenceRecordReader.
Я понял, что это формат для основных столбцов, поэтому у меня есть одна функция на символ, и мое первое измерение - это N функций. Я попробовал, чтобы второе измерение было последовательностями, а третье - символами в последовательности - так что третье измерение не будет даже по длине между записями во втором. Записи представляют собой простые DoubleWritables, имеющие значение 0 или 1.
Однако это дает мне исключение, выходящее за пределы, поскольку он перебирает данные.
Кто-нибудь знает, какие мои размеры должны быть здесь ? Что еще более полезно, кто-нибудь знает, где есть документация с описанием входных форматов / размеров для различных алгоритмов DL4J?
Mr. Гибсон ниже запрашивает трассировку стека:
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)