Traitement de données LIDAR acquises en sous bois, extraction par méthodes tomographiques de données individuelles d'arbre, localisation, diamètre, volumétrie.

[UBUNTU INSTALLATION ET EMPLOI Mise en place bibliothèques et environnement de traitement LIDAR]

[Plateforme Dell Précision 5810 sous UBUNTU 18.04 LTS au 2/11/2018 démarrage avec installation mini, de  Ubuntu 18.04 LTS]

Compte tenu des conflits fréquents de librairie, la présente page, sans être exhaustive en aucune manière, rappelle les précautions prises lors de l'installation graduelle de la plateforme précédente, afin d'assurer des développements exploratoires et  de préparer des migrations partielles sur serveur selon les configurations envisagées notamment en matière de GPU, afin de rassembler une configuration matérielle et logicielle acceptable pour du traitement de nuage de points LIDAR (Filtrage, mise en forme recalage, agrégation, détection de primitives géométriques) et de la reconnaissance de formes et de structures 3D, au sein du nuage de points,  par apprentissage

Information sur OS installé

$ cat /etc/os-release

$ dpkg -L <packagename> liste la zone d'installation des fichiers d'un paquet

 $ sudo apt install cmake-curses-gui <= Installation de CMAKE en mode CURSE

 

# lscpu =>

Architecture : x86_64
Mode(s) opératoire(s) des processeurs : 32-bit, 64-bit
Boutisme : Little Endian
Processeur(s) : 4
Liste de processeur(s) en ligne : 0-3
Thread(s) par cœur : 1
Cœur(s) par socket : 4
Socket(s) : 1
Nœud(s) NUMA : 1
Identifiant constructeur : GenuineIntel
Famille de processeur : 6
Modèle : 63
Nom de modèle : Intel(R) Xeon(R) CPU E5-1603 v3 @ 2.80GHz
Révision : 2
Vitesse du processeur en MHz : 2324.240
Vitesse maximale du processeur en MHz : 2800,0000
Vitesse minimale du processeur en MHz : 1200,0000
BogoMIPS : 5587.11
Virtualisation : VT-x

# less /proc/cupuinfo =>

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU E5-1603 v3 @ 2.80GHz
stepping : 2
microcode : 0x3d
cpu MHz : 1933.215
cache size : 10240 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 15
wp : yes

[Pour mémoire ]

Outil descriptif materiel =>lsusb, lspci,  lscpu, cat /proc/cpuinfo, procinfo,  hardinfo, lshw, nproc, dmidecode, cpuid, inxi

Historique apt avec recherche sur motif (ex.: python2) : cat /var/log/dpkg.log |grep python2

Ubuntu 18 pour préparer une installation minimale

Recherche des pilotes pour cartes graphiques

$ ubuntu-drivers devices

Se reporter au lien suivant > https://linuxconfig.org/how-to-install-the-nvidia-drivers-on-ubuntu-18-04-bionic-beaver-linux

Prendre également en compte les drivers en version Beta, dans le même article

Quelques utilitaires => :

sudo apt install mesa-utils

 [OpenGL install]

Voir ICI => http://ubuntuhandbook.org/index.php/2018/05/install-mesa-18-0-4-ubuntu-18-04-lts/

[LIBLAS  / GEOTIIF]

 20/12/2018 Compte tenu de l'antériorité des revision en GitHub pour ces deux bibliothèques ~2 à 5 ans on prend les versions prposées dans Ubuntu 18.04 LTS

[NVIDIA Boite à Outil]

Note: Lors d'installation sur des serveurs (notamment distants ou machines virtuelles) à configuration minimale, il est fréquent que la compatibilité 32 bits ne soit pas toujours installée. En conséquence, il est recommandé de l'installer :

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386


Ensuite lors de l'installation du pilote du processeur NVIDIA, en cas de conflit persistant (ne trouve pas la zone 32 bits) il est recommandé de lui passer ce chemin en option
./BinaireInstalationPilote.run --compat32-libdir /lib/i386-linux-gnu.
La zone d'installation 32 bits se trouvant aisément avec dpkg -L libc6:i386

Driver: Not Selected (Mise en place 410 depuis dépôt PPA )
Toolkit: Installed in /usr/local/cuda-10.0
Samples: Installed in /home/mbariou/CUDA-EX, but missing recommended libraries

