ROCm progress test: model a feed that resolves the no-torch pair (#16542)
Summary
Repo tests (CPU, studio-install)is still red on main after #16532. That PR fixed the shared no-torch harness intest_no_torch_filtering.py. A second test class has the same problem: it runsinstall_python_stack()in no-torch mode withsubprocess.runmocked. It failed on #16534 and #16527, both of which ran on top of #16532:tests/studio/install/test_rocm_support.py::TestProgressStepCountMatchesTotal::test_progress_reaches_total_without_torch[linux-False] tests/studio/install/test_rocm_support.py::TestProgressStepCountMatchesTotal::test_progress_reaches_total_without_torch[windows-False] tests/studio/install/test_rocm_support.py::TestProgressStepCountMatchesTotal::test_progress_reaches_total_without_torch[macos_arm-False] E RuntimeError: Could not resolve a compatible unsloth / unsloth-zoo pair for no-torch modeThe cause is the same as in #16532. Since #16157, a no-torch install resolves a compatible Unsloth / Zoo pair from wheel metadata, and it refuses only when the feed has no such pair. That is right for users, since such an install would fail anyway.
_run_stackmockssubprocess.runto return nothing, so the probe finds no metadata and the full-pass (SKIP_STUDIO_BASE=0) cases stop before they reach the progress count they check.Change
tests/studio/install/test_rocm_support.py,TestProgressStepCountMatchesTotal._run_stackonly:_no_torch_pairreturns a compatible pair, which models a feed that serves one. This is the same model as #16532.
NO_TORCHand the new patch share onepatch.multiple. Thatwithstatement already holds 20 context managers, which is Python’s limit on nested blocks: a 21stpatch.objectmakes the whole file fail to import withSyntaxError: too many statically nested blocks. The patched values are otherwise unchanged.Testing
tests/studio/install/test_rocm_support.py:
- main: 3 failed, 686 passed (the three cases above);
- this branch: 689 passed, 2 skipped.
I also ran
tests/studio/installplustests/pythonon this branch. “Could not resolve a compatible” no longer appears anywhere. 22 other tests fail locally, intest_dependency_pass_skips.pyandtest_e2e_no_torch_sandbox.py, and they fail the same way on main here. CI passes them in the same shard, so the cause is this host’s environment.
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802047560号
Unsloth is the first desktop app to run and train models.
Features • Quickstart • Notebooks • Documentation
⚡ Get started
Download the native Unsloth Desktop app for your operating system:
Download from Unsloth or GitHub Releases.
Or if you prefer to install manually:
macOS, Linux, WSL:
Windows:
Docker:
The Unsloth Docker image
unsloth/unslothis available on Docker. Read guide.Homebrew:
Winget (Windows):
Community:
⭐ Features
Unsloth works on Windows, Linux, WSL and macOS. We support Multi GPU setups, NVIDIA, AMD, Intel GPUs, CPUs and the Vulkan backend.
Run & Build with AI
Train & Deploy
🚀 Unsloth Start
Unsloth Start connects Claude Code, Codex and other agents to local models with one command.
unsloth start claudeunsloth start codexunsloth start vscodeunsloth start dshunsloth start opencodeunsloth start hermesunsloth start piunsloth start openclawunsloth start vibe📥 Install
Unsloth can be used in three ways: Unsloth Desktop, the desktop app; Unsloth Studio, the web UI; or Unsloth Core, the code based version.
Unsloth Desktop (recommended)
Unsloth Studio (web UI)
macOS, Linux, WSL:
Windows:
Homebrew:
Docker
Use our Docker image
unsloth/unsloth. On Linux and Mac, set up GPU access once withFor Windows instructions and more information, read our Unsloth Docker Guide.
Linux / WSL (Bash):
See Docker docs for more information. For notebooks only, use the
unsloth/unsloth:coretag; all tags and options are on Docker Hub.For AMD there is a separate image:
unsloth/unsloth-rocm.Launch
HTTP Secure Deployment
Remote HTTPS & LAN Access
Server-side tools are on by default - so be careful! Keep your password safe, or use
--disable-toolswhen exposing Unsloth.Global HTTPS Access: Creates a free Cloudflare link that serves Unsloth - you can access the link globally (even on your phone!)
-H 0.0.0.0and different ports also work:LAN Access (home network):
Settings > API keys > LAN accessPassword management & headless starts
Exposing Unsloth (
--secure,--cloudflare, or a non-loopback-H) asks once at the terminal for a new admin password. Ctrl+C there aborts the launch rather than exposing the auto-generated one; set a password non-interactively instead, or use-H 127.0.0.1to stay off the network.Headless starts:
Reset your password:
Developer, Nightly, Uninstall
To see developer, nightly and uninstallation etc. instructions, see advanced installation.
Unsloth Core (code-based)
Linux, WSL:
Windows:
Install torchao first on Windows:
--torch-backendlooks for it only on the PyTorch index, which has no recent Windows torchao, so a one-step install silently resolves an old Unsloth.AMD, Intel, DGX Spark, Blackwell:
See our Blackwell guide and DGX Spark guide.
To install Unsloth on AMD and Intel GPUs, follow our AMD Guide and Intel Guide.
📒 Free Notebooks
Train for free with our notebooks. Read our guide. Add dataset, run, then deploy your trained model.
📥 Advanced Installation
The below advanced instructions are for Unsloth Studio. For Unsloth Core advanced installation, view our docs.
Developer / Nightly / Experimental installs: macOS, Linux, WSL:
The developer install builds from the
mainbranch, which is the latest (nightly) source.To install into an isolated location, set
UNSLOTH_STUDIO_HOME:Then to update:
Developer / Nightly / Experimental installs: Windows PowerShell:
The developer install builds from the
mainbranch, which is the latest (nightly) source.To install into an isolated location, set
UNSLOTH_STUDIO_HOME:Then to update:
Advanced launch options
Skip PyTorch (GGUF-only mode):
Skip the post-install prompt that starts Unsloth (useful for automated installs):
Keep the install-time package cache under the Unsloth Studio directory instead of reusing an existing uv cache. Downloads are slower the first time, and an explicit
UV_CACHE_DIRstill wins over this:For a local run the flag is
--isolated-uv-cache:Discard the previous environment immediately when reinstalling, instead of keeping a copy until the new one works. A reinstall normally holds both at once, so it needs room for two; this needs room for one, at the cost of not being able to undo a failed install:
For a local run the flag is
--no-rollback:Pinning the Python version:
Install to a custom location with
UNSLOTH_STUDIO_HOME:Point the frontend build at a corporate npm mirror/proxy with
UNSLOTH_NPM_REGISTRY:Cap Unsloth’s native CPU thread pools on high-core hosts:
UNSLOTH_CPU_THREADS=8 unsloth studio -p 8888.Vulkan, custom llama.cpp backends:
You can force the backend during installation:
audio.cpp audio engine:
Setup also installs audio.cpp (prebuilt by unslothai/audio.cpp), which runs the audio.cpp speech, music and speech-to-text models on the Audio page, in Voice settings and behind
/v1/audio/*. It is optional and never blocks setup:UNSLOTH_SKIP_AUDIO_CPP_INSTALL=1skips it.UNSLOTH_AUDIO_CPP_ACCELERATOR=cpu(orcuda,vulkan,metal) picks the bundle instead of auto-detecting.AUDIOCPP_SERVER_PATH=/path/to/audiocpp_serveruses your own build.Uninstall
MacOS, WSL, Linux:
curl -fsSL https://raw.githubusercontent.com/unslothai/unsloth/main/scripts/uninstall.sh | shWindows (PowerShell):
irm https://raw.githubusercontent.com/unslothai/unsloth/main/scripts/uninstall.ps1 | iexFor more info, see our docs.
Deleting model files
You can delete old model files either from the bin icon in model search or by removing the relevant cached model folder from the default Hugging Face cache directory. By default, HF uses:
MacOS, Linux, WSL:
~/.cache/huggingface/hub/Windows:
%USERPROFILE%\.cache\huggingface\hub\💚 Community and Links
Citation
You can cite the Unsloth repo as follows:
If you trained a model with 🦥Unsloth, you can use this cool sticker!
License
Unsloth uses a dual-licensing model of Apache 2.0 and AGPL-3.0. The core Unsloth package remains licensed under Apache 2.0, while certain optional components, such as the Unsloth Studio UI are licensed under the open-source license AGPL-3.0.
This structure helps support ongoing Unsloth development while keeping the project open source and enabling the broader ecosystem to continue growing.
Thank You to