I was trying to execute DeepSpeech.py “–one_shot_infer” on Raspberry Pi before using native_client deepspeech binary.
In the native_client the n_mfcc is not a parameter but fixed to 26 and my models are all 13, and the sample_rate is fixed as well, and I am using 8KHz.
So I wanted to have a sneak peek of the performance as a prototype before being force to modify and re-compile the native_client again for the newer versions, and then is when it failed.
Tensorflow is delivering now (since v1.9) wheel packages for Raspberry Pi, and this allow us to use python for inference prototyping in a fast way, without the recompiling pain, but the libctc_decoder_with_kenlm.so library is not available in taskcluster for arm.
Could it be?
Best regards,
Mar
lissyx
((slow to reply) [NOT PROVIDING SUPPORT])
6
Given the current performances for just inference on RPi3, that’s just a waste of time to support that. Even if there are wheels available, it’s not usable in this case, because it’s way too slow. And libctc_decoder_with_kenlm.so is going away soon.
lissyx
((slow to reply) [NOT PROVIDING SUPPORT])
7
I don’t get your point, you can just rebuild the native client, you don’t need to rebuild everything, if that’s just what you want to change. Just hack native_client/client.cc and follow the docs to rebuild, you have everything required to link in native_client.tar.xz.
So… one small question, the way the trie is made is going to change again or only the usage code? I mean, will I able to use the same .trie file from v0.2 or will I regenerate it? and will it affect to the trained models I have now?
BR
This is not exactly that way, look at the beginning of deepspeech.cc file:
//TODO: use dynamic sample rate
const unsigned int SAMPLE_RATE = 16000;
const float AUDIO_WIN_LEN = 0.025f;
const float AUDIO_WIN_STEP = 0.01f;
const unsigned int AUDIO_WIN_LEN_SAMPLES = (unsigned int)(AUDIO_WIN_LEN * SAMPLE_RATE);
const unsigned int AUDIO_WIN_STEP_SAMPLES = (unsigned int)(AUDIO_WIN_STEP * SAMPLE_RATE);
Best Regards,
Mar
lissyx
((slow to reply) [NOT PROVIDING SUPPORT])
11
It’s being completely replaced, and the trie file will change
lissyx
((slow to reply) [NOT PROVIDING SUPPORT])
12
Ok, you changed the model, so it makes sense. May I ask why you still want to train on RPi3 ? It’s much much much much faster to train on a desktop GPU.
No, I am not training in a RPi3, but in Ubuntu or Mac, with desktop GPU.
The RPi3 is intended to be the inference platform where the trained (tiny) model will be executed, or better the Asus Tinkerboard.
I was just using python inference as a first prototype (before native_client recompilation), this is when I missed the libctc_decoder_with_kenlm.so in the taskcluster.
Thanks,
Mar
lissyx
((slow to reply) [NOT PROVIDING SUPPORT])
14
Ok, that makes sense. Cross-compiling it should not be very hard, nor very long, that’s the best I can suggest for the moment.