-
Notifications
You must be signed in to change notification settings - Fork 1.2k
fix: funasr_onnx pass run_options to ort #2632
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
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.
Summary of Changes
Hello @599316527, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
I've implemented a fix that enhances the flexibility of ONNX Runtime inference within the funasr_onnx
utility. Previously, it wasn't possible to pass specific runtime options to the ONNX session during execution. This change introduces an optional run_options
parameter to the inference call, which is then directly forwarded to the underlying ONNX Runtime session. This allows users to configure advanced execution settings, such as thread management or memory allocation, for their ONNX models.
Highlights
- ONNX Runtime
run_options
: The__call__
method infunasr_onnx/utils/utils.py
now accepts an optionalrun_options
parameter. - ONNX Runtime Session Execution: This
run_options
parameter is subsequently passed directly to theself.session.run()
method, allowing for custom execution options during inference.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command>
or @gemini-code-assist <command>
. Below is a summary of the supported commands.
Feature | Command | Description |
---|---|---|
Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/
folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments or fill out our survey to provide feedback.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
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.
Code Review
This pull request correctly adds the run_options
parameter to the OrtInferSession.__call__
method, allowing it to be passed to the ONNX Runtime session. The implementation is sound. I have one suggestion to add a type hint for the new parameter to improve code clarity and adhere to PEP 8 styling.
@@ -221,10 +221,10 @@ def __init__(self, model_file, device_id=-1, intra_op_num_threads=4): | |||
RuntimeWarning, | |||
) | |||
|
|||
def __call__(self, input_content: List[Union[np.ndarray, np.ndarray]]) -> np.ndarray: | |||
def __call__(self, input_content: List[Union[np.ndarray, np.ndarray]], run_options = None) -> np.ndarray: |
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 consistency with other parameters and to improve code clarity, please add a type hint for the new run_options
parameter. Using Any
is appropriate here, as it's already imported from typing
. This also ensures the code conforms to PEP 8 style for annotated function parameters.1
Style Guide References
def __call__(self, input_content: List[Union[np.ndarray, np.ndarray]], run_options = None) -> np.ndarray: | |
def __call__(self, input_content: List[Union[np.ndarray, np.ndarray]], run_options: Any = None) -> np.ndarray: |
Footnotes
-
PEP 8 specifies that for function parameters with annotations, there should be spaces around the
=
for default values (e.g.,param: type = None
). For unannotated parameters, there should be no spaces (e.g.,param=None
). Adding the type hint makes the code style consistent and correct. ↩
No description provided.