-
Notifications
You must be signed in to change notification settings - Fork 794
Add parakeet to examples/models #16349
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/16349
Note: Links to docs will display an error until the docs builds have been completed. ❗ 1 Active SEVsThere are 1 currently active SEVs. If your PR is affected, please view them below: ❌ 3 New Failures, 24 PendingAs of commit fa66bb4 with merge base 0ee2f49 ( NEW FAILURES - The following jobs have failed:
UNSTABLE - The following job is marked as unstable, possibly due to flakiness on trunk:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
This PR needs a
|
| # Find executorch libraries | ||
| list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_CURRENT_BINARY_DIR}/../../..) | ||
| find_package(executorch CONFIG REQUIRED FIND_ROOT_PATH_BOTH) | ||
| executorch_target_link_options_shared_lib(executorch) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think you need this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have ET as a dep which part are you saying I dont need?
| if(CMAKE_TOOLCHAIN_FILE MATCHES ".*(iOS|ios\.toolchain)\.cmake$") | ||
| set(CMAKE_TOOLCHAIN_IOS ON) | ||
| else() | ||
| set(CMAKE_TOOLCHAIN_IOS OFF) | ||
| endif() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this necessary?
|
|
||
| # Common ops for all builds | ||
| list(APPEND link_libraries optimized_native_cpu_ops_lib cpublas eigen_blas) | ||
| executorch_target_link_options_shared_lib(optimized_native_cpu_ops_lib) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably not needed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Its used in the preprocessor iiuc
|
|
||
|
|
||
| def load_model(): | ||
| import nemo.collections.asr as nemo_asr |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For this I think you need to add a install_requirements.txt in the folder so that people can install it
| std::vector<float> transposed_data(batch * time_steps * enc_dim); | ||
| const float* src = encoder_output.const_data_ptr<float>(); | ||
| for (int64_t t = 0; t < time_steps; t++) { | ||
| for (int64_t d = 0; d < enc_dim; d++) { | ||
| transposed_data[t * enc_dim + d] = src[d * time_steps + t]; | ||
| } | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting. Wondering why this can't be part of the model?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In abstract it probably /can/ be. I didnt want to do any rewrites though so I only exported functions that were already complete.
Specifically the parakeet-tdt-0.6b-v3 checkpoint
For the most part this was pretty fast and easy. 90% of the time was just me catching up on how the parakeet model was structured and what the decode loop looks like. An even better solution would be to merge this runner with the one we use for whisper asr.
Manually verified against no backend targeting (so Its kinda slow).