Ошибка неправильной формы массива широковещательных входных данных при попытке использовать предварительную подготовку

#spacy

#spacy

Вопрос:

Я пытаюсь использовать функцию предварительной подготовки spacy для более ТОНКОЙ задачи, поэтому вот что я пытался сделать (я все еще пытаюсь ее использовать),

Шаг 1: Я начал с инициализации модели с помощью ‘en_core_web_lg’, затем я сохранил эту модель на диск и протестировал ее возможности NER в нескольких строках, чтобы увидеть, распознает ли она теги в этих тестовых строках. (Сделал пометку об игнорируемых тегах)

Шаг 2: Затем я создал файл .jsonl с новыми данными для обучения (около 20 новых строк, я хотел увидеть возможности модели с учетом новых данных вокруг объекта (игнорируемые теги, найденные ранее), сможет ли он правильно идентифицировать теги после выполнения обучения передаче). Итак, используя этот файл .jsonl и модель, которую я сохранил ранее, я использовал команду ‘spacy pre-train’ для обучения, это создало для меня файл token2vec .bin (model999.bin).

Шаг 3: Затем я создал функцию, которая принимает местоположение ранее сохраненной модели (модель, сохраненная на шаге 1) и местоположение token2vec (файл model999.bin, полученный на шаге 2). Внутри функции она загружает модель> создает / получает канал> отключает остальные файлы> использует (имя_проводника).model.tok2vec.from_bytes(file_.read()) для чтения из model999.bin и трансляции изученных векторов в базовую модель.

Но когда я запускаю эту функцию, я получаю эту ошибку:
ValueError: could not broadcast input array from shape (96,3,384) into shape (96,3,480) (Я загрузил весь блокнот здесь: [https://github.com/pratikdk/ner_test/blob/master/base_model_contextual_TF.ipynb ]).

Для предварительной подготовки я использовал эту функцию
python -m spacy pre-train ub.jsonl model_saves w2s

Вот 20 строк, которые я пытался обучить поверх базовой модели [ https://github.com/pratikdk/ner_test/blob/master/ub.jsonl ]

Что именно я здесь делаю не так? Пожалуйста, не могли бы вы также указать на исправление, я уверен, что многим понадобится понимание этого.

Окружающая среда

  • Операционная система: CentOS
  • Используемая версия Python: 3.7.3
  • Используемая версия spaCy: 2.1.3
  • Информация об окружающей среде: Лаборатория Anaconda Jupyter

Ответ №1:

Итак, я смог это исправить, разработчик (на github) ответил на мой вопрос. Вот ответ: https://github.com/explosion/spaCy/issues/3616