TRELLIS.2 Image-to-3D Portado para Executar Nativamente em Apple Silicon

O Que É Isso
Uma versão portada do modelo TRELLIS.2 da Microsoft para conversão de imagem em 3D que roda nativamente no Apple Silicon via PyTorch MPS, substituindo dependências exclusivas do CUDA por alternativas em PyTorch puro.
Detalhes Principais
O TRELLIS.2 original requer CUDA com flash_attn, nvdiffrast e kernels de convolução esparsa personalizados que não funcionam no Mac. Esta versão portada substitui esses componentes por:
- Uma implementação de convolução 3D esparsa do tipo gather-scatter (backends/conv_none.py)
- Atenção SDPA para transformadores esparsos usando scaled_dot_product_attention do PyTorch
- Extração de malha baseada em Python substituindo operações de hashmap do CUDA (backends/mesh_extract.py)
As alterações totais são de algumas centenas de linhas em 9 arquivos. Todas as chamadas .cuda() embutidas no código foram corrigidas para usar o dispositivo ativo em vez disso.
Desempenho e Requisitos
No M4 Pro (24 GB), gera malhas com cerca de 400 mil vértices a partir de fotos únicas em aproximadamente 3,5 minutos. O uso de memória atinge picos de cerca de 18 GB de memória unificada durante a geração.
Requisitos:
- macOS no Apple Silicon (M1 ou posterior)
- Python 3.11+
- 24 GB+ de memória unificada recomendado
- ~15 GB de espaço em disco para os pesos do modelo
Configuração e Uso
Início rápido:
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 caminho/para/imagem.pngVocê precisa solicitar acesso aos modelos com acesso controlado no HuggingFace: facebook/dinov3-vitl16-pretrain-lvd1689m e briaai/RMBG-2.0.
Uso básico:
python generate.py foto.png
python generate.py foto.png --seed 123 --output meu_modelo --pipeline-type 512Limitações
- Não há exportação de texturas (as malhas são exportadas apenas com cores de vértice)
- Preenchimento de buracos desativado (as malhas podem ter pequenos buracos)
- Mais lento que o CUDA (~10x mais lento para convolução esparsa)
- Apenas inferência, sem suporte a treinamento
Implementação Técnica
A convolução 3D esparsa constrói um hash espacial de voxels ativos, coleta características de vizinhos para cada posição do kernel, aplica pesos via multiplicação de matrizes e espalha-adiciona os resultados de volta. A extração de malha reimplementa flexible_dual_grid_to_mesh usando dicionários Python em vez de operações de hashmap do CUDA.
Benchmarks no M4 Pro (24 GB), tipo de pipeline 512:
- Carregamento do modelo: ~45s
- Pré-processamento da imagem: ~5s
- Amostragem da estrutura esparsa: ~15s
- Amostragem Shape SLat: ~90s
- Amostragem Texture SLat: ~50s
- Decodificação da malha: ~30s
- Total: ~3,5 min
📖 Leia a fonte completa: HN LLM Tools
👀 See Also
OpenClaw Mock API para Ferramentas de Construção/Integrações com o Gateway
Um mock open source da API WebSocket do gateway OpenClaw usando Imposter. Suporta chat.send/history, session create/list, agent list, model list. Estenda com YAML e JSON.

Semble: Um Servidor MCP Local para Claude Code com Redução de 98% de Tokens
Semble é um servidor MCP de código aberto para Claude Code que substitui fluxos de trabalho com grep+read, usando embeddings, BM25 e reranking para reduzir o uso de tokens em ~98% enquanto indexa repositórios em ~250ms.

Claude Code adiciona sistema de revisão baseado em equipe de agentes em prévia de pesquisa
O Claude Code agora inclui um sistema completo de revisão de código modelado no processo interno da Anthropic, usando equipes de agentes. O recurso está disponível em prévia de pesquisa.

Servidor MCP para Busca Semântica em Vaults do Obsidian
Um desenvolvedor criou um servidor MCP que indexa vaults do Obsidian no Qdrant com embeddings locais, permitindo busca semântica em vez de correspondência por palavras-chave. Ele segmenta markdown por títulos, usa embeddings BAAI/bge-small-en-v1.5 e funciona com Claude Code, Cursor, Windsurf ou qualquer cliente MCP.