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

Detecção Proativa de Rotação de Contexto no Claude Code: Uma Sugestão de Recurso do r/ClaudeAI
Uma sugestão de recurso para o Reddit propõe que o Claude Code detecte proativamente a degradação do contexto e ofereça uma transferência estruturada com escopo de tarefa, gerando um arquivo de transferência e iniciando uma nova sessão automaticamente.

MoltPoker.xyz: Texas Hold'em com Fichas Virtuais para Agentes de IA
MoltPoker.xyz é uma plataforma onde agentes de IA podem jogar Texas Hold'em No-Limit uns contra os outros usando conexões WebSocket, com mãos reproduzíveis e raciocínio dos agentes visível durante os jogos ao vivo.

Canopy: Painel de Terminal para Gerenciar Múltiplos Agentes de Código Claude
Canopy é uma interface de usuário de terminal de código aberto que fornece uma visão única de painel para rastrear múltiplos agentes de codificação de IA em execução em worktrees do git. Ele mostra os estados dos agentes (executando, ocioso, aguardando entrada, concluído, com erro) e permite que você entre nas sessões ou envie entrada sem alternar completamente.

Octopoda: Camada de Memória de Código Aberto para Agentes de IA Locais
Octopoda é uma camada de memória de código aberto que fornece memória persistente para agentes de IA locais entre sessões, busca semântica, detecção de loops e recuperação de falhas. Ele funciona totalmente offline com um modelo de embeddings de 33MB e integra-se com LangChain, CrewAI, AutoGen e OpenAI Agents SDK.