batch-train error ([E001] No component 'tagger' found in pipeline. Available names: ['ner'])

Hello. I am using the following pipeline but i had an error when i tried to use the patch-train.

First I annotated some labels and I created my baseline model.
Then I used active learning in order to create a binary dataset.
The next step was to use the following command in order to apply the batch-train using the dataset from ner.teach:
python -m prodigy ner.batch-train ner_teach_pattern_reg1 .\basemodel\ -o .\outputmodels\exp12 -es 0.2

But i have the following error:
[E001] No component 'tagger' found in pipeline. Available names: ['ner']

When i tried to search about this the only considerable answer i had was that is a version bug. So I am not able to use the batch-train in any way. I tried to use alternatives ways to write the command but still i had the same error.

prodigy version: 10.8.1
spacy version: 2.3.7

We dont prefer to move to spacy 3 because when we tried we had more bugs in other steps.

Full output error:

Traceback (most recent call last):
File "C:\Users\DimitrisValeris\anaconda3\envs\prodigy_sp2\lib\", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Users\DimitrisValeris\anaconda3\envs\prodigy_sp2\lib\", line 87, in run_code
exec(code, run_globals)
File "C:\Users\DimitrisValeris\anaconda3\envs\prodigy_sp2\lib\site-packages\prodigy_main
.py", line 53, in
controller = recipe(args, use_plac=True)
File "cython_src\prodigy\core.pyx", line 321, in prodigy.core.recipe.recipe_decorator.recipe_proxy
File "C:\Users\DimitrisValeris\anaconda3\envs\prodigy_sp2\lib\site-packages\", line 367, in call
cmd, result = parser.consume(arglist)
File "C:\Users\DimitrisValeris\anaconda3\envs\prodigy_sp2\lib\site-packages\", line 232, in consume
return cmd, self.func(
(args + varargs + extraopts), **kwargs)
File "C:\Users\DimitrisValeris\anaconda3\envs\prodigy_sp2\lib\site-packages\prodigy\deprecated\", line 142, in ner_batch_train
losses = model.batch_train(
File "cython_src\prodigy\models\ner.pyx", line 346, in prodigy.models.ner.EntityRecognizer.batch_train
File "cython_src\prodigy\models\ner.pyx", line 438, in prodigy.models.ner.EntityRecognizer._update
File "cython_src\prodigy\models\ner.pyx", line 431, in prodigy.models.ner.EntityRecognizer._update
File "C:\Users\DimitrisValeris\anaconda3\envs\prodigy_sp2\lib\site-packages\spacy\", line 460, in disable_pipes
return DisabledPipes(self, *names)
File "C:\Users\DimitrisValeris\anaconda3\envs\prodigy_sp2\lib\site-packages\spacy\", line 1124, in init
self.extend(nlp.remove_pipe(name) for name in names)
File "C:\Users\DimitrisValeris\anaconda3\envs\prodigy_sp2\lib\site-packages\spacy\", line 1124, in
self.extend(nlp.remove_pipe(name) for name in names)
File "C:\Users\DimitrisValeris\anaconda3\envs\prodigy_sp2\lib\site-packages\spacy\", line 418, in remove_pipe
raise ValueError(Errors.E001.format(name=name, opts=self.pipe_names))
ValueError: [E001] No component 'tagger' found in pipeline. Available names: ['ner']

Hm, that's odd. Can you explain a little what your basemodel is, how you created it and which pipeline components it contains?

I have the same problem even if i am going to use the en_core_web_lg model. the basemodel i refer is the en_core_web_lg when i trained it with my own annotations.


@dvaler01 Hi, it's really not helpful to bump threads like this and it makes it a lot harder for us to keep track of the different questions and help all users. We try our best to answer everyone as soon as we can, but we're not always around 24/7 on weekends.

I noticed you're using v1.10.x and ner.batch-train, which has been deprecated for a while. Could you use prodigy train instead?

If you're still having trouble, the easiest workaroundwould be to just train your ner component separately using a blank base model with only vectors, and then add it to the base model later (get the component from the trained pipeline and add it to the desintation pipeline). This will work fine in spaCy v2.