Description:
Purpose: This PR improves the convert.py file by adding error handling, optimizing code, and enhancing documentation.
Changes: Added error handling, optimized loops, and added type hints and comments.
Problem: Addresses potential runtime errors and improves code readability and maintainability.
Testing: The changes were tested locally to ensure functionality remains intact.
* handle missing scale_inv_name
Fixed an issue where `weight` and `weight_scale_inv` (e.g. `model.layers.39.mlp.experts.92.gate_proj.weight` and `model.layers.39.mlp.experts.92.gate_proj.weight_scale_inv`) were not in the same SafeTensor, causing an assertion error due to scale_inv_name not being in the state_dict.
* sort filename to reduce memory costs
* Add CUDA cache clearing in memory management
Added torch.cuda.empty_cache() to free up unused memory on the GPU,