What is the use of pre-built binaries

Hi,

I don’t understand the use of pre-built binaries that are download by the util/taskcluster.py. What is the difference between this binary files and the pre-trained model.

Thanks in advance

The model is a big set of data that holds the knowledge, but this needs to be ran, there is no code to take input and produce output in this ; it’s only data. This is the purpose of those binaries.

So this means we need pre-build binaries to make the inference from the pre-trained model (.pb file) ?

Or you can build them yourself, but yes, you need those.

So those binaries combines the alphabet, pre-trained model and the language model etc to make the inference? and we need to build the binaries when we change our language model, alphabet etc?

Am I correct here?

No, you are not correct. We have documentation covering this, have you read it? https://github.com/mozilla/DeepSpeech/blob/v0.1.1/README.md

Sorry, I have read that. However, I don’t understand the situations where we need to build those binaries without using the already available ones?

Easy: if you have CPU that does not support AVX is one good reason. If you have a linux system where some of the symbols are not available (older than what is shipped in ubuntu 14.04 for example), if you want specific optimizations to be enabled, etc.

Thanks a lot Its really helpful.

Basically, building is always painful, even as simple as possible, so we try to have prebuilt binaries that allows people to easily be able to install and test. Lowering the friction.

1 Like