-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for python3.11 #6288
Conversation
Thanks for submitting this pull request! The maintainers of this repository would appreciate if you could update the CHANGELOG.md based on your changes. |
1a0f81e
to
2b1e5d6
Compare
Hi @OlivierLDff thanks for this PR! There is some background info and more tasks required for this PR. The reason we were hesitating with adding Python 3.11 support is an incompatibility between PyTorch and Tensorflow dependencies, that we would also need to update. But I think we can bite the bullet and proceed now. Here are the details:
As a result, please make these additional changes in this PR for proper Python 3.11 support:
We can also drop support for Python 3.7 in the same PR. Python 3.7 is now EOL. Also, we need to keep the companion Open3D-ML repo in sync - we will need a companion PR for that repo. Let me know if you want some help in preparing a PR for that. |
Ok thanks for the guidance. I'm currently away from any computer for a week, but I will continue this PR next week! To drop python 3.7 is there more than the file I already touched? |
Coming back to this PR I now realize it might be harder than what I was expecting, since I'm not familiar with the codebase. I guess pytorch version has to be updated there: Lines 45 to 50 in 1012819
But then should cuda version be updated too? Lines 30 to 33 in 1012819
11.7 or 11.8 ? For tensorflow, should it just be commented here: Open3D/.github/workflows/ubuntu.yml Line 38 in 1012819
|
No worries, we'll help as much as required. Thanks for working on this task!
Yes.
Update CUDA to the oldest supported by our target PyTorch version. For 2.0, this is 11.7. Update this and the corresponding cuDNN version in all dockerfiles in the docker folder.
This needs to be changed in a few different places (Linux CI is all in docker):
We provide both cxx11_abi and pre cxx11_abi C++ binary builds for Open3D, so it is possible to support TF through C++. However, for simplicity, lets disable it completely in Linux. For macOS, the ABI is not a problem. Lets upgrade Tensorflow to the latest there (2.12). This ensures that our TF code continues to be maintained. This will also need changes to |
Would it be possible to approve workflow run so I can see what is working/failing? |
Forget what I said, it seems everything is working when I PR against my own repo |
- Update the linux/mac/windows CI to handle python 3.11
02fd1bc
to
36531b4
Compare
e55988b
to
41ab5a0
Compare
Ok so I updated a bunch of stuff, they are kept in different commit for easier review/understanding of what I did. MacOStensorflow frameworkSo it seems tensorflow framework is no longer available, but I'm not familiar with that library. I just commented out things in the CMakeLists to ignore that for now. I guess this is the kind of issue that will blow up at linking time, that I haven't reached yet. Do you have any insight if the Macos min versionIt seems that min macos version is 10.15, but I'm running into issues with tensorflow
You can checks logs here: https://github.com/OlivierLDff/Open3D/actions/runs/5889809346/job/15973684524?pr=1 I guess by updating min macos version to 12.x, things will go away. Is it something you wish to do? Open3D/3rdparty/vtk/CMakeLists.txt Lines 33 to 35 in c7718fd
UbuntuTensorflowI have this really strange error:
I'm not sure where is it coming from or how to track that. This seems to come from tensorflow which is anyway not in used. Have you ever heard of this problem? Headless docs (ubuntu)I'm running in a missing symbol, but this seems to be because I'm using the wrong repo for open3d-ML
https://github.com/OlivierLDff/Open3D/actions/runs/5889809363/job/15973675060?pr=1 |
This also require protobuf to be updated to 3.24.0
This is possible because - tensorflow support is temporarily dropped - pytorch got updated to 2.0.1
Thanks @igozali you have sharp eyes... |
@ssheorey In case it helps, I noticed that Pytorch recently uploaded For example: |
Enable users to build wheel with tfops locally with docker container.
Thanks, that is useful. Hope they finish the migration to the new cxx11_abi quickly. To keep a handle on complexity, we'll go with the old cxx11_abi for now and without tf ops on Linux. We'll switch completely to the new cxx11_abi with both torch and tf in a future PR. I'll add instructions for users to build an Open3D wheel with tf ops and the new cxx11_abi in the meantime. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: 0 of 39 files reviewed, all discussions resolved
efd57da
to
8af2f8f
Compare
@ssheorey I was curious if the team was planning a 0.18 release to support Python 3.11? We are excited to try it out. ❤️ |
Yes, we will have a 0.18 release soon. :-) |
Companion Open3D PR: isl-org/Open3D#6288 - Add support for python3.11. -️ Upgrade pytorch to 2.0.1 with cuda 11.7 - Upgrade tensorflow / tensorboard to 2.13. - Disable building tensorflow ops on Linux. Keep old cxx11_abi. - Update CI to use requirements files instead of manually specified versions. - Add instructions to build with new cxx11_abi with tensorflow ops support.
Really looking forward to this! Do you have a rough idea on the timeline? |
@ssheorey any idea when the 0.18 release will happen? TIA! |
@ssheorey Any updates on the 0.18 release? |
♫ All I want for Christmas is a new Open3D ♬ 😄 ❤️ |
Working on it... Hope to have a new year present for all... |
Type
Motivation and Context
Fix #5620
Checklist:
python util/check_style.py --apply
to apply Open3D code styleto my code.
updated accordingly.
results (e.g. screenshots or numbers) here.
Description
I guess some documentation will also be required to be updated somewhere. I am not familiar with the workspace, I just happened to have python3.11 on my machine so wanted to give a go to the update. Maybe there more stuff to update than what I did. Let's see what the CI have to say.
Companion Open3D-ML PR: isl-org/Open3D-ML#619
This change is