-
Notifications
You must be signed in to change notification settings - Fork 1.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
Upgrade to python 3.9 and TF 2.9 #1119
Conversation
…ng TF Signatures to fix order of output layers.
…n TFLite. Reverted to previous TF lite parameters, otherwise the LSTM did not convert. Updated keras test accordingly.
…d via pip, because the conda/mamba install cannot resolve the conflicts.
… to only test trt if conversion succeeded. Added jetson.yml file and fixed ubuntu.yml
…s introduced in last commit
…s **kwargs into function call.
…an only be manipulated form the main thread. This requires separating the training call and adding a monitor call to check for completed training and performing a ui updated out of the main thread rather.
…use picamera2 package.
…use picamera2 package.
…tson and also align kivy to 2.1
… loading the optimizer.
…n more reconciled.
…rfaces between different interpreters are aligned and can all be called by input dictionary.
# Conflicts: # donkeycar/parts/web_controller/web.py # install/envs/mac.yml # install/envs/ubuntu.yml # setup.py
@DocGarbanzo is there a corresponding branch in the docs repo that I can use to test the install instructions? Nevermind, I see it https://github.com/autorope/donkeydocs/tree/Update_to_tf_29 |
Yes thats the one. |
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.
This looks great. Thank you @DocGarbanzo for all the hard work to get this done. Also thanks to @TCIII for his testing and work on the Nano.
… w/ opencv headless.
Some of these supported versions are incorrect in the table at the frontend of the DC Nano/Xavier installation instructions:
Additionally, you still have albumentations in the main branch
Albumentations requires Python >=3.7 and JP4.5.1 and JP4.6.1/2 are using Python 3.6.9. TCIII |
Upgrade to python 3.9 and TF 2.9 and bullseye on RPi
This PR is upgrading the DC software on all platforms:
Why do we chose this combination? There are some further code changes required if we move to python 3.10. In addition, TF > 2.9 will not support GPU support on native windows any longer. Hence in the next upgrade we have strongly reduced windows support.
The code change addresses all required changes to enable the newer version of TF and the camera on RPi as well as some small general improvements. For example the Model now takes an
*args
argument as a second entry in therun
method so we can handle model with arbitrary input data and not only two. Also theInterpreter
classes got streamlined and simplified.PC
On the PC we mainly perform the upgrade to py 3.9, TF 2.9 and kivy 2.1.
Raspberry Pi
We now install Raspberry Pi OS Bullseye 64-bit which comes with improvements in performance and the new camera software. Inferencing the linear model also using Tensorflow 2.9 brings a speedup of about 20% compared to the previous version.
Jetson
We are supporting Jetson Nano for DC <= 4.5, i.e. the latest version before this. This will require JP 4.5. DC version 5.0 and newer require JP 4.6 on the Jetson Nano and JP 5.0 on the Jetson Xavier. Of these three installations the JP 4.6 is the most tricky one, because we need self built tensorflow wheel, to be installed from the donkeycar/jetson repo and also self build and install our opencv with gstreamer support in order to get the camera working. Not for the faint-harted.