Bug fixes, Runtime & Performance optimization #332
Open
DrHazemAli wants to merge 6 commits intoapple:mainfrom
Open
Bug fixes, Runtime & Performance optimization #332DrHazemAli wants to merge 6 commits intoapple:mainfrom
DrHazemAli wants to merge 6 commits intoapple:mainfrom
Conversation
Constructor (__init__ method): Added type checks and proper exception handling. Simplified repeated block creation using loops. Forward Method: Simplified the forward pass to ensure all operations are clear and efficient. General Code Clean-up: Removed redundant checks and code. Ensured all methods and attributes are clear and logically ordered.
Initialization: Added error handling for the init(mergesAt:vocabularyAt:) initializer. Removed force unwrapping to avoid runtime crashes. Tokenization: Simplified the tokenization process and ensured that padding is handled efficiently. Optimized the encode function for better performance by reducing redundant operations. Pair and Update Functions: Optimized pairs(for:) to use zip for creating pairs. Improved update(_:merging:) to handle edge cases more effectively and avoid unnecessary computations. Helper Functions: Added static helper functions for reading merges and vocabulary with proper error handling.
kiruthikpurpose
approved these changes
Oct 15, 2024
kiruthikpurpose
left a comment
There was a problem hiding this comment.
I like the way you contributed it. Seems like you removed all the comments and made it neat. Comments play an essential role for faster understanding without going their through each line of logic. Just add few comments to make sure to improve the readability. I appreciate your efforts!
Author
|
Alright |
Added a check in the encode(word:) method to handle cases where no valid pairs exist. Retained all comments from the original file to ensure readability and context.
Simplified ControlNetConditioningEmbedding block creation with list comprehension. Reduced redundancy in down_blocks and controlnet_down_blocks initialization. Retained all existing comments and added new ones to explain changes.
Author
|
@kiruthikpurpose can you look into this? |
Abdullah4345
approved these changes
Mar 21, 2025
Author
|
@kiruthikpurpose All set here, Could you go ahead and merge this PR? |
Author
|
@kiruthikpurpose Any updates? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request includes significant optimizations and bug fixes.
ControlNetModel
Constructor Improvements:
Added type checks and exception handling.
Simplified block creation with loops to reduce redundancy.
Forward Method:
Streamlined the forward pass to enhance performance and clarity.
Ensured efficient tensor operations and minimized unnecessary computations.
General Code Clean-up:
Removed redundant checks and streamlined the logic.
Organized methods and attributes for better readability and maintainability.
BPETokenizer
Initialization Improvements:
Enhanced error handling in the initializer init(mergesAt:vocabularyAt:).
Removed force unwrapping to prevent runtime crashes.
Tokenization Process:
Simplified the tokenization process to improve readability and efficiency.
Optimized the encode function to reduce redundant operations and improve performance.
Pair and Update Functions:
Utilized zip in pairs(for:) to create pairs more efficiently.
Refined update(_:merging:) to handle edge cases better and avoid unnecessary computations.
Helper Functions:
Introduced static helper functions for reading merges and vocabulary, including error handling.
These improvements ensure that the BPETokenizer class is more robust, efficient, and easier to maintain.
The changes address potential runtime errors and enhance the overall performance of the tokenizer.