Я планирую использовать dl4j для набора данных в следующем формате:
{"articles": [{"abstractText":"text..", "journal":"journal..", "meshMajor":["mesh1",...,"meshN"], "pmid":"PMID", "title":"title..", "year":"YYYY"},..., {..}]}
Поле meshMajor содержит метки классов, а остальные являются входными данными для модели. Входными объектами являются текстовые данные.
Мне было интересно, есть ли встроенные итераторы набора данных JSON, такие как CSV. Я просмотрел примеры, размещенные на github, но не смог их найти. Если его нет, может кто-нибудь дать несколько советов по его реализации.
Спасибо!
Это выглядит многообещающим началом:
https://deeplearning4j.org/docs/latest/datavec-serialization
Затем вы сможете использовать примеры здесь:
Задал этот вопрос в Gitter DL4J, и решение заключается в использовании устройства чтения записей Jackson. Дополнительные сведения доступны https://github.com/deeplearning4j/DataVec/tree/master/datavec-api/src/main/java/org/datavec/api/records/reader/impl/jackson, а пример чтения JSON доступен по адресу
Обратите внимание, что существует разница между JacksonLineRecordReader и JacksonRecordReaderTest.java, где в первом требуется, чтобы каждая запись JSON занимала ровно одну строку, а во втором требуется один файл для каждой записи JSON.