Here’s what the readme says about converting a model:
Model compatibility
DeepSpeech models are versioned to keep you from trying to use an incompatible graph with a newer client after a breaking change was made to the code. If you get an error saying your model file version is too old for the client, you should either upgrade to a newer model release, re-export your model from the checkpoint using a newer version of the code, or downgrade your client if you need to use the old model and can’t re-export it.
But what is the exact process of re-exporting from the checkpoint? The documentation on training seems to assume I am training the checkpoint with additional data.
It wasn’t clear exactly which arguments are needed to re-export the model - can I do so with only --checkpoint_dir and --export_dir?
When I try to do so from the 0.4.1 model I get the following error:
Key layer_1/bias not found in checkpoint
In another thread this issue was solved by checking out from master but I am already using master.
The process is on a case-by-case basis, because it depends on how backwards compatibility was broken. In this case, we had two breaking changes:
Variable names were changed
Audio feature computation changed
The first one can be fixed by passing a custom mapping to tf.train.Saver or loading the checkpoint manually using tf.train.load_checkpoint. The second is more complicated, because it means the old checkpoint is not very useful with the new code. I guess you could try to use it to initialize weights in a new training run.