error loading prodigy (textcat.batch-train)ed model using spacy 2.1

solved
spacy
(deborah) #1

I trained a text classification model using prodigy’s textcat.batch-train recipe.
I could load the model using spacy 2.0.18 installed on my computer, but the cluster that I am using right now has spacy 2.1.0, and when I was trying to load my model using spacy 2.1.0 on that platform, I had the following error message:

KeyError: "[E108] As of spaCy v2.1, the pipe name sbd has been deprecated in favor of the pipe name sentencizer, which does the same thing. For example, use nlp.create_pipeline('sentencizer')"

It just wouldn’t work. Is there anything I can do to make it work without having to downgrading my spacy package to older versions?

I suppose I could write my own custom recipe and retrain my model so that it wouldn’t use the deprecated pipeline, but I don’t know how to do that either…

It’s kind of frustrating to have this kind of version conflicts… Any suggestion?

(deborah) #2

Sorry, correcting a typo.
The spacy that wouldn’t load my model is spacy 2.1.1, not spacy 2.1.0.

(Matthew Honnibal) #3

Hey,

Models trained with v2.0.18 aren’t compatible with v2.1.1. The current version of Prodigy is using v2.0.18, so you can’t yet use v2.1 with Prodigy. We’ve got the code updated and will be releasing a new version of Prodigy for v2.1 early next week. We’re just waiting for the dust to settle — we want to give it a couple of days of extra testing, because it’s a bit less convenient for folks to update Prodigy than it is to update spaCy, especially since the update will require everyone to retrain their models.

1 Like
(deborah) #4

Thank you for the clarification. I guess I will just wait for the new releases then.

(Nikhil) #5

@honnibal, do you have an update on the new version of Prodigy? We are facing a similar issue as @ruilinch. Thank you!

(Ines Montani) #6

Yes, see the spaCy v2.1 thread: