4 Commits

Author SHA1 Message Date
Michele Rossi
1ab1fee15d self-contained torch wheel
Bundles the known-working ROCm torch, triton-rocm, and torchvision wheels
locally so install no longer depends on the PyTorch nightly index being
available. Also fixes model name mismatches between docs and code, and
adds missing dependencies.

What:

  • wheels/ — bundled torch 2.11.0+rocm7.2, triton-rocm 3.6.0, and
    torchvision 0.26.0+rocm7.2 (wheels/ is in .gitignore; they are
    downloaded once and reused)
  • README install section — replaced 'pip install torch --index-url ...'
    with 'pip install wheels/*.whl' for all three ROCm wheels; added
    download instructions for the initial fetch
  • README Current State — marked self-contained torch wheel as done,
    removed from Future Improvements
  • Fixed model name defaults across README examples and session.py
    docstring — they used shortened filenames (novaAnimeXL.safetensors,
    qwen_image_edit.safetensors) that don't match the actual symlinks
    created by the Models section
  • pyproject.toml — added torchvision and realesrgan (previously
    undeclared; upscale.py imported torchvision.transforms at module
    level without the dependency being declared)

Why:

The ROCm nightly index is volatile — versions rotate frequently and the
index itself may not be reachable. Bundling the three ROCm-only wheels
(torch, triton-rocm, torchvision) makes the install reproducible. All
other dependencies resolve from standard PyPI.

Verified by creating a clean Python 3.12 venv, installing all three
wheels from the local files, running 'pip install -e .', and confirming
'vnasset --help' and GPU tensor allocation work without any remote
ROCm index access.
2026-07-08 15:38:20 +02:00
Michele Rossi
8a11325b2f vnassets/background: add bg removal via rembg + isnet-anime
rembg with ONNX Runtime on CPU was chosen over BiRefNet: the latter
requires deform_conv2d which crashes on ROCm bfloat16 and runs at 40s
in float32. rembg delivers 0.23s per 1024x1024 image, no GPU deps,
and isnet-anime is trained specifically on anime images — exactly the
target domain.

CLI and session API both support single-image and batch (plural-first)
modes, reusing one model session across files.
2026-07-08 11:20:36 +02:00
Michele Rossi
9564202e6d feat: add ComfyUI-style prompt weighting via compel
- Support (word:weight), [word], ((nested)) syntax
- Support BREAK for conditioning chunking (.and() translation)
- Use CompelForSDXL (modern API, avoids deprecation)
- Add --raw flag to bypass weighting and fall back to plain encoding
- Update README with Prompt Syntax section and examples
- Add docs/comfyui-prompt-style.md with design doc
2026-07-07 16:16:54 +02:00
Michele Rossi
06fba9c234 Add vnasset SDXL generate command
ROCm-safe bfloat16 inference with custom matmul attention.
Automatic output directories, random seed, timing metadata.
2026-07-06 16:29:38 +02:00