TRELLIS.2 Image-to-3D Porté pour Fonctionner en Natif sur Apple Silicon

Ce que c'est
Une adaptation du modèle TRELLIS.2 de Microsoft, qui génère des modèles 3D à partir d'images, pour qu'il fonctionne nativement sur Apple Silicon via PyTorch MPS, en remplaçant les dépendances exclusives à CUDA par des alternatives purement PyTorch.
Détails clés
Le TRELLIS.2 original nécessite CUDA avec flash_attn, nvdiffrast et des noyaux de convolution clairsemée personnalisés qui ne fonctionnent pas sur Mac. Cette adaptation les remplace par :
- Une implémentation de convolution 3D clairsemée par collecte-dispersion (backends/conv_none.py)
- Une attention SDPA pour les transformateurs clairsemés utilisant scaled_dot_product_attention de PyTorch
- Une extraction de maillage basée sur Python remplaçant les opérations de table de hachage CUDA (backends/mesh_extract.py)
Les modifications totales représentent quelques centaines de lignes réparties sur 9 fichiers. Tous les appels .cuda() codés en dur ont été corrigés pour utiliser l'appareil actif à la place.
Performances et exigences
Sur M4 Pro (24 Go), génère des maillages d'environ 400 000 sommets à partir de photos uniques en environ 3,5 minutes. L'utilisation de la mémoire culmine à environ 18 Go de mémoire unifiée pendant la génération.
Exigences :
- macOS sur Apple Silicon (M1 ou ultérieur)
- Python 3.11+
- 24 Go+ de mémoire unifiée recommandés
- ~15 Go d'espace disque pour les poids du modèle
Installation et utilisation
Démarrage rapide :
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.pngVous devez demander l'accès aux modèles protégés sur HuggingFace : facebook/dinov3-vitl16-pretrain-lvd1689m et briaai/RMBG-2.0.
Utilisation de base :
python generate.py photo.png
python generate.py photo.png --seed 123 --output my_model --pipeline-type 512Limitations
- Aucune exportation de texture (les maillages s'exportent uniquement avec des couleurs de sommet)
- Remplissage des trous désactivé (les maillages peuvent avoir de petits trous)
- Plus lent que CUDA (~10 fois plus lent pour la convolution clairsemée)
- Inférence uniquement, pas de support pour l'entraînement
Implémentation technique
La convolution 3D clairsemée construit une table de hachage spatiale des voxels actifs, collecte les caractéristiques des voisins pour chaque position du noyau, applique les poids via une multiplication matricielle et disperse-ajoute les résultats. L'extraction de maillage réimplémente flexible_dual_grid_to_mesh en utilisant des dictionnaires Python au lieu des opérations de table de hachage CUDA.
Benchmarks sur M4 Pro (24 Go), type de pipeline 512 :
- Chargement du modèle : ~45 s
- Prétraitement de l'image : ~5 s
- Échantillonnage de la structure clairsemée : ~15 s
- Échantillonnage SLat de la forme : ~90 s
- Échantillonnage SLat de la texture : ~50 s
- Décodage du maillage : ~30 s
- Total : ~3,5 min
📖 Lire la source complète : HN LLM Tools
👀 See Also
Ballon qui éclate quand Claude termine : UI agent physique avec whisper.cpp
Un ballon de bureau gonfle pendant que vous parlez, puis flotte à l'écran pendant que Claude Code exécute l'agent. La transcription est locale via whisper.cpp, les agents utilisent votre connexion Claude Code existante. Open source.

Développeur mesure la frustration avec le 'F-Bombs Per Thousand Prompts' sur 44 212 journaux Claude Code
Un développeur a suivi le « fpk » (jurons par millier de requêtes) sur 44 412 requêtes Claude Code pendant 5 mois, constatant que la frustration a chuté de 3,4× entre Claude Opus 4-5 et 4-7, et que la plupart des jurons visaient les outils d'environnement, pas le modèle.

Octopoda : Couche de mémoire open source pour agents d'IA locaux
Octopoda est une couche mémoire open source qui donne aux agents d'IA locaux une mémoire persistante entre les sessions, une recherche sémantique, une détection de boucles et une récupération après incident. Il fonctionne entièrement hors ligne avec un modèle d'embedding de 33 Mo et s'intègre avec LangChain, CrewAI, AutoGen et OpenAI Agents SDK.

Flue : un framework TypeScript pour construire des agents de codage autonomes
Flue est un framework TypeScript qui fournit un harnais programmable pour construire des agents autonomes, avec des compétences, des sessions, une exécution shell en bac à sable et un bac à sable virtuel intégré. Il peut remplacer des outils comme Dosu, Greptile, CodeRabbit, Devin et Claude Code par une logique d'agent personnalisée.