Gadersd / whisper-burn

A Rust implementation of OpenAI's Whisper model using the burn framework
MIT License
268 stars 33 forks source link

Upgrade to burn v13 and also add streaming mode #24

Open sudomonikers opened 7 months ago

sudomonikers commented 7 months ago

Upgrade to burn v13 and add streaming mode

antimora commented 6 months ago

Glad you're making these improvements and sharing them here with us. Hopefully this gets merged. Probably the PR description needs to be updated.

Another improvement could be made is to use Burn's PyTorchFileRecoder to load the model (I am the author of the recorder). The converter tool can load the pt file directly and save into Burn's format.

sudomonikers commented 6 months ago

Glad you're making these improvements and sharing them here with us. Hopefully this gets merged. Probably the PR description needs to be updated.

Another improvement could be made is to use Burn's PyTorchFileRecoder to load the model (I am the author of the recorder). The converter tool can load the pt file directly and save into Burn's format.

Hi @DavidGOrtega ! I recently just merged this into the main branch of the fork i created. Although it is not the main repo maybe the fork will be helpful for some people. I updated the README to reflect the work I did so please lmk if you have any questions!

https://github.com/sudomonikers/whisper-burn

Quackdoc commented 3 months ago

I am getting this issue when trying to run the pre-configed models, I am assuming that we need updated ones? If so can they be provided? installing tinygrad needs torch and this can all add up to be quite a lot, it was fine for me, but others maybe not so

mkdir -p models/tiny_en
cd models/tiny_en
wget https://huggingface.co/Gadersd/whisper-burn/resolve/main/tiny_en/tiny_en.cfg
wget https://huggingface.co/Gadersd/whisper-burn/resolve/main/tiny_en/tiny_en.mpk.gz
wget https://huggingface.co/Gadersd/whisper-burn/resolve/main/tiny_en/tokenizer.json
-> cargo run --release --bin stream tiny_en en
(next part has been formated with printf)

Failed to load whisper model file: Unknown("Unable to load record.
Metadata has a different int type: Actual \"f32\", Expected \"i32\"
Metadata has a different format: Actual \"burn_core::record::file::NamedMpkGzFileRecorder<burn_core::record::settings::FullPrecisionSettings>\", Expected \"burn_core::record::file::NamedMpkFileRecorder<burn_core::record::settings::FullPrecisionSettings>\"
Metadata has a different Burn version: Actual \"0.8.0\", Expected \"0.13.1\"
Error: Unknown(\"missing field `_b`\")")% 
Gadersd commented 1 month ago

I hesitate to merge this pull request because the total size is 244 MB while the original is 523 KB. Can you reduce the size?