Модель входных данных для сети DeepLearning4J LSTM - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь создать сеть 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...