Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Installing Open3d-Ml with Pytorch (on MacOs)

I created a virtualenv with python 3.10 and installed open3d and PyTorch according to the instructions on open3d-ml webpage: Open3d-ML but when I tested it with import open3d.ml.torch I get the error: Exception: Open3D was not built with PyTorch support!

Steps to reproduce

python3.10 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install open3d
pip install torch torchvision torchaudio

Error

% python -c "import open3d.ml.torch as ml3d"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/xx/.venv/lib/python3.10/site-packages/open3d/ml/torch/__init__.py", line 34, in <module>
    raise Exception('Open3D was not built with PyTorch support!')
Exception: Open3D was not built with PyTorch support!

Environment:

% python3 --version
Python 3.10.9
% pip freeze
open3d==0.16.1
torch==1.13.1
torchaudio==0.13.1
torchvision==0.14.1

OS

macOS 12.6
Kernel Version: Darwin 21.6.0

I also checked below similar issues but they don't have answers:

https://github.com/isl-org/Open3D/discussions/5849

https://github.com/isl-org/Open3D-ML/issues/557

Open3D-ML and pytorch

According to this issue 5849 the problem can't be related only to MacOs because, in a docker with Ubuntu20.04, there is a similar error.

Does anyone know how we can tackle this?

like image 538
Bruce Avatar asked Dec 05 '25 01:12

Bruce


1 Answers

Finally, I decided to build Open3D from the source for Mac M1. I followed almost the official open3d page and thanks to this medium in one of the replies.

Build Open3d-ml with Pytorch on Mac M1

For the OS environment see the main question.

conda create --name open3d-ml-build python==3.10
conda activate open3d-ml-build
# install pytorch from pytorch.org
conda install pytorch torchvision torchaudio -c pytorch

# now clone open3d in a desired location
git clone --branch v0.16.1 [email protected]:isl-org/Open3D.git ./foo/open3d-0.16-build
cd open3d-0.16-build
mkdir build && cd build
git clone [email protected]:isl-org/Open3D-ML.git

Now make sure you are in the activeted conda env.

Build

(takes very long and a lot of memory)

Note on Mac M1 you don't have Cuda but Metal Performance Shaders (MPS) so I made CUDA Flags OFF in the cmake configuration.

which python3
>> /Users/XX/miniconda3/envs/open3d-ml-build/bin/python3

# in the build direcotry
cmake -DBUILD_CUDA_MODULE=OFF -DGLIBCXX_USE_CXX11_ABI=OFF \
-DBUILD_PYTORCH_OPS=ON -DBUILD_CUDA_MODULE=OFF \
-DBUNDLE_OPEN3D_ML=ON -DOPEN3D_ML_ROOT=Open3D-ML \
-DBUILD_JUPYTER_EXTENSION:BOOL=OFF \
-DPython3_ROOT=/Users/XX/miniconda3/envs/open3d-ml-build/bin/python3 ..

make -j$(sysctl -n hw.physicalcpu) [verbose=1]

If it fails, try it again or run it with verbose and look for fatal error.

Install

# Install pip package in the current python environment
make install-pip-package

# if error: Module Not found yapf
pip install yapf

# Create Python package in build/lib
make python-package

# Create pip wheel in build/lib
# This creates a .whl file that you can install manually.
make pip-package

sanity check

Again in the activated conda environment
# if not installed
pip install tensorboard

python3 -c "import open3d; import open3d.ml.torch"

pip freeze | grep torch
torch==1.13.1
torchaudio==0.13.1
torchvision==0.14.1

If you don't get any errors you should be good to go.

like image 166
Bruce Avatar answered Dec 06 '25 16:12

Bruce



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!