Whern the SDK installation is completed make sure that
- PATH includes /usr/local/cuda-10.0/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-10.0/lib64, or, add /usr/local/cuda-10.0/lib64 to /etc/ld.so.conf and run ldconfig as root => reconstruire /etc/environmeent

To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-10.0/bin

Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-10.0/doc/pdf for detailed information on setting up CUDA.

***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 384.00 is required for CUDA 10.0 functionality to work.
To install the driver using this installer, run the following command, replacing with the name of this run file: En fait fait depuis ppa Ubuntu
sudo .run -silent -driver

Logfile is /tmp/cuda_install_3452.log

[Prérequis et notamment pour  Jedit & PyCuda]

sudo apt install openjdk-11-jre-headless git python3 python3-pip ocl-icd-libopencl1 opencl-headers clinfo ocl-icd-opencl-dev
sudo pip3 install setuptools numpy scipy scikit-learn pybind11 pyopencl
sudo java -jar jedit5.5.0install.jar

[OpenGL]

Reprise d'installation complémentaire pour OpenGL : sudo apt install freeglut3-dev freeglut3

[PYCUDA]

Installation préalable :

Si absent mise place du SDK CUDA, connaissance de drivers mis en place pur NVIDIA

$ nvidia-smi <= Permet de visulaiser les Drivers/Pilotes NVIDIA en place
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.78 Driver Version: 410.78 CUDA Version: 10.0 |
|-------------------------------+----------------------+----------------------+

Ensuite voir => https://wiki.tiker.net/PyCuda/Installation/Linux

 et notamment  For Python 3.4++

$ ./configure.py --python-exe=/usr/bin/python3 --cuda-root=/usr/local/cuda --cudadrv-lib-dir=/usr/lib/x86_64-linux-gnu --boost-inc-dir=/usr/include --boost-lib-dir=/usr/lib --boost-python-libname=boost_python-py34 --boost-thread-libname=boost_thread --no-use-shipped-boost

En phase de test, l'erreur suivante peut apparaître, suite à installation généralement de PyTorch ou TensorFlow

RuntimeError: module compiled against API version 0xc but this version of numpy is 0xb terminate called after throwing an instance of 'std::runtime_error'
what(): numpy failed to initialize
Abandon (core dumped)

 Il est possible de la corriger par la réinstalltion de Numpy en ignorant les dépendances, => https://tinyurl.com/y8b44eg8

$ sudo pip3 uninstall numpy
$ sudo pip3 install numpy -I       <= Option -I pour ignorer certaines dépendances

PYCUDA compilé Latest commit 17961be 20 days ago à la date du 6 décembre 2018

 [CMAKE]

Il vaut mieux corriger l'anomalie, mais en urgence : (CMAKE_CXX_FLAGS "-fpermissive -std=c++0x") in CMakeLists.txt.

 

[VTK] Latest commit 34af764 13 hours ago le 6/11/2018 (abandon, mais mauvaise analyse, traitée ci-après)

[VTK] Latest commit 1b8edea 23 hours ago le 15/11/2018

Au préalable, afin de gérer les dépendances QT5,  avant la création du Makefile  avec CMake faire  :

sudo apt install qt5-default libqt5x11extras5-dev libqt5x11extras5

Could not find a package configuration file provided by "Qt5UiPlugin" with any of the following names:

Qt5UiPluginConfig.cmake
qt5uiplugin-config.cmake

L'installation suivante est à faire :
sudo apt-get install qttools5-dev
sudo apt-get update

Compilé avec Python 2.7, pas de support Python 3 chez Kitware au 15/11/2018, Makefile construit avec Python2.7, QT5, Groupe: -Web, -Views, -StandAlone, -Rendering, -Imaging

Retrait MPI, car :

  • Found PythonInterp: /usr/bin/python2 (found suitable version "2.7.15", minimum required is "2")
  • Looking for MPI_Type_create_f90_integer
  • Looking for MPI_Type_create_f90_integer - not found
  • Looking for MPI_Status_fc2
  • Looking for MPI_Status_fc2 - not found
  • Looking for MPI_CONVERSION_FN_NULL
  • Looking for MPI_CONVERSION_FN_NULL - not found
  • Found PythonInterp: /usr/bin/python2 (found version "2.7.15")

 

 Compilation correcte mais conflit avec PCL (5/11/2018), à revoir => Anomalie traitée le 18/11/2018 voir plus bas, conflit de version réglé, sur les changements de type lors de surcharge d'appel de fonction.

[MISE EN PLACE BIBLIOTHEQUES SPECIFIQUES AU TRAITEMENT DE NUAGE DE POINTS]

[Préparation spécifique au traitement LIDAR Installation sur UBUNTU 18.04 LTS]

[PCL] au 30 Octobre 2018  https://github.com/PointCloudLibrary/pcl/commit/7a0d8d53da203dedf783d075497d32ec98966fc8

Compilation spécifique VTK (GithUb commit du 4/11/2018 Latest commit b81e364 19 hours ago)

Installation en natif de EIGEN 3 avec BLAS et LAPACK (Fortran exigé libopenblas-bse libopenblas-dev)

Installation native de FLANN  car relativement stable => libflann1.9 libflann-dev libusb-1.0-0-dev zlib1g-dev zlib1g libpng-dev libqhull-dev libpcap0.8 libpcap0.8-dev libboost-all-dev/

Afin de générer Configure si nécessaire => sudo apt install autoconf automake libtool

Installation de metslib à partir de du paquet metslib-0.5.3.tgz

Tide application multi-écran => https://github.com/BlueBrain/Tide

Tide application n'a pas été traitée, l'usage est marginal à voir ultérieurement pour du multi-écran.

Suite à recompilation de VTK le 17/11/2018 Reprise  de la compilation de PCL (Ubuntu 18.04 LTS,  GCC 4.3 VTK 8.2 with PCL 1.9+ Latest commit 9073f63 2018/11/14)  avec toutes Options sauf TIDE, DSSDK, RSSDK, ENSENSO et avec les modifications qui suivent sur pcl/visualization/src/pcl_visualizer.cpp
I pickup the 2612 change #ii..#else ..#endif, after code line 3563 and I apply it to the previous commit, it works perfectly thanks ! :

#if VTK_MAJOR_VERSION >= 8 && VTK_MINOR_VERSION >= 2
mapper->MapDataArrayToMultiTextureAttribute(mesh.tex_materials[tex_id].tex_name.c_str(),
this_coordinates_name.c_str(),
vtkDataObject::FIELD_ASSOCIATION_POINTS);
#else
mapper->MapDataArrayToMultiTextureAttribute(tu,
this_coordinates_name.c_str (),
vtkDataObject::FIELD_ASSOCIATION_POINTS);
this_coordinates_name.c_str(),
vtkDataObject::FIELD_ASSOCIATION_POINTS);
#endif

polydata->GetPointData ()->AddArray (coordinates);
actor->GetProperty ()->SetTexture (tu, texture);
++tex_id;

}

18/11/2018 => Une compilation complémentaire ajoutera l'accès au SDK CUDA et à des fonctions marginales pour nous sur le GPU.

[PDAL]

Compilation préalable de [PROJ4] Fait et installé

Si GDAL est installé en natif, son installation contribue à la mise en place de LIBPROJ aussi compile-t-on préalablement PROJ4 :

Les paquets supplémentaires suivants seront installés en absence d'installation préalable de PROJ4 :

Les paquets supplémentaires suivants seront installés : , default-libmysqlclient-dev gdal-data hdf5-helpers libaec-dev libaec0, libarmadillo-dev libarmadillo8 libarpack2 libarpack2-dev libblas-dev, libblas3 libcurl4-gnutls-dev libdap-dev libdap25 libdapclient6v5, libdapserver7v5 libepsilon-dev libepsilon1 libfreexl-dev libfreexl1, libfyba-dev libfyba0 libgdal20 libgeos-3.6.2 libgeos-c1v5 libgeos-dev, libgeotiff-dev libgeotiff2 libgif-dev libgif7 libhdf4-0-alt libhdf4-alt-dev, libhdf5-100 libhdf5-cpp-100 libhdf5-dev libjbig-dev libjpeg-dev, libjpeg-turbo8-dev libjpeg8-dev libjson-c-dev libkml-dev libkmlbase1, libkmlconvenience1 libkmldom1 libkmlengine1 libkmlregionator1 libkmlxsd1, liblzma-dev libminizip-dev libminizip1 libmysqlclient-dev libmysqlclient20, libnetcdf-dev libnetcdf13 libodbc1 libogdi3.2 libogdi3.2-dev, libopenjp2-7-dev libpoppler-dev libpoppler-private-dev libpq-dev libpq5, libproj-dev libproj12 libspatialite-dev libspatialite7 libsqlite3-dev, libsuperlu-dev libsuperlu5 libsz2 libtiff-dev libtiff5-dev libtiffxx5, liburiparser-dev liburiparser1 libwebp-dev libxerces-c-dev libxerces-c3.2, libxml2-dev mysql-common odbcinst odbcinst1debian2 proj-bin proj-data, unixodbc-dev uuid-dev


Paquets suggérés :, libitpp-dev liblapack-doc libcurl4-doc libgnutls28-dev libidn11-dev, libkrb5-dev libldap2-dev librtmp-dev libssh2-1-dev libgdal-doc, libgeotiff-epsg geotiff-bin gdal-bin libhdf4-doc hdf4-tools libhdf5-doc, liblzma-doc netcdf-bin netcdf-doc libmyodbc odbc-postgresql tdsodbc, unixodbc-bin ogdi-bin libfreetype6-dev postgresql-doc-10 sqlite3-doc, libsuperlu-doc libxerces-c-doc


Les NOUVEAUX paquets suivants seront installés :, default-libmysqlclient-dev gdal-data hdf5-helpers libaec-dev libaec0, libarmadillo-dev libarmadillo8 libarpack2 libarpack2-dev libblas-dev, libblas3 libcurl4-gnutls-dev libdap-dev libdap25 libdapclient6v5, libdapserver7v5 libepsilon-dev libepsilon1 libfreexl-dev libfreexl1, libfyba-dev libfyba0 libgdal-dev libgdal20 libgeos-3.6.2 libgeos-c1v5, libgeos-dev libgeotiff-dev libgeotiff2 libgif-dev libgif7 libhdf4-0-alt, libhdf4-alt-dev libhdf5-100 libhdf5-cpp-100 libhdf5-dev libjbig-dev, libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev libjson-c-dev libkml-dev, libkmlbase1 libkmlconvenience1 libkmldom1 libkmlengine1 libkmlregionator1, libkmlxsd1 liblzma-dev libminizip-dev libminizip1 libmysqlclient-dev, libmysqlclient20 libnetcdf-dev libnetcdf13 libodbc1 libogdi3.2, libogdi3.2-dev libopenjp2-7-dev libpoppler-dev libpoppler-private-dev, libpq-dev libpq5 libproj-dev libproj12 libspatialite-dev libspatialite7, libsqlite3-dev libsuperlu-dev libsuperlu5 libsz2 libtiff-dev libtiff5-dev, libtiffxx5 liburiparser-dev liburiparser1 libwebp-dev libxerces-c-dev, libxerces-c3.2 libxml2-dev mysql-common odbcinst odbcinst1debian2 proj-bin, proj-data unixodbc-dev uuid-dev

Les paquets supplémentaires suivants seront installés après installation préalable de PROJ4 (peu ou pas de différence à analyser plus finement) :

Les paquets supplémentaires suivants seront installés : default-libmysqlclient-dev gdal-data hdf5-helpers libaec-dev libaec0 libarmadillo-dev libarmadillo8 libarpack2 libarpack2-dev libblas-dev libblas3 libcurl4-gnutls-dev libdap-dev libdap25 libdapclient6v5 libdapserver7v5 libepsilon-dev libepsilon1 libfreexl-dev libfreexl1 libfyba-dev libfyba0 libgdal20 libgeos-3.6.2 libgeos-c1v5 libgeos-dev libgeotiff-dev libgeotiff2 libgif-dev libgif7 libhdf4-0-alt libhdf4-alt-dev libhdf5-100 libhdf5-cpp-100 libhdf5-dev libjbig-dev libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev libjson-c-dev libkml-dev libkmlbase1 libkmlconvenience1 libkmldom1 libkmlengine1 libkmlregionator1 libkmlxsd1 liblzma-dev libminizip-dev libminizip1 libmysqlclient-dev libmysqlclient20 libnetcdf-dev libnetcdf13 libodbc1 libogdi3.2 libogdi3.2-dev libopenjp2-7-dev libpoppler-dev libpoppler-private-dev libpq-dev libpq5 libproj-dev libproj12 libspatialite-dev libspatialite7 libsqlite3-dev libsuperlu-dev libsuperlu5 libsz2 libtiff-dev libtiff5-dev libtiffxx5 liburiparser-dev liburiparser1 libwebp-dev libxerces-c-dev libxerces-c3.2 libxml2-dev mysql-common odbcinst odbcinst1debian2 proj-bin proj-data unixodbc-dev uuid-dev

Paquets suggérés : libitpp-dev liblapack-doc libcurl4-doc libgnutls28-dev libidn11-dev libkrb5-dev libldap2-dev librtmp-dev libssh2-1-dev libgdal-doc libgeotiff-epsg geotiff-bin gdal-bin libhdf4-doc hdf4-tools libhdf5-doc liblzma-doc netcdf-bin netcdf-doc libmyodbc odbc-postgresql tdsodbc unixodbc-bin ogdi-bin libfreetype6-dev postgresql-doc-10 sqlite3-doc libsuperlu-doc libxerces-c-doc

Les NOUVEAUX paquets suivants seront installés : default-libmysqlclient-dev gdal-data hdf5-helpers libaec-dev libaec0 libarmadillo-dev libarmadillo8 libarpack2 libarpack2-dev libblas-dev libblas3 libcurl4-gnutls-dev libdap-dev libdap25 libdapclient6v5 libdapserver7v5 libepsilon-dev libepsilon1 libfreexl-dev libfreexl1 libfyba-dev libfyba0 libgdal-dev libgdal20 libgeos-3.6.2 libgeos-c1v5 libgeos-dev libgeotiff-dev libgeotiff2 libgif-dev libgif7 libhdf4-0-alt libhdf4-alt-dev libhdf5-100 libhdf5-cpp-100 libhdf5-dev libjbig-dev libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev libjson-c-dev libkml-dev libkmlbase1 libkmlconvenience1 libkmldom1 libkmlengine1 libkmlregionator1 libkmlxsd1 liblzma-dev libminizip-dev libminizip1 libmysqlclient-dev libmysqlclient20 libnetcdf-dev libnetcdf13 libodbc1 libogdi3.2 libogdi3.2-dev libopenjp2-7-dev libpoppler-dev libpoppler-private-dev libpq-dev libpq5 libproj-dev libproj12 libspatialite-dev libspatialite7 libsqlite3-dev libsuperlu-dev libsuperlu5 libsz2 libtiff-dev libtiff5-dev libtiffxx5 liburiparser-dev liburiparser1 libwebp-dev libxerces-c-dev libxerces-c3.2 libxml2-dev mysql-common odbcinst odbcinst1debian2 proj-bin proj-data unixodbc-dev uuid-dev

$ sudo apt install libunwind-dev

execinfo introuvable en dépôt ou en GitHub source

LASZIP => Compilé Latest commit 5462a47 18 days ago à la date du 6 Décembre 2018

CPD => Compilé git clone https://github.com/gadomski/cpd.git Latest commit 94094c1 on 2 Dec 2017

sudo apt install libsqlite3-mod-spatialite python-pyspatialite spatialite-gui

Installation apt Les paquets supplémentaires suivants seront installés : libcharls1 librasterlite2-1
Les NOUVEAUX paquets suivants seront installés : libcharls1 librasterlite2-1 libsqlite3-mod-spatialite python-pyspatialite spatialite-gui

Compilation de PDAL Latest commit d77cf59 15 hours ago le 6 novembre 2018 08:30 (passe avec PCL sans VTK)

Exemple récupération de branche spécifique => git clone https://github.com/PDAL/PDAL.git --branch 1.8-maintenance

Installation native de Python2 et doxygen et LbreOffice
sudo apt install libreoffice-writer libreoffice-templates libreoffice-l10n-fr libreoffice-texmaths libreoffice-math libreoffice-dmaths libreoffice-draw libreoffice-impress libreoffice-gnome

Compilation de CPD Latest commit 94094c1 on 2 Dec 2017

With BASH, CPD, DELAUNAY, PCL, SQLITE, PYTHON, MBIO, lasZIP, Test, Zlib, Shared Libs, Test SqLITE as Plugin or Greffon.

Reprise Compilation de PDAL Latest commit d77cf59 du 6 novembre 2018 08:30 avec PCL et capacité VTK le 18/11/2018 .... en cours

[MLPACK]

Latest commit 922950f a day ago du 6/11/2018

http://www.mlpack.org/docs/mlpack-git/doxygen/tutorials.html

Installation native de txt2man pour la production de documentation

[OPENCV]

Latest commit 687fa6a 5 days ago au 6/11/2018

Compilation Immédiate sans problème => Histogramme sous forme d'images raster, Tuto SVM mérite intérêt, inspire pour MLPack

[EXA-FOREST] <= Travaux de R&D d'EXAMETRICS

Dans le main.cpp faire l'include vers pcl 1.9

#include <pcl-1.9/pcl/.....>
.....

#ifndef ACCEPT_USE_OF_DEPRECATED_PROJ_API_H
#define ACCEPT_USE_OF_DEPRECATED_PROJ_API_H
#endif
#include <proj.h>
#include <proj_api.h>

Modif du CMakelist.txt =>
Rediriger le CMakelist.txt => pcl 1.9
find_package(PCL 1.9 REQUIRED)
[PROJ4]
find_package(PROJ4)
include_directories(${PROJ4_INCLUDE_DIRS})
target_link_libraries(t ${PROJ4_LIBRARIES})

 

 [OPEN3D]

A ses débuts ! Intérêt d'apprentissage, une nouvelle génération s'intéresse au traitement 3D en challengeant PCL et PDAL, du chemin reste à faire

Installation complémentaire de :

sudo apt install ibxi-dev libglw-dev pybind11-dev libxcursor-dev libxinerama-dev libxrandr-dev

L'installation sans problème,  recompilation nécessaire pour complément

 [CGAL]

Compilation from GitHub => git clone https://github.com/CGAL/cgal.git

sudo apt install libgmp-dev libmpfr-dev libpipe-dev liblapack-dev libtbb-dev

 

[PARAVIEW]

Après le clonage du git, récupérer le source de référence de VTK pour la compilation, commande en ligne dans le source de PARAVIEW

git submodule update --init --recursive

Installation complémentaire de :

sudo apt install gfortran gfortran-dev libxi-dev libglw-dev

sudo apt install libprotobuf-c-dev

sudo apt-get install python-vtk

sudo apt install python-pyvtk

 

[CLOUDCOMPARE]

Installations préalables

 sudo apt install cclib cclib-data python3-cclib libqt5svg5 libqt5svg5-dev

 [Capacité apprentissage profond NVIDIA + scikit-learn Teano keras TensorFlow MLPack OpenCv]

Affichage Opencv_Python =>Spyder conflit imgshow()

import cv2
image=cv2.imread("energy.png")
print (image.shape)
cv2.imshow('HSV image', image); cv2.waitKey(0); cv2.destroyAllWindows();cv2.waitKey(1)  <= La fermeture d'écran se fait sur la frappe d'une touche, autrement nécessité de re-démarrer le noyau Spyder.

+ timing à l'ouverture sur un second démarrage, sauf à cliquer sur "écran prêt"

 Téléchargement de cudNN depuis https://developer.nvidia.com/rdp/cudnn-download

  1. sudo dpkg -i libcudnn7_7.4.1.5-1+cuda10.0_amd64.deb   => dans /usr/lib/x86_64-linux-gnu/libcudnn.so
  2. sudo dpkg -i libcudnn7-dev_7.4.1.5-1+cuda10.0_amd64.deb => dans /usr/include/x86_64-gnu-linux/lib64
  3. sudo dpkg -i libcudnn7-doc_7.0.3.11-1+cuda9.0_amd64.deb => dans => /usr/src/cudnn_samples_v7
  4. chmod +x libcudnn7_7.4.1.5-1+cuda10.0_amd64.deb
  5. tar xvfz cudnn-10.0-linux-x64-v7.4.1.5.tgz

Installation => https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html
Création du répertoire WKSCUDA
$make clean && make

sudo pip3 install tensorflow-gpu
Divers pré-requis nécessaire en IA / ML /DL :
sudo pip3 install scikit-learn
sudo pip3 install scikit-image
sudo apt install libgtk2.0-dev
sudo pip3 install spyder
sudo pip3 install python-opencv
apt install pkg-config
sudo apt install libblas-dev
sudo apt install libatlas-base-dev
sudo apt install emscripten emscripten-doc pylint pylint3
sudo apt-get install build-essential python3-dev python3-setuptools python3-numpy python3-scipy libatlas-dev libatlas3gf-base imutils net-tools traceroute
sudo pip3 install pandas

 

[TENSORFLOW]

Note : Pour TensorFlow il faut distinguer les distributions GPU des distributions CPU ainsi qu'assurer les prise en compte des jeux d'instructions dans les compilations, les premières mises en Oeuvre sur CPU seul et sur GPU ensuite.
!!( sudo pip3 install tensorflow --upgrade) [Attention !] Pour les installations de TensorFlow il faut prendre en compte les jeux d'instructions possibles du CPU.

Voir ICI=> https://github.com/lakshayg/tensorflow-build
Faire le test en Local sur les règles de compilation de GCC :

avec la commande => gcc -mavx2 -dM -E - < /dev/null | egrep "SSE|AVX" | sort

ou plus complet =>

for i in 4fmaps 4vnniw ifma vbmi vpopcntdq ; do echo "==== $i ====" ; gcc -mavx512$i -dM -E - < /dev/null | egrep "AVX512" | sort ; done

Dans le cas présent de la plateforme courante TensorFlow émet le message d'erreur suivant : Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA

Donc prendre en compte la capacité AVX2 et FMA  pour la compilation de TensorFlow, et faire l'installation en conséquence depuis le GitHub

(Pour la manipulation de nuage de points LIDAR à comparer avec lesd Outils PDAL / PCL ou LasPY, voir recréer en C++) => LasTools Installation : git clone http://github.com/LAStools/LAStools.git

Lien Symbolique vers numpy Car conflit d'installation en 2 zones de Python 3.6


[VISUALISATION & DÉBOGUAGE: TENSORBOARD]
Pour la visualisation graphique des graphes TensorFflow on utilise tensorboard  installé par défaut avec TensoFlow et qui nécessite la présente d'Apache2

sudo dnf install apache2

sudo systemctl enable service.apache2

sudo systemctl start service.apache2

Ensuite en ligne de commande après avoir créé les fichiers d'évènements (ans le répertoire  de travail ici => /home/mbariou/WKSPYDL/TENSORFLOW/DOC_TF/ on lance le serveur Web de visualisation:

$ tensorboard --logdir /home/mbariou/WKSPYDL/TENSORFLOW/DOC_TF/ --host localhost --port 8080
  TensorBoard 1.12.0 at http://localhost:8080 (Press CTRL+C to quit)

Ensuite avec le navigateur on passe à http://localhost:8080  et on est dans le navigateur graphique de TensorFlow. Sous réserve d'avoir introduit les commandes appropriées, dans le ficher testé vous avez accès au données de visualisation du graphe.

HOWTO => TensorFlow & TensorBoard :

https://github.com/tensorflow/tensorboard/blob/master/README.md

https://www.tensorflow.org/guide/graph_viz

https://www.tensorflow.org/guide/summaries_and_tensorboard

[KERAS]

sudo pip3 install keras

[PYTORCH]

sudo pip3 install torch torchvision

git clone https://github.com/pytorch/pytorch.git    <=  Non compilé ni installé

Autres installations intermédiare issues des cours EDX/IBM pour mise en oeuvre sous SPYDER (Installé sous Python 3) hors ANACONDA Jupyter

 


[Compléments]

sudo apt-get install openscad <= Pour FreeCad

sudo apt-get install freecad

[SIMPLETREE]

git clone https://github.com/SimpleTree/simpleTree.git

[PYPETREE]

git clone https://github.com/cjauvin/pypetree.git

 

 [GDAL]

Installation native simple découverte

sudo apt install dans-gdal-scripts gdal-bin gdal-data python3-gdal

 [SAGA] Compilation en version 7 (version distri 2.2)

Dépendances préalables => sudo apt-get install libwxgtk3.0-dev libtiff5-dev libgdal-dev libproj-dev libexpat-dev wx-common libogdi3.2-dev unixodbc-dev

+ Haskell-gc et Hpdf

[GRASS] Version distri installée 7.2, version en développement 7.4

Nous utilisons des cookies. Ils sont activés sur ce sites/, êtes vous d'accord ? Des infos sur les Cookies => ICI informations privées.

  J'accepte les cookies de ce site.
EU Cookie Directive plugin by www.channeldigital.co.uk