Configure OpenCV and PyTorch on ArchLinux
Published on
Get OpenCV working
Lib for C++
- Arch
$ sudo pacman -S opencv vtk hdf5
For Python
== virtualenv ==
See:
- the official documentation
- the infamous stackoverflow
Install using your package manager (for Arch):
$ sudo pacman -S python-pipenv python-virtualenvwrapper
If not available:
$ sudo pip3 install virtualenv virtualenvwrapper
== virtualenv and virtualenvwrapper ==
export WORKON_HOME=$HOME/.local/share/virtualenvswrapper
##export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper_lazy.sh
Create a virtual env to work on Python
mkvirtualenv cv4
pip install wheel numpy scipy matplotlib scikit-image scikit-learn ipython dlib opencv-contrib-python
deactivate
Useful commands: workon XXX / rmvirtualenv XXX -> from virtualenvwrapper
== pipenv ==
pipenv is made to build app. autoswtich is possible when moving to the project folder
$ sudo pacman -S python-pipenv
OR
$ pip install pipenv --user
You may have to update your path.
In the project folder:
$ pipenv install package will create a virtual env in this folder. Auto switch when moving to it.
Jupyter
jupyterlab is the “new” notebook, which is meant to replace it. At the moment, both are working fine and are compatible with each other. Documentation here
Install notebook: pip install notebook
Open a notebook: jupyter notebook mynotebook.ipynb
Install jupyterlab: pip install jupyterlab
Open a notebook: jupyter-lab mynotebook.ipynb
Gotchas
Matplotlib error while trying to display a figure
UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.
If you get this error, install tk as system package.
- Ubuntu
sudo apt install python3-tk - Arch:
sudo pacman -S tk
Jupyter error
ImportError: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html
With pip. Otherwise check above link.
pip install ipywidgets jupyter_nbextensions_configurator
jupyter nbextension enable --py widgetsnbextension
Machine learning with pytorch
torch
pip install torch torchvision
pip other packages
pip install tensorboard
20201204 - torch does not support python3.9
Install python38 from AUR (or python37 or python36)
Create a new virtuel environment using the method of your choice and specifying the python version with the argument -p, ie mkvirtualenv opencv -p python3.8
detectron2
Install cuda first
sudo pacman -S cuda cudnn
get detectron2
Rebuild using latest cuda version (11.1 on 2020-12-04)
python -m pip install 'git+https://github.com/facebookresearch/detectron2.git'
Install for pytorch 1.7 and cuda 11.0
python -m pip install detectron2 -f \
https://dl.fbaipublicfiles.com/detectron2/wheels/cu110/torch1.7/index.htmlvv
Notes
Install packages:
pip freeze > requirements.txt
pip install -r requirements.txt