Daniel Han
|
144b89a97e
|
Fix GRPO eval
|
2025-05-12 02:35:31 -07:00 |
|
Michael Han
|
8a055402a2
|
Merge pull request #2466 from mmathew23/fix_pop_token_type_ids
the pixtral vision notebook fails during inference
|
2025-05-09 14:57:31 -07:00 |
|
Daniel Han
|
9738cfdc52
|
Update __init__.py
|
2025-05-04 18:06:39 -07:00 |
|
Daniel Han
|
61b0770f0c
|
Better vllm deletion
|
2025-05-04 05:03:58 -07:00 |
|
Daniel Han
|
a2017aafec
|
Update _utils.py
|
2025-05-04 03:03:50 -07:00 |
|
jeromeku
|
2bfc39b638
|
MoE Kernel (#2465)
* add moe grouped gemm kernel
* add benchmark, README
* remove formatting from __init__.py
|
2025-05-02 20:59:23 -07:00 |
|
Mathew Mathew
|
7eb7915253
|
the pixtral vision notebook fails during inferenc with unused kwargs token_type_ids. This fixes the error
|
2025-05-02 21:40:15 -05:00 |
|
Daniel Han
|
ed9da22e0d
|
Bug fix
|
2025-05-02 14:06:14 -07:00 |
|
Daniel Han
|
32b7777fc8
|
Fix Qwen 3 mapping
|
2025-05-02 09:44:01 -07:00 |
|
Daniel Han
|
ff75eb700f
|
Qwen3 bug fixes
|
2025-05-02 07:18:33 -07:00 |
|
Daniel Han
|
4ec37758ec
|
Update mapper.py
|
2025-05-02 06:26:43 -07:00 |
|
Daniel Han
|
ae0e562610
|
Versioning
|
2025-05-02 05:05:09 -07:00 |
|
Daniel Han
|
eb9cc2e45d
|
Remove hf_xet warning
|
2025-05-02 04:23:53 -07:00 |
|
Daniel Han
|
5d41feccbc
|
Update __init__.py
|
2025-05-02 03:43:44 -07:00 |
|
Daniel Han
|
ad184a191d
|
Merge branch 'main' of https://github.com/unslothai/unsloth
|
2025-05-02 03:09:52 -07:00 |
|
Daniel Han
|
12821caf23
|
Qwen 3
|
2025-05-02 03:09:44 -07:00 |
|
cblomert
|
2ea34d47d5
|
Added k_norm & q_norm to merged Qwen3 layers (#2452)
|
2025-05-02 03:07:37 -07:00 |
|
Daniel Han
|
0096445910
|
Nightly (#2448)
* move float32
* Ensure trust_remote_code propegates down to unsloth_compile_transformers (#2075)
* Update _utils.py
* Show both `peft_error` and `autoconfig_error`, not just `autoconfig_error` (#2080)
When loading a PEFT model fails, only the `autoconfig_error` is shown. Instead of the `peft_error`, which is what really matters when we're trying to load a PEFT adapter, the user will see something like this:
```
RuntimeError: Unrecognized model in my_model. Should have a `model_type` key in its config.json, or contain one of the following strings in its name: albert, align, altclip, ...
```
This PR just changes it so `autoconfig_error` and `peft_error` are both displayed.
* fix error message (#2046)
* Update vision.py
* Update _utils.py
* Update pyproject.toml
* Update __init__.py
* Update __init__.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Remove double generate patch
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update mapper.py
* Update vision.py
* fix: config.torch_dtype in LlamaModel_fast_forward_inference (#2091)
* fix: config.torch_dtype in LlamaModel_fast_forward_inference
* Update llama.py
* update for consistency
---------
Co-authored-by: Daniel Han <danielhanchen@gmail.com>
* versioning
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* model_type_arch
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update loader.py
* check
* Update _utils.py
* Update loader.py
* Update loader.py
* Remove prints
* Update README.md
typo
* Update _utils.py
* Update _utils.py
* versioning
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update vision.py
* HF Transfer
* fix(utils): add missing importlib import to fix NameError (#2134)
This commit fixes a NameError that occurs when `importlib` is referenced in _utils.py
without being imported, especially when UNSLOTH_USE_MODELSCOPE=1 is enabled.
By adding the missing import statement, the code will no longer throw a NameError.
* Add QLoRA Train and Merge16bit Test (#2130)
* add reference and unsloth lora merging tests
* add test / dataset printing to test scripts
* allow running tests from repo root
* add qlora test readme
* more readme edits
* ruff formatting
* additional readme comments
* forgot to add actual tests
* add apache license
* Update pyproject.toml
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update loader.py
* Update loader.py
* Revert
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Bug fix
* Update mapper.py
* check SDPA for Mistral 3, Pixtral
* Update vision.py
* Versioning
* Update rl_replacements.py
* Update README.md
* add model registry
* move hf hub utils to unsloth/utils
* refactor global model info dicts to dataclasses
* fix dataclass init
* fix llama registration
* remove deprecated key function
* start registry reog
* add llama vision
* quant types -> Enum
* remap literal quant types to QuantType Enum
* add llama model registration
* fix quant tag mapping
* add qwen2.5 models to registry
* add option to include original model in registry
* handle quant types per model size
* separate registration of base and instruct llama3.2
* add QwenQVQ to registry
* add gemma3 to registry
* add phi
* add deepseek v3
* add deepseek r1 base
* add deepseek r1 zero
* add deepseek distill llama
* add deepseek distill models
* remove redundant code when constructing model names
* add mistral small to registry
* rename model registration methods
* rename deepseek registration methods
* refactor naming for mistral and phi
* add global register models
* refactor model registration tests for new registry apis
* add model search method
* remove deprecated registration api
* add quant type test
* add registry readme
* make llama registration more specific
* clear registry when executing individual model registration file
* more registry readme updates
* Update _auto_install.py
* Llama4
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Synthetic data
* Update mapper.py
* Xet and Synthetic
* Update synthetic.py
* Update loader.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update pyproject.toml
* Delete .gitignore
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update _utils.py
* Update pyproject.toml
* Update synthetic.py
* Update synthetic.py
---------
Co-authored-by: Xander Hawthorne <167850078+CuppaXanax@users.noreply.github.com>
Co-authored-by: Isaac Breen <isaac.breen@icloud.com>
Co-authored-by: Kareem <81531392+KareemMusleh@users.noreply.github.com>
Co-authored-by: lurf21 <93976703+lurf21@users.noreply.github.com>
Co-authored-by: Jack Shi Wei Lun <87535974+jackswl@users.noreply.github.com>
Co-authored-by: naliazheli <nalia0316@gmail.com>
Co-authored-by: jeromeku <jerome.ku@gmail.com>
Co-authored-by: Michael Han <107991372+shimmyshimmer@users.noreply.github.com>
|
2025-05-01 07:42:08 -07:00 |
|
Daniel Han
|
3ea50e5ead
|
Update mapper.py
|
2025-05-01 03:07:56 -07:00 |
|
Daniel Han
|
60aae9aad4
|
Qwen 3, Bug Fixes (#2445)
* bug fix #2008 (#2039)
* fix (#2051)
* Update loader.py
* Update pyproject.toml
* Update pyproject.toml
* Update vision.py
* more prints
* Update loader.py
* LoRA 16bit fix
* Update vision.py
* Update vision.py
* Update _utils.py
* Update vision.py
* move forced float32
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Update _utils.py
* move print
* Update _utils.py
* disable bfloat16
* Fix forced float32
* move float32
* Ensure trust_remote_code propegates down to unsloth_compile_transformers (#2075)
* Update _utils.py
* Show both `peft_error` and `autoconfig_error`, not just `autoconfig_error` (#2080)
When loading a PEFT model fails, only the `autoconfig_error` is shown. Instead of the `peft_error`, which is what really matters when we're trying to load a PEFT adapter, the user will see something like this:
```
RuntimeError: Unrecognized model in my_model. Should have a `model_type` key in its config.json, or contain one of the following strings in its name: albert, align, altclip, ...
```
This PR just changes it so `autoconfig_error` and `peft_error` are both displayed.
* fix error message (#2046)
* Update vision.py
* Update _utils.py
* Update pyproject.toml
* Update __init__.py
* Update __init__.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Remove double generate patch
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update mapper.py
* Update vision.py
* fix: config.torch_dtype in LlamaModel_fast_forward_inference (#2091)
* fix: config.torch_dtype in LlamaModel_fast_forward_inference
* Update llama.py
* update for consistency
---------
Co-authored-by: Daniel Han <danielhanchen@gmail.com>
* versioning
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* model_type_arch
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update loader.py
* check
* Update _utils.py
* Update loader.py
* Update loader.py
* Remove prints
* Update README.md
typo
* Update _utils.py
* Update _utils.py
* versioning
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update vision.py
* HF Transfer
* fix(utils): add missing importlib import to fix NameError (#2134)
This commit fixes a NameError that occurs when `importlib` is referenced in _utils.py
without being imported, especially when UNSLOTH_USE_MODELSCOPE=1 is enabled.
By adding the missing import statement, the code will no longer throw a NameError.
* Add QLoRA Train and Merge16bit Test (#2130)
* add reference and unsloth lora merging tests
* add test / dataset printing to test scripts
* allow running tests from repo root
* add qlora test readme
* more readme edits
* ruff formatting
* additional readme comments
* forgot to add actual tests
* add apache license
* Update pyproject.toml
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update loader.py
* Update loader.py
* Revert
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Bug fix
* Update mapper.py
* check SDPA for Mistral 3, Pixtral
* Update vision.py
* Versioning
* Update rl_replacements.py
* Update README.md
* add model registry
* move hf hub utils to unsloth/utils
* refactor global model info dicts to dataclasses
* fix dataclass init
* fix llama registration
* remove deprecated key function
* start registry reog
* add llama vision
* quant types -> Enum
* remap literal quant types to QuantType Enum
* add llama model registration
* fix quant tag mapping
* add qwen2.5 models to registry
* add option to include original model in registry
* handle quant types per model size
* separate registration of base and instruct llama3.2
* add QwenQVQ to registry
* add gemma3 to registry
* add phi
* add deepseek v3
* add deepseek r1 base
* add deepseek r1 zero
* add deepseek distill llama
* add deepseek distill models
* remove redundant code when constructing model names
* add mistral small to registry
* rename model registration methods
* rename deepseek registration methods
* refactor naming for mistral and phi
* add global register models
* refactor model registration tests for new registry apis
* add model search method
* remove deprecated registration api
* add quant type test
* add registry readme
* make llama registration more specific
* clear registry when executing individual model registration file
* more registry readme updates
* Update _auto_install.py
* Llama4
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Synthetic data
* Update mapper.py
* Xet and Synthetic
* Update synthetic.py
* Update loader.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update synthetic.py
* Update pyproject.toml
* Delete .gitignore
---------
Co-authored-by: Mukkesh Ganesh <mukmckenzie@gmail.com>
Co-authored-by: Kareem <81531392+KareemMusleh@users.noreply.github.com>
Co-authored-by: Xander Hawthorne <167850078+CuppaXanax@users.noreply.github.com>
Co-authored-by: Isaac Breen <isaac.breen@icloud.com>
Co-authored-by: lurf21 <93976703+lurf21@users.noreply.github.com>
Co-authored-by: Jack Shi Wei Lun <87535974+jackswl@users.noreply.github.com>
Co-authored-by: naliazheli <nalia0316@gmail.com>
Co-authored-by: jeromeku <jerome.ku@gmail.com>
Co-authored-by: Michael Han <107991372+shimmyshimmer@users.noreply.github.com>
|
2025-04-30 22:38:39 -07:00 |
|
Daniel Han
|
7e1b531645
|
Merge branch 'main' of https://github.com/unslothai/unsloth
|
2025-04-30 07:31:34 -07:00 |
|
Etherll
|
d70a695f39
|
Update mapper.py
|
2025-04-30 14:39:23 +03:00 |
|
Daniel Han
|
b17f0397e4
|
Update synthetic.py
|
2025-04-29 23:48:33 -07:00 |
|
Daniel Han
|
776b83b0e2
|
Update synthetic.py
|
2025-04-29 23:47:09 -07:00 |
|
Michael Han
|
2a65066e5a
|
Merge pull request #2436 from Datta0/qwen3_support
Qwen3 inference fixes
|
2025-04-29 20:18:03 -07:00 |
|
Dattu Sharma
|
d2cdb85404
|
Qwen3 inference fixes
|
2025-04-30 03:03:38 +00:00 |
|
Daniel Han
|
71d8896f39
|
Update _utils.py
|
2025-04-29 11:43:24 -07:00 |
|
Daniel Han
|
041b6ea2f2
|
Update synthetic.py
|
2025-04-29 11:43:13 -07:00 |
|
Daniel Han
|
293f1f2ec9
|
Create __init__.py
|
2025-04-29 11:18:03 -07:00 |
|
Daniel Han
|
86bdc8235a
|
Create synthetic.py
|
2025-04-29 11:17:10 -07:00 |
|
Daniel Han
|
156e93ccae
|
Versioning
|
2025-04-29 09:50:51 -07:00 |
|
Daniel Han
|
5177df5f78
|
Update mapper.py
|
2025-04-29 00:50:46 -07:00 |
|
Michael Han
|
06349a5d00
|
Merge pull request #2427 from Datta0/qwen3_support
Fixup qwen3 qk norm
|
2025-04-28 23:45:21 -07:00 |
|
Dattu Sharma
|
17980be27e
|
fixup qwen3 qk norm
Signed-off-by: Dattu Sharma <venkatadattasainimmaturi@gmail.com>
|
2025-04-29 06:22:07 +00:00 |
|
Michael Han
|
576f1857ac
|
Merge pull request #2423 from Datta0/qwen3_support
Fixup qwen3
|
2025-04-28 19:32:45 -07:00 |
|
Dattu Sharma
|
c2475d7fd1
|
fixup qwen3
Signed-off-by: Dattu Sharma <venkatadattasainimmaturi@gmail.com>
|
2025-04-29 02:31:55 +00:00 |
|
Michael Han
|
f9d626c85c
|
Merge pull request #2211 from Datta0/qwen3_support
[WIP] Initial support for Qwen3. Will udpate when the model is released
|
2025-04-28 19:05:40 -07:00 |
|
Daniel Han
|
3910ef099b
|
Versioning
|
2025-04-26 03:44:21 -07:00 |
|
Erland366
|
c1155dceef
|
feat: Add validation for 4bit save method and implement corresponding error handling
|
2025-04-19 20:36:30 +00:00 |
|
Michael Han
|
d45997d9bd
|
Revert "fix: improved error handling when llama.cpp build fails"
|
2025-04-17 20:33:25 -07:00 |
|
Richi
|
4d944511e4
|
fix: improved error handling when llama.cpp build fails
|
2025-04-16 09:17:25 +02:00 |
|
Etherll
|
f6f5e6397a
|
feat: Support custom auto_model for wider model compatibility (Whisper, Bert,etc) & attn_implementation support (#2263)
* Update loader.py
* Update vision.py
* Update vision.py
fix attn_implementation
* Refactor: Improve parameter handling and checks in loader/vision
|
2025-04-14 14:10:05 -07:00 |
|
datta0
|
fa1144171c
|
add comments and use modified function
|
2025-04-02 06:49:06 +00:00 |
|
datta0
|
53d820d31e
|
Enable qwen3 and qwen3moe
|
2025-03-28 05:58:01 +00:00 |
|
datta0
|
28e4c45507
|
Add Qwen3Moe and necessitate transformers version
|
2025-03-28 05:50:43 +00:00 |
|
datta0
|
d3ba5ef69a
|
Initial support for Qwen3. Will udpate when the model is released
|
2025-03-27 14:35:57 +00:00 |
|
Daniel Han
|
158b25c30d
|
Bug Fixes (#2197)
* Update loader.py
* model names
* Gemma 3 chat template
* Bug fixes
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update llama.py
* Update llama.py
* Update rl.py
* Update chat_templates.py
* Update chat_templates.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update loader.py
* Update vision.py
* Update vision.py
* Revert
* Update _utils.py
* forced precision
* Autocast
* Update vision.py
* Update vision.py
* Update rl.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl.py
* vLLM fixes
* constexpr
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Update save.py
* New models
* Triton windows update (#1976)
* Update pyproject.toml
* Update README.md
* Update RMS LayerNorm implementation, and list compr. change in chat templates (#1974)
* Update RMS LayerNorm implementation with optimizations and testing suite
* perf: optimize list comprehension in get_ollama_eos_tokens
* Update Zoo
* Update llama.py
* Update llama.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* grpo fix
* Update rl_replacements.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* Update mapper.py
* Update vision.py
* Update vision.py
* Update loader.py
* Update vision.py
* Update save.py
* Update save.py
* Update save.py
* Update rl.py
* Update _utils.py
* Version
* Update pyproject.toml
* Update llama.py
* Update llama.py
* bug fix #2008 (#2039)
* fix (#2051)
* Update loader.py
* Update pyproject.toml
* Update pyproject.toml
* Update vision.py
* more prints
* Update loader.py
* LoRA 16bit fix
* Update vision.py
* Update vision.py
* Update _utils.py
* Update vision.py
* move forced float32
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Update _utils.py
* move print
* Update _utils.py
* disable bfloat16
* Fix forced float32
* move float32
* Ensure trust_remote_code propegates down to unsloth_compile_transformers (#2075)
* Update _utils.py
* Show both `peft_error` and `autoconfig_error`, not just `autoconfig_error` (#2080)
When loading a PEFT model fails, only the `autoconfig_error` is shown. Instead of the `peft_error`, which is what really matters when we're trying to load a PEFT adapter, the user will see something like this:
```
RuntimeError: Unrecognized model in my_model. Should have a `model_type` key in its config.json, or contain one of the following strings in its name: albert, align, altclip, ...
```
This PR just changes it so `autoconfig_error` and `peft_error` are both displayed.
* fix error message (#2046)
* Update vision.py
* Update _utils.py
* Update pyproject.toml
* Update __init__.py
* Update __init__.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Remove double generate patch
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update mapper.py
* Update vision.py
* fix: config.torch_dtype in LlamaModel_fast_forward_inference (#2091)
* fix: config.torch_dtype in LlamaModel_fast_forward_inference
* Update llama.py
* update for consistency
---------
Co-authored-by: Daniel Han <danielhanchen@gmail.com>
* versioning
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* model_type_arch
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update loader.py
* check
* Update _utils.py
* Update loader.py
* Update loader.py
* Remove prints
* Update _utils.py
* Update _utils.py
* versioning
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update vision.py
* HF Transfer
* fix(utils): add missing importlib import to fix NameError (#2134)
This commit fixes a NameError that occurs when `importlib` is referenced in _utils.py
without being imported, especially when UNSLOTH_USE_MODELSCOPE=1 is enabled.
By adding the missing import statement, the code will no longer throw a NameError.
* Add QLoRA Train and Merge16bit Test (#2130)
* add reference and unsloth lora merging tests
* add test / dataset printing to test scripts
* allow running tests from repo root
* add qlora test readme
* more readme edits
* ruff formatting
* additional readme comments
* forgot to add actual tests
* add apache license
* Update pyproject.toml
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update loader.py
* Update loader.py
* Revert
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Bug fix
* Update mapper.py
* check SDPA for Mistral 3, Pixtral
* Update vision.py
* Versioning
* Update rl_replacements.py
---------
Co-authored-by: Akshay Behl <126911424+Captain-T2004@users.noreply.github.com>
Co-authored-by: Nino Risteski <95188570+NinoRisteski@users.noreply.github.com>
Co-authored-by: Mukkesh Ganesh <mukmckenzie@gmail.com>
Co-authored-by: Kareem <81531392+KareemMusleh@users.noreply.github.com>
Co-authored-by: Xander Hawthorne <167850078+CuppaXanax@users.noreply.github.com>
Co-authored-by: Isaac Breen <isaac.breen@icloud.com>
Co-authored-by: lurf21 <93976703+lurf21@users.noreply.github.com>
Co-authored-by: naliazheli <nalia0316@gmail.com>
Co-authored-by: jeromeku <jerome.ku@gmail.com>
|
2025-03-26 05:19:48 -07:00 |
|
Daniel Han
|
05baf282c7
|
Fix Transformers 4.45 (#2151)
* Update pyproject.toml
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Batch samples
* Update loader.py
* Update loader.py
* Update loader.py
* Update loader.py
* Update _utils.py
* Update loader.py
* Update vision.py
* Update loader.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update mapper.py
* Update vision.py
* Temporary patches
* Update loader.py
* model names
* Gemma 3 chat template
* Bug fixes
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update llama.py
* Update llama.py
* Update rl.py
* Update chat_templates.py
* Update chat_templates.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update loader.py
* Update vision.py
* Update vision.py
* Revert
* Update _utils.py
* forced precision
* Autocast
* Update vision.py
* Update vision.py
* Update rl.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl.py
* vLLM fixes
* constexpr
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Update save.py
* New models
* Triton windows update (#1976)
* Update pyproject.toml
* Update README.md
* Update RMS LayerNorm implementation, and list compr. change in chat templates (#1974)
* Update RMS LayerNorm implementation with optimizations and testing suite
* perf: optimize list comprehension in get_ollama_eos_tokens
* Update Zoo
* Update llama.py
* Update llama.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* grpo fix
* Update rl_replacements.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* Update mapper.py
* Update vision.py
* Update vision.py
* Update loader.py
* Update vision.py
* Update save.py
* Update save.py
* Update save.py
* Update rl.py
* Update _utils.py
* Version
* Update pyproject.toml
* Update llama.py
* Update llama.py
* bug fix #2008 (#2039)
* fix (#2051)
* Update loader.py
* Update pyproject.toml
* Update pyproject.toml
* Update vision.py
* more prints
* Update loader.py
* LoRA 16bit fix
* Update vision.py
* Update vision.py
* Update _utils.py
* Update vision.py
* move forced float32
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Update _utils.py
* move print
* Update _utils.py
* disable bfloat16
* Fix forced float32
* move float32
* Ensure trust_remote_code propegates down to unsloth_compile_transformers (#2075)
* Update _utils.py
* Show both `peft_error` and `autoconfig_error`, not just `autoconfig_error` (#2080)
When loading a PEFT model fails, only the `autoconfig_error` is shown. Instead of the `peft_error`, which is what really matters when we're trying to load a PEFT adapter, the user will see something like this:
```
RuntimeError: Unrecognized model in my_model. Should have a `model_type` key in its config.json, or contain one of the following strings in its name: albert, align, altclip, ...
```
This PR just changes it so `autoconfig_error` and `peft_error` are both displayed.
* fix error message (#2046)
* Update vision.py
* Update _utils.py
* Update pyproject.toml
* Update __init__.py
* Update __init__.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Remove double generate patch
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update mapper.py
* Update vision.py
* fix: config.torch_dtype in LlamaModel_fast_forward_inference (#2091)
* fix: config.torch_dtype in LlamaModel_fast_forward_inference
* Update llama.py
* update for consistency
---------
Co-authored-by: Daniel Han <danielhanchen@gmail.com>
* versioning
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* model_type_arch
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update loader.py
* check
* Update _utils.py
* Update loader.py
* Update loader.py
* Remove prints
* Update _utils.py
* Update _utils.py
* versioning
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update vision.py
* HF Transfer
* fix(utils): add missing importlib import to fix NameError (#2134)
This commit fixes a NameError that occurs when `importlib` is referenced in _utils.py
without being imported, especially when UNSLOTH_USE_MODELSCOPE=1 is enabled.
By adding the missing import statement, the code will no longer throw a NameError.
* Add QLoRA Train and Merge16bit Test (#2130)
* add reference and unsloth lora merging tests
* add test / dataset printing to test scripts
* allow running tests from repo root
* add qlora test readme
* more readme edits
* ruff formatting
* additional readme comments
* forgot to add actual tests
* add apache license
* Update pyproject.toml
---------
Co-authored-by: Akshay Behl <126911424+Captain-T2004@users.noreply.github.com>
Co-authored-by: Nino Risteski <95188570+NinoRisteski@users.noreply.github.com>
Co-authored-by: Mukkesh Ganesh <mukmckenzie@gmail.com>
Co-authored-by: Kareem <81531392+KareemMusleh@users.noreply.github.com>
Co-authored-by: Xander Hawthorne <167850078+CuppaXanax@users.noreply.github.com>
Co-authored-by: Isaac Breen <isaac.breen@icloud.com>
Co-authored-by: lurf21 <93976703+lurf21@users.noreply.github.com>
Co-authored-by: naliazheli <nalia0316@gmail.com>
Co-authored-by: jeromeku <jerome.ku@gmail.com>
|
2025-03-21 17:55:12 -07:00 |
|
Daniel Han
|
65b8975c5f
|
Small fix (#2114)
* versioning
* Update _utils.py
* Update llama.py
* Update llama.py
* Bug fixes
* FastModel
* __doc__
* Update vision.py
* Update loader.py
* Update loader.py
* Update loader.py
* version
* move use_modelscope to _utils (#1938)
* move use_modelscope to _utils
* Update _utils.py
* Update loader.py
---------
Co-authored-by: Daniel Han <danielhanchen@gmail.com>
* Don't use revision when loading model_config and is_peft=True (#1949)
* More syntax warnings (#1944)
* move use_modelscope to _utils
* fix
* Update _utils.py
* Update loader.py
---------
Co-authored-by: Daniel Han <danielhanchen@gmail.com>
* Update loader.py
* Full finetuning and other fixes
* UNSLOTH_ENABLE_FULL_FINETUNING
* Update loader.py
* Update loader.py
* Update loader.py
* Update vision.py
* Update vision.py
* full finetuning
* Update loader.py
* Update loader.py
* Update loader.py
* Update _utils.py
* max_seq_length
* Update rl.py
* Update rl.py
* Update rl.py
* Update pyproject.toml
* AutoModelForImageTextToText
* Update mapper.py
* Update pyproject.toml
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Batch samples
* Update loader.py
* Update loader.py
* Update loader.py
* Update loader.py
* Update _utils.py
* Update loader.py
* Update vision.py
* Update loader.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update mapper.py
* Update vision.py
* Temporary patches
* Update loader.py
* model names
* Gemma 3 chat template
* Bug fixes
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update llama.py
* Update llama.py
* Update rl.py
* Update chat_templates.py
* Update chat_templates.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update loader.py
* Update vision.py
* Update vision.py
* Revert
* Update _utils.py
* forced precision
* Autocast
* Update vision.py
* Update vision.py
* Update rl.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl.py
* vLLM fixes
* constexpr
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Update save.py
* New models
* Triton windows update (#1976)
* Update pyproject.toml
* Update README.md
* Update RMS LayerNorm implementation, and list compr. change in chat templates (#1974)
* Update RMS LayerNorm implementation with optimizations and testing suite
* perf: optimize list comprehension in get_ollama_eos_tokens
* Update Zoo
* Update llama.py
* Update llama.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* grpo fix
* Update rl_replacements.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* Update mapper.py
* Update vision.py
* Update vision.py
* Update loader.py
* Update vision.py
* Update save.py
* Update save.py
* Update save.py
* Update rl.py
* Update _utils.py
* Version
* Update pyproject.toml
* Update llama.py
* Update llama.py
* bug fix #2008 (#2039)
* fix (#2051)
* Update loader.py
* Update pyproject.toml
* Update pyproject.toml
* Update vision.py
* more prints
* Update loader.py
* LoRA 16bit fix
* Update vision.py
* Update vision.py
* Update _utils.py
* Update vision.py
* move forced float32
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Update _utils.py
* move print
* Update _utils.py
* disable bfloat16
* Fix forced float32
* move float32
* Ensure trust_remote_code propegates down to unsloth_compile_transformers (#2075)
* Update _utils.py
* Show both `peft_error` and `autoconfig_error`, not just `autoconfig_error` (#2080)
When loading a PEFT model fails, only the `autoconfig_error` is shown. Instead of the `peft_error`, which is what really matters when we're trying to load a PEFT adapter, the user will see something like this:
```
RuntimeError: Unrecognized model in my_model. Should have a `model_type` key in its config.json, or contain one of the following strings in its name: albert, align, altclip, ...
```
This PR just changes it so `autoconfig_error` and `peft_error` are both displayed.
* fix error message (#2046)
* Update vision.py
* Update _utils.py
* Update pyproject.toml
* Update __init__.py
* Update __init__.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Remove double generate patch
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update mapper.py
* Update vision.py
* fix: config.torch_dtype in LlamaModel_fast_forward_inference (#2091)
* fix: config.torch_dtype in LlamaModel_fast_forward_inference
* Update llama.py
* update for consistency
---------
Co-authored-by: Daniel Han <danielhanchen@gmail.com>
* versioning
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* model_type_arch
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update loader.py
* check
* Update _utils.py
* Update loader.py
* Update loader.py
* Remove prints
---------
Co-authored-by: Kareem <81531392+KareemMusleh@users.noreply.github.com>
Co-authored-by: Wilson Wu <140025193+wiwu2390@users.noreply.github.com>
Co-authored-by: Akshay Behl <126911424+Captain-T2004@users.noreply.github.com>
Co-authored-by: Nino Risteski <95188570+NinoRisteski@users.noreply.github.com>
Co-authored-by: Mukkesh Ganesh <mukmckenzie@gmail.com>
Co-authored-by: Xander Hawthorne <167850078+CuppaXanax@users.noreply.github.com>
Co-authored-by: Isaac Breen <isaac.breen@icloud.com>
Co-authored-by: lurf21 <93976703+lurf21@users.noreply.github.com>
|
2025-03-19 08:45:52 -07:00 |
|
Daniel Han
|
7b8afdf766
|
Bug fixes (#2113)
* Update rl.py
* Update rl.py
* Update _utils.py
* Update __init__.py
* Update _utils.py
* Version
* versioning
* Update _utils.py
* Update llama.py
* Update llama.py
* Bug fixes
* FastModel
* __doc__
* Update vision.py
* Update loader.py
* Update loader.py
* Update loader.py
* version
* move use_modelscope to _utils (#1938)
* move use_modelscope to _utils
* Update _utils.py
* Update loader.py
---------
Co-authored-by: Daniel Han <danielhanchen@gmail.com>
* Don't use revision when loading model_config and is_peft=True (#1949)
* More syntax warnings (#1944)
* move use_modelscope to _utils
* fix
* Update _utils.py
* Update loader.py
---------
Co-authored-by: Daniel Han <danielhanchen@gmail.com>
* Update loader.py
* Full finetuning and other fixes
* UNSLOTH_ENABLE_FULL_FINETUNING
* Update loader.py
* Update loader.py
* Update loader.py
* Update vision.py
* Update vision.py
* full finetuning
* Update loader.py
* Update loader.py
* Update loader.py
* Update _utils.py
* max_seq_length
* Update rl.py
* Update rl.py
* Update rl.py
* Update pyproject.toml
* AutoModelForImageTextToText
* Update mapper.py
* Update pyproject.toml
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Batch samples
* Update loader.py
* Update loader.py
* Update loader.py
* Update loader.py
* Update _utils.py
* Update loader.py
* Update vision.py
* Update loader.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update mapper.py
* Update vision.py
* Temporary patches
* Update loader.py
* model names
* Gemma 3 chat template
* Bug fixes
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update llama.py
* Update llama.py
* Update rl.py
* Update chat_templates.py
* Update chat_templates.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update loader.py
* Update vision.py
* Update vision.py
* Revert
* Update _utils.py
* forced precision
* Autocast
* Update vision.py
* Update vision.py
* Update rl.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl.py
* vLLM fixes
* constexpr
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update llama.py
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Update save.py
* New models
* Triton windows update (#1976)
* Update pyproject.toml
* Update README.md
* Update RMS LayerNorm implementation, and list compr. change in chat templates (#1974)
* Update RMS LayerNorm implementation with optimizations and testing suite
* perf: optimize list comprehension in get_ollama_eos_tokens
* Update Zoo
* Update llama.py
* Update llama.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* grpo fix
* Update rl_replacements.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* Update mapper.py
* Update vision.py
* Update vision.py
* Update loader.py
* Update vision.py
* Update save.py
* Update save.py
* Update save.py
* Update rl.py
* Update _utils.py
* Version
* Update pyproject.toml
* Update llama.py
* Update llama.py
* bug fix #2008 (#2039)
* fix (#2051)
* Update loader.py
* Update pyproject.toml
* Update pyproject.toml
* Update vision.py
* more prints
* Update loader.py
* LoRA 16bit fix
* Update vision.py
* Update vision.py
* Update _utils.py
* Update vision.py
* move forced float32
* Update _utils.py
* Update _utils.py
* Update _utils.py
* Update _utils.py
* move print
* Update _utils.py
* disable bfloat16
* Fix forced float32
* move float32
* Ensure trust_remote_code propegates down to unsloth_compile_transformers (#2075)
* Update _utils.py
* Show both `peft_error` and `autoconfig_error`, not just `autoconfig_error` (#2080)
When loading a PEFT model fails, only the `autoconfig_error` is shown. Instead of the `peft_error`, which is what really matters when we're trying to load a PEFT adapter, the user will see something like this:
```
RuntimeError: Unrecognized model in my_model. Should have a `model_type` key in its config.json, or contain one of the following strings in its name: albert, align, altclip, ...
```
This PR just changes it so `autoconfig_error` and `peft_error` are both displayed.
* fix error message (#2046)
* Update vision.py
* Update _utils.py
* Update pyproject.toml
* Update __init__.py
* Update __init__.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update rl_replacements.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* Update rl_replacements.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Remove double generate patch
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update mapper.py
* Update vision.py
* fix: config.torch_dtype in LlamaModel_fast_forward_inference (#2091)
* fix: config.torch_dtype in LlamaModel_fast_forward_inference
* Update llama.py
* update for consistency
---------
Co-authored-by: Daniel Han <danielhanchen@gmail.com>
* versioning
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* model_type_arch
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
* Update vision.py
---------
Co-authored-by: Kareem <81531392+KareemMusleh@users.noreply.github.com>
Co-authored-by: Wilson Wu <140025193+wiwu2390@users.noreply.github.com>
Co-authored-by: Akshay Behl <126911424+Captain-T2004@users.noreply.github.com>
Co-authored-by: Nino Risteski <95188570+NinoRisteski@users.noreply.github.com>
Co-authored-by: Mukkesh Ganesh <mukmckenzie@gmail.com>
Co-authored-by: Xander Hawthorne <167850078+CuppaXanax@users.noreply.github.com>
Co-authored-by: Isaac Breen <isaac.breen@icloud.com>
Co-authored-by: lurf21 <93976703+lurf21@users.noreply.github.com>
|
2025-03-19 07:12:08 -07:00 |
|