What is the use of pre-built binaries

(Hnipun) #1


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

(Lissyx) #2

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.

(Hnipun) #3

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

(Lissyx) #4

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

(Hnipun) #5

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?

(Lissyx) #6

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

(Hnipun) #7

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?

(Lissyx) #8

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.

(Hnipun) #9

Thanks a lot Its really helpful.

(Lissyx) #10

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.