Skip to content
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

Suggested update to add installation for Ubuntu 22.04.1 LTS #2123

Closed
wants to merge 3 commits into from
Closed

Suggested update to add installation for Ubuntu 22.04.1 LTS #2123

wants to merge 3 commits into from

Conversation

OptogeneticsandNeuralEngineeringCore
  • Update to docs/recipes/installTips.md for installation instructions for clean install of Ubuntu 22.04.1 LTS.
  • (!) This includes instructions for use of conda env installation, but this installation method fails.
    • Downgrading to TF < 2.10 removes E tensorflow/stream_executor/cuda/cuda_blas.cc:2981] Unable to register cuBLAS factory:
    • But I am unable to resolve
      qt.core.plugin.loader: In /home/oc/anaconda3/envs/DLCenvConda666/plugins/platforms/libqeglfs.so: Plugin uses incompatible Qt library (5.15.0) [release]

@jeylau
Copy link
Member

jeylau commented Jan 25, 2023

Thanks @OptogeneticsandNeuralEngineeringCore! I cannot test it, but I just left a minor comment to avoid having to go through all the prompts.
For the QT error, could you export QT_DEBUG_PLUGINS=1 before opening the GUI; you'll get a more complete traceback that may help us understand what is causing the error ☺️

@jeylau
Copy link
Member

jeylau commented Jan 25, 2023

Perhaps the following helps:

pip uninstall opencv-python
pip install opencv-python-headless

@OptogeneticsandNeuralEngineeringCore

I have tried the headless python, to no avail.

With 'export QT_DEBUG_PLUGINS=1' I find the most relevant info:

Starting GUI...
qt.core.plugin.factoryloader: checking directory path "/home/onecore/anaconda3/envs/DEEPLABCUTe/plugins/platforms" ...
qt.core.plugin.factoryloader: looking at "/home/onecore/anaconda3/envs/DEEPLABCUTe/plugins/platforms/libqeglfs.so"
qt.core.plugin.loader: Found metadata in lib /home/onecore/anaconda3/envs/DEEPLABCUTe/plugins/platforms/libqeglfs.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"eglfs"
]
},
"archlevel": 0,
"className": "QEglFSIntegrationPlugin",
"debug": false,
"version": 331520
}

qt.core.plugin.loader: In /home/onecore/anaconda3/envs/DEEPLABCUTe/plugins/platforms/libqeglfs.so:
Plugin uses incompatible Qt library (5.15.0) [release]
qt.core.plugin.factoryloader: "The plugin '/home/onecore/anaconda3/envs/DEEPLABCUTe/plugins/platforms/libqeglfs.so' uses incompatible Qt library. (5.15.0) [release]"
not a plugin
qt.core.plugin.factoryloader: looking at "/home/onecore/anaconda3/envs/DEEPLABCUTe/plugins/platforms/libqminimal.so"
qt.core.plugin.loader: Found metadata in lib /home/onecore/anaconda3/envs/DEEPLABCUTe/plugins/platforms/libqminimal.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"minimal"
]
},
"archlevel": 0,
"className": "QMinimalIntegrationPlugin",
"debug": false,
"version": 331520
}

qt.core.plugin.loader: In /home/onecore/anaconda3/envs/DEEPLABCUTe/plugins/platforms/libqminimal.so:
Plugin uses incompatible Qt library (5.15.0) [release]
qt.core.plugin.factoryloader: "The plugin '/home/onecore/anaconda3/envs/DEEPLABCUTe/plugins/platforms/libqminimal.so' uses incompatible Qt library. (5.15.0) [release]"
not a plugin

But cannot seem to find a solution...

@OptogeneticsandNeuralEngineeringCore

Hello, just checking in on this. I don't have the time to figure out the installation of the conda env failure, but the pip installation is still helpful. Perhaps we could just push this out with a note suggestion to only use pip?

@MMathisLab
Copy link
Member

I'm not quite sure I am following; can you clarify what is diff to ubuntu 20.04 install guide? also DLC can be used with latest CUDA, its not pinned to 11?

docs/recipes/installTips.md Outdated Show resolved Hide resolved

`nvcc --version`

If error messages, read them carefully as they often tell you how to fix it, or what to google :D
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
If error messages, read them carefully as they often tell you how to fix it, or what to google :D
If you see error messages, read them carefully as they often tell you how to fix it, or what to google :D


Install CUDA:

```python
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
```python
```bash

`gcc --version`

output:
```python
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
```python
```bash

docs/recipes/installTips.md Outdated Show resolved Hide resolved
output:
```python
gcc --version
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be 22.04 as well, right?

Comment on lines +473 to +475
and run:

`bash Anaconda3-2021.05-Linux-x86_64.sh`
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here we could be a bit more explicit that the filename should be updated depending on the file downloaded.

We could also get users to install miniconda instead of Anaconda, which would be a bit more lightweight. Users should be able to do this entirely from the command line (haven't tested this installation exactly, as I do something similar but when installing miniconda in docker containers):

Note that depending on their system architecture, different versions should be installed (e.g., could be -aarch64.sh instead of -x86.sh)

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86.sh -O miniconda.sh -q
bash miniconda.sh -b

Comment on lines +567 to +569
If no git yet:

`sudo apt install git-all`
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

git is installed above, we should remove this to shorten the description a bit.

Comment on lines +495 to +498
DeepLabCut can be installed via:
* Docker: We strongly recommend for Ubuntu users to use Docker (https://hub.docker.com/r/deeplabcut/deeplabcut) - it's a much more reproducible environment.
* A conda file provided via the DeepLabCut website. This may be a bit more advanced in the development
* A simple installation through pip: either full GUI (recommeneded) or without GUI (called: DLCLite)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once conda, cuda and all other "system" packages are installed, I'm not sure we should continue with the description on how to run DLC (installing via Conda or PIP, with or without GUI etc.).

I would prefer linking to the existing documentation, instead of duplicating it. The reasoning being that if anything changes in DLCs installation process, we'll need to come modify these files as well as the original ones (which is unlikely to happen), hence we would have deprecated installation docs here.

If we do decide to keep this detailed installation information, I would try to make it a bit more condensed, as noted in the comments below.

Comment on lines +502 to +518
Create an enviroment:

`conda create --name DLCenvGUI python=3.8`

Activate the enviroment:

`conda activate DLCenvGUI`

Install DLC:

`pip install 'deeplabcut[gui,tf]'`

Start the GUI with:

`python -m deeplabcut`

**[Do DeepLabCut stuff.](https://deeplabcut.github.io/DeepLabCut/docs/standardDeepLabCut_UserGuide.html)**
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this would be nicer in a bit more concise way (otherwise it spreads out a lot when reading the documentation):

conda create --name DLCenvGUI python=3.8  # Create an environment
conda activate DLCenvGUI                  # Activate it
pip install "deeplabcut[gui, tf]"         # install DLC
python -m deeplabcut                      # Start the GUI

@n-poulsen
Copy link
Collaborator

I think there are quite a few changes we should make before merging this.

If we want to go forward with including this installation documentation I should be able to test the installation process, but not on a "fresh" install of Ubuntu 22.04, so I would not be able to test all of the package installations.

MMathisLab and others added 2 commits September 14, 2023 17:16
Co-authored-by: n-poulsen <45132115+n-poulsen@users.noreply.github.com>
Co-authored-by: n-poulsen <45132115+n-poulsen@users.noreply.github.com>
@MMathisLab
Copy link
Member

alright, since we are moving to pytorch now eminently, I vote to close, but I agree we should clean up docs, and also see #2421 which I think is a great base to start edits from.

@MMathisLab MMathisLab closed this Oct 27, 2023
@OptogeneticsandNeuralEngineeringCore

Oh, interesting. Pytorch sounds great, as does 2421. Yes, please close, but do note that should you ever need someone to test future builds on fresh systems, do reach out to me. That is my life (I set up so many computers based on user needs). So fresh/blank slate systems are my problem to address. Plus/side: I see real fruitfulness in getting full OS images on the Cloud (Google right now), such that they could be shared. It seems (?) like this could be even easier than Docker to spin up than , as they seem to well handle hardware versioning. And...well...GPU POWER.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants