Add Apple Silicon (MPS) support #44
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue: #5
This MR enables the TripoSG project to run on Apple Silicon (macOS) using PyTorch's MPS backend.
How to Run on macOS (Apple Silicon):
Before running any inference script, execute the following in your terminal:
export PYTORCH_ENABLE_MPS_FALLBACK=1
This is required because some 3D operations used during mesh extraction (e.g., max_pool3d_with_indices) are not yet natively supported on MPS and need to fall back to the CPU.
python3 -m scripts.inference_triposg \ --image-input assets/example_data/jkghed.png \ --output-path ./output_macos_hierarchical.glb \ --faces 5000 \ --no-use-flash-decoder
(Note: --no-use-flash-decoder is recommended for MPS due to potential diso library compatibility and to ensure the CPU fallback path for hierarchical_extract_geometry (which now produces correct results with float32) is used.)
python3 -m scripts.inference_triposg_scribble \ --image-input assets/example_scribble_data/cat_with_wings.png \ --prompt "a cat with wings" \ --output-path ./output_macos_scribble.glb