LibreMODUS
LibreMODUS є інтеграцією лише для інференсу контрольної точки MODUS 14B-A7B, моделі будь-що-в-що-завгодно, яка перетворює один отриманий із зображення вхід на інший: RGB на вході, глибина на виході; глибина на вході, нормалі на виході; будь-який із них разом із фразою, рамки на виході. LibreYOLO підтримує чотири завдання через стандартний API predict і ширший набір через any2any().
- Задачі
- detection, depth, normal, edge
- Розміри
- Встановлення
pip install libreyolo- Рівень підтримки
- Суміжний рівень, починаючи з v. Окремий інтерфейс продукту з власною фабрикою та контрактом.
- Першоджерело
- MODUS, автори: EPFL Visual Intelligence and Learning Lab (VILAB), ліцензія Apache-2.0 (code); research-only per the upstream model card (weights). Стаття, джерело
- Ліцензії
- Код: Apache-2.0, ваги: Apache-2.0 (code); research-only per the upstream model card (weights). Комерційне використання
Встановлення
LibreMODUS потребує власного набору додаткових залежностей, який установлює
accelerate для розподілу великої моделі, потрібного цій контрольній точці.
pip install "libreyolo[modus]"LibreYOLO не розповсюджує й не дзеркалює ваги MODUS. Типово завантаження моделі
LibreMODUS отримує потрібні файли безпосередньо з EPFL-VILAB/MODUS у
зафіксованій редакції Hugging Face. Нове завантаження завжди потребує власного
автентифікованого облікового запису Hugging Face користувача, навіть якщо
обмеження початкового хостингу тимчасово відкрите. Перегляньте й прийміть
початкові умови, а потім автентифікуйтеся:
hf auth loginfrom libreyolo import LibreMODUS
model = LibreMODUS(token="hf_...")Щоб уникнути будь-якого мережевого запиту, укажіть уже наявний знімок:
model = LibreMODUS(checkpoint_path="/models/MODUS")Цей каталог має містити model.safetensors, ae.safetensors,
llm_config.json, vit_config.json, tokenizer_config.json,
vocab.json і merges.txt. Дозволи умов контрольної точки пояснено в
розділі «Ліцензування» нижче.
Передбачення
from libreyolo import LibreMODUS model = LibreMODUS(size="14b-a7b", task="normal")result = model.predict("room.jpg")normals = result.normal_map.data model.set_task("edge")result = model.predict("room.jpg")edges = result.edges.data # Без власного словника detect декодує токени міток COCO контрольної# точки в послідовні ідентифікатори класів COCO-80.model.set_task("detect")result = model.predict("street.jpg")print(result.boxes.xyxy)from libreyolo import LibreMODUS model = LibreMODUS(task="detect")# set_classes() перемикає виявлення на прив'язування фраз: кожна фраза# виконується окремо й повертається через той самий контракт Boxes.model.set_classes(["red bus", "cyclist"])result = model.predict("street.jpg", conf=0.2)print(result.boxes.xyxy, result.boxes.cls)from libreyolo import LibreMODUS model = LibreMODUS() # Від одного до трьох отриманих із зображення входів (rgb, depth, normal,# canny/edge) разом із необов'язковим допоміжним текстом до однієї цілі.result = model.any2any( inputs={"rgb": "room.jpg"}, target="normal", steps=10, cfg=2.0, seed=0,)normals = result.normal_map.data # Прив'язування через any2any() потребує текстового входу з назвою фрази.result = model.any2any( {"rgb": "street.jpg", "text": "red bus"}, target="grounding",)print(result.boxes.xyxy)Стандартний API завдань охоплює чотири завдання, кожне зіставлене з однією
ціллю MODUS: depth із відносною глибиною (result.depth_map), normal
із нормалями поверхні (result.normal_map), edge із краями у стилі
Canny (result.edges) і detect із рамками COCO-80 (result.boxes),
якщо set_classes() не перемикає його на прив'язування фрази.
set_task() перемикає їх у тій самій завантаженій моделі. Випущений рецепт
використовує десять кроків потокового семплювання з текстовим керуванням 4.0
і керуванням зображенням 2.0; перевизначте їх через inference_steps=,
inference_cfg= і inference_image_cfg= під час створення.
any2any() відкриває ширшу публічну поверхню аналізу: від одного до трьох
отриманих із зображення входів (rgb, depth, normal,
canny/edge) разом із необов'язковим допоміжним текстом, поєднаних для
однієї з цілей: глибини, нормалей, країв, отриманих із SAM країв, виявлення
COCO або прив'язування фрази. Усі отримані із зображення входи мають описувати
однакове вирівняне полотно; LibreMODUS відхиляє невідповідні ширини й висоти
замість незалежної зміни їх розміру. chain=(...) генерує проміжні цілі й
повертає їх у той самий контекст у межах навчального бюджету контрольної
точки з трьох умов. verify=N (N >= 2) генерує N кандидатів і зберігає
того, що має найвищу оцінку обмеженої перевірки самоузгодженості, доступну як
result.verification_score.
dtype="bf16" (типове значення) відповідає точності випущеної контрольної
точки; dtype="fp8" зберігає придатні лінійні ваги основи декодера як E4M3
з масштабом на кожен вихідний канал, один раз перетворює їх до локального кешу
в ~/.cache/libreyolo/modus/fp8 і деквантує до типу входу для кожного
матричного множення. Тому це економить пам'ять без зниження точності на рівні
активацій.
train(), val() і export() спричиняють помилку: LibreMODUS
призначена лише для інференсу, валідація датасету не пропонується, а шляху
експорту ONNX, TensorRT або TFLite немає. Батчеве predict() і аугментація
під час тестування також не підтримуються; кожен виклик обробляє одне
зображення.
Ліцензування
Перевіряйте ліцензію в репозиторії Hugging Face конкретних ваг, які завантажуєте. Кожна контрольна точка в організації LibreYOLO має ліцензію, і вона не завжди однакова для всього сімейства. Цей репозиторій є авторитетним джерелом, а наведене нижче резюме описує умови на момент останньої перевірки сторінки.
Це опис відповідних ліцензій, а не юридична консультація. Якщо відповідь має комерційне значення, самостійно прочитайте ліцензії та зверніться по юридичну консультацію.
- Оригінальна робота
- MODUS, EPFL Visual Intelligence and Learning Lab (VILAB)
- Ліцензія першоджерела
- Apache-2.0 (code); research-only per the upstream model card (weights)
- Джерело першоджерела
- github.com/EPFL-VILAB/Modus
- Код LibreYOLO
- MIT
- Ваги
- Apache-2.0 (code); research-only per the upstream model card (weights), поширюється авторами. LibreYOLO не розміщує й не дублює ці ваги.
- Тлумачення
- Apache-2.0 covers the EPFL-VILAB/Modus source repository that LibreYOLO's adapter follows; LibreYOLO's own port is MIT, permissive and usable in commercial and closed-source products, requiring only that license text and attribution travel with any copy you redistribute. The MODUS-14B-A7B checkpoint is a separate artifact under a separate license: its Hugging Face model card currently declares license: other, describes it as bagel-derived, and requests research-only use, terms that bind you directly rather than through LibreYOLO. LibreYOLO does not bundle, mirror, or redistribute this checkpoint in any form, quantized or otherwise; loading it always downloads the required files directly from EPFL-VILAB/MODUS at a pinned revision, which needs the user's own authenticated Hugging Face account and acceptance of the current upstream terms, or a checkpoint_path to a snapshot the user already obtained. One upstream file, modeling/bagel/modeling_utils.py, carries an incompatible CC BY-NC 4.0 license inherited from Meta's DiT and is not copied, adapted, or paraphrased anywhere in this port; the small permissive routines LibreYOLO needed were re-derived independently from Hugging Face Transformers (Apache-2.0) and OpenAI's guided-diffusion (MIT) instead. Training is not offered for this family.
LibreYOLO ніде не розміщує й не дзеркалює контрольну точку MODUS, зокрема у
власній організації Hugging Face: завантаження завжди отримує зафіксовану
редакцію безпосередньо з EPFL-VILAB/MODUS або читає вже наявний на диску
знімок за checkpoint_path.
Цитування
@article{ye2026modus,
title = {MODUS: Decoder-only Any-to-Any Modeling of Diverse Modalities},
author = {Ye, Mingqiao and An, Zhaochong and Gao, Zhitong and Liu, Xian
and Fleuret, Fran\c{c}ois and Li, Chuan and Zadeh, Amir
and Belongie, Serge and Dehghan, Afshin and Allardice, Jesse
and Mizrahi, David and Kar, O\u{g}uzhan Fatih and Bachmann, Roman
and Zamir, Amir},
journal = {arXiv preprint arXiv:2607.25948},
year = {2026},
}Скопійовано з блоку цитування авторів на сторінці github.com/EPFL-VILAB/Modus#citation.