ArcGIS Pro
Deep Learning Software en tools installeren en opzetten binnen ArcGIS Pro en ArcGIS API for Python
Wat is Machine Learning, Deep Learning en Geo-AI
Machine Learning en Deep Learning zijn krachtige analyse tools die het mogelijk maken verbanden in data te zien die het menselijk oog mogelijk over het hoofd ziet. Het zijn processen waarbij een onderliggend algoritme gebaseerd op onderzoek naar kunstmatige intelligentie (Artificial Intelligence oftewel AI) gebruikt wordt om de computer te leren verbanden te herkennen. Het gebruik van dergelijke AI oplossingen binnen GIS wordt meestal onder de term Geo-AI geplaatst.
Het uitvoeren van dit algoritme vereist over het algemeen de volgende data:
- Brondata, met hierin de data waarin verbanden gevonden moeten worden.
- Trainingsdata, dit is data waarvan bekend is wat de waardes zijn. Deze data wordt gebruikt om de machine de verbanden te leren zodat hij ze kan toepassen op de onbekende data.
ArcGIS Pro biedt een steeds uitgebreidere en effectievere selectie van tools, modellen en technieken om met behulp van Deep Learning en Machine Learning jouw complexe ruimtelijke problemen op te lossen! Deze tools zijn beschikbaar als geoprocessing tools binnen ArcGIS Pro maar ook via de ArcGIS API for Python, maar om deze functionaliteit beschikbaar te maken binnen ArcGIS Pro zijn enkele extra stappen vereist.
De vereisten voor het gebruik van deze Machine Learning en Deep Learning tools is het beschikbaar maken van Deep Learning Libraries binnen ArcGIS Pro. Deze Deep Learning Libraries bevatten de benodigde bestanden en code die dit mogelijk maakt. Deze Deep Learning Libraries zijn niet standaard meegeleverd binnen een installatie van ArcGIS Pro, in de rest van dit artikel wordt hierom uitgelegd hoe je deze installeert bovenop ArcGIS Pro. Gezien het updaten van de Deep Learning Libaries vaak de updates van ArcGIS Pro achterna loopt en vanwege wet en regelgeving rondom AI software in de VS zijn ze niet standaard aanwezig binnen een ArcGIS Pro installatie.
Ben je nog niet helemaal bekend met Geo-AI en Deep Learning en wat het voor je ruimtelijke analyse of voor je organisatie kan doen, bekijk dan vooral de volgende site, hierin staan demo’s, klantverhalen en verdere uitleg over dit onderwerp.
Vereisten en Installatie
Om goed te kunnen werken met de Deep Learning tools is CUDA essentieel. Hiervoor is ook Microsoft Visual Studio nodig. Zie CUDA Installation Guide for Microsoft Windows voor instructies voor het installeren van CUDA en de benodigde versie van Microsoft Visual Studio die ook geïnstalleerd moet worden bij de gekozen CUDA versie.
Let op: alleen NVIDIA videokaarten van bepaalde types ondersteunen CUDA. Zie hier de lijst met ondersteunde videokaarten.
Afhankelijk van de tools die je wilt gebruiken heb je verder de Spatial Analyst of de Image Analyst extension nodig. Wanneer je gebruik wilt maken van de ArcGIS API for Python kan je dit doen in Notebooks of elke andere python IDE. Wil je ArcPy gebruiken in combinatie met Notebooks of een andere IDE, dan is een ArcGIS Pro Advanced licentie nodig. Maak je ook gebruik van Notebooks in ArcGIS Online/Portal, dan is een Notebook privilege nodig voor je ArcGIS Named User account.
Attentie: de versie van de Deep Learning software moet overeenkomen met de versie van ArcGIS Pro! Wanneer dit niet het geval is kan dit errors opleveren bij het runnen van Deep Learning tools en code.
Voor het gebruik van Deep Learning tools en/of python functies binnen ArcGIS Pro is vereist dat de versie van de Deep Learning Libraries overeenkomt met de versie van ArcGIS Pro. De correcte versie kan hier gedownload worden. Als de Deep Learning Libraries Installer van de reeds geïnstalleerde versie van ArcGIS Pro nog niet op deze site staat, ga dan terug naar de nieuwste versie van ArcGIS Pro waarvoor de installer wel aanwezig is. De juiste versie van ArcGIS Pro kan gedownload worden op My Esri.
Installatie:
De Deep Learning Libraries kunnen op de volgende twee manieren geïnstalleerd worden: via de meegeleverde Deep Learning Frameworks Installer of via de Python Command Prompt. Het framework kan niet geïnstalleerd worden via de ArcGIS Pro Python Package Manager.
A. De Deep Learning Framework Installer
De Deep Learning Framework Installer biedt een eenvoudige en duidelijke manier om de libraries te installeren en is de aanbevolen manier om de Deep Learning Libraries te installeren. In de volgende stappen wordt uitgelegd hoe je de Deep Learning Framework Installer toepast om de Deep Learning Libraries te installeren. Onder het stappenplan is ook een opname te zien die de installatie visualiseert.
1. Download de juiste versie hier.
2. Unzip het bestand naar een folder en pak hem uit.
3. De zip file bestaat uit twee delen: een .cab en een .msi file. De .msi is de installatiefile, open deze en volg de instructies.
Hier vind je een video met uitleg over de installatie met de Deep Learning Framework Installer: https://www.youtube.com/watch?v=wWyhZNqBbFA
B. Installatie via de Python Command Prompt
Wanneer de Deep Learning Frameworks Installer niet gebruik kan worden is er een tweede optie. In dit geval kan je via de Python Command Prompt een handmatige installatie uitvoeren. Als voorbeeld is hieronder de handmatige installatie voor ArcGIS Pro 2.8 uitgelegd. Zie hier voor de installatie van andere versies.
1. Open de Python Command Prompt, start als Administrator. Je kunt deze zoeken via het start menu van Windows, of opstarten vanuit de ArcGIS Pro installatie folder.
2. Typ het volgende commando om een python environment te clonen (in dit voorbeeld wordt de nieuwe omgeving “deeplearning” genoemd, deze naam kan naar wens aangepast worden):
conda create --name deeplearning --clone arcgispro-py3 --pinned
3. Nadat het environment gecloned is, typ de volgende command line om deze te activeren:
activate deeplearning
4. Voer hierna het volgende commando uit om alle benodigde pakketten te installeren. Als de vraag “Proceed?” komt, lees dan de informatie, typ y en druk enter.
Let op: de benodigde pakketten zijn afhankelijk van de ArcGIS Pro en Deep Learning Library versie. Ga naar deze github pagina om te controleren of de command line installatie pakketten nog compleet zijn.
conda install -c esri arcgis=1.8.5 absl-py=0.12.0 ase=3.19.1 astor=0.8.1 beautifulsoup4=4.9.3 boost=1.73.0 cachetools=4.2.2 catalogue=1.0.0 cloudpickle=1.6.0 cudatoolkit=10.1.243 cudnn=7.6.5 cymem=2.0.5 cython=0.29.23 cython-blis=0.4.1 cytoolz=0.11.0 dask-core=2021.5.0 deep-learning-essentials=2.8 fastai=1.0.60 fastprogress=0.2.3 fasttext=0.9.2 filelock=3.0.12 fsspec=0.9.0 gast=0.2.2 google-auth=1.21.3 google-auth-oauthlib=0.4.2 google-pasta=0.2.0 googledrivedownloader=0.4 graphviz=2.38 grpcio=1.35.0 imageio=2.8.0 joblib=1.0.1 keepalive=0.5 keras-applications=1.0.8 keras-base=2.3.1 keras-gpu=2.3.1 keras-preprocessing=1.1.2 laspy=1.7.0 libboost=1.73.0 libopencv=4.5.0 libprotobuf=3.14.0 libwebp=1.2.0 llvmlite=0.36.0 markdown=3.3.4 murmurhash=1.0.5 ninja=1.10.2 numba=0.53.0 nvidia-ml-py3=7.352.0 onnx=1.7.0 onnx-tf=1.5.0 opencv=4.5.0 opt_einsum=3.3.0 partd=1.2.0 plac=1.1.0 plotly=4.5.4 pooch=1.0.0 preshed=3.0.2 protobuf=3.14.0 py-boost=1.73.0 py-opencv=4.5.0 pyasn1=0.4.8 pyasn1-modules=0.2.8 pytorch=1.4.0 pywavelets=1.1.1 rdflib=5.0.0 retrying=1.3.3 rsa=4.7.2 sacremoses=0.0.43 scikit-image=0.17.2 scikit-learn=0.23.2 sentencepiece=0.1.91 soupsieve=2.2.1 spacy=2.2.4 sparqlwrapper=1.8.5 srsly=1.0.2 tensorboard=2.4.0 tensorboard-plugin-wit=1.6.0 tensorboardx=2.1 tensorflow=2.1.0 tensorflow-addons=0.9.1 tensorflow-base=2.1.0 tensorflow-estimator=2.1.0 tensorflow-gpu=2.1.0 termcolor=1.1.0 thinc=7.4.0 threadpoolctl=2.1.0 tifffile=2020.10.1 tokenizers=0.8.1 toolz=0.11.1 torch-cluster=1.5.4 torch-geometric=1.5.0 torch-scatter=2.0.4 torch-sparse=0.6.1 torch-spline-conv=1.2.0 torchvision=0.5.0 tqdm=4.59.0 transformers=3.3.0 typeguard=2.7.0 wasabi=0.6.0 werkzeug=0.16.1 --no-deps
5. Typ het volgende commando om in ArcGIS Pro naar de nieuw gemaakte environment te swappen:
proswap <deeplearning>
Nu zijn de Deep Learning tools beschikbaar in ArcGIS Pro 2.8 en via de ArcGIS API for Python.
Voor verdere informatie en inspiratie voor mogelijk gebruik en implementatie van onze Deep Learning tools, kijk vooral naar de volgende Hub.