TRELLIS.2 Image-to-3D адаптирован для нативной работы на Apple Silicon.

Что это такое
Порт модели TRELLIS.2 от Microsoft для преобразования изображений в 3D, который работает нативно на Apple Silicon через PyTorch MPS, заменяя зависимости, требующие CUDA, на чисто PyTorch-альтернативы.
Ключевые детали
Оригинальная TRELLIS.2 требует CUDA с flash_attn, nvdiffrast и пользовательскими ядрами разреженной свертки, которые не работают на Mac. Этот порт заменяет их на:
- Реализацию разреженной 3D-свертки gather-scatter (backends/conv_none.py)
- SDPA-внимание для разреженных трансформеров с использованием scaled_dot_product_attention от PyTorch
- Извлечение мешей на Python, заменяющее операции с хэш-таблицами на CUDA (backends/mesh_extract.py)
Общие изменения составляют несколько сотен строк в 9 файлах. Все жестко заданные вызовы .cuda() были исправлены для использования активного устройства.
Производительность и требования
На M4 Pro (24 ГБ) генерирует меши с ~400K вершин из одиночных фотографий примерно за 3,5 минуты. Использование памяти достигает пика около 18 ГБ унифицированной памяти во время генерации.
Требования:
- macOS на Apple Silicon (M1 или новее)
- Python 3.11+
- Рекомендуется 24 ГБ+ унифицированной памяти
- ~15 ГБ дискового пространства для весов модели
Установка и использование
Быстрый старт:
git clone https://github.com/shivampkumar/trellis-mac.git
cd trellis-mac
hf auth login
bash setup.sh
source .venv/bin/activate
python generate.py path/to/image.pngВам нужно запросить доступ к моделям с ограниченным доступом на HuggingFace: facebook/dinov3-vitl16-pretrain-lvd1689m и briaai/RMBG-2.0.
Базовое использование:
python generate.py photo.png
python generate.py photo.png --seed 123 --output my_model --pipeline-type 512Ограничения
- Нет экспорта текстур (меши экспортируются только с цветами вершин)
- Заполнение отверстий отключено (в мешах могут быть небольшие отверстия)
- Медленнее, чем на CUDA (~в 10 раз медленнее для разреженной свертки)
- Только вывод, без поддержки обучения
Техническая реализация
Разреженная 3D-свертка строит пространственный хэш активных вокселей, собирает признаки соседей для каждой позиции ядра, применяет веса через матричное умножение и рассеивает-добавляет результаты обратно. Извлечение мешей перереализует flexible_dual_grid_to_mesh с использованием словарей Python вместо операций с хэш-таблицами на CUDA.
Бенчмарки на M4 Pro (24 ГБ), тип пайплайна 512:
- Загрузка модели: ~45с
- Предобработка изображения: ~5с
- Сэмплирование разреженной структуры: ~15с
- Сэмплирование формы SLat: ~90с
- Сэмплирование текстуры SLat: ~50с
- Декодирование меша: ~30с
- Итого: ~3,5 мин
📖 Прочитать полный исходный код: HN LLM Tools
👀 Смотрите также

Открытый MCP-сервер на Rust предоставляет Claude полные возможности управления электронной почтой.
Разработчик создал MCP-сервер на Rust, который предоставляет Claude 25 инструментов для комплексного управления электронной почтой, включая поиск по IMAP, отправку через SMTP, поддержку Microsoft Graph API и работу с несколькими аккаунтами с аутентификацией OAuth2.

Шлюз MCP для безопасного удаленного доступа к внутренним инструментам
Открытый шлюз MCP объединяет несколько серверов инструментов MCP в одно соединение, обеспечивая безопасный доступ через Claude Desktop без раскрытия публичных конечных точек. Он использует OpenZiti/zrok для сетей с нулевым доверием и требует только одной записи конфигурации с токеном доступа.

Тихие сбои инструментов в кодирующих агентах: скрытый фактор потери эффективности
Кодинг-агенты часто сталкиваются с незамеченными ошибками инструментов, так как они переключаются на альтернативные стратегии, тратя токены и снижая качество. Открытый инструмент Vibeyard обнаруживает эти сбои и предлагает исправления.

RunAnywhere RCLI: Голосовой ИИ-конвейер на устройстве для Apple Silicon
RunAnywhere выпустила RCLI, открытый голосовой AI-пайплайн для macOS, который полностью работает на устройствах Apple Silicon, выполняя STT, LLM и TTS. Инструмент использует их проприетарный движок вывода MetalRT и заявляет о значительном повышении производительности по сравнению с существующими решениями.