Event Description
This course gives a practical introduction to machine learning with spatial data, both to shallow learning and deep learning models, including convolutional neural networks (CNN).
The course consists of lectures and hands-on exercises in Python. The main used libraries are scikit-learn, torchgeo and ultralytics.
The course is primarly intended for geoinformatics specialists who wish to learn how to use machine learning models with spatial data. Additionally, this course suits general data scientists who would like to use also spatial data for machine learning projects.
Deep learning models ofter require GPUs for efficient model training. During the course we will use Roihu supercomptuer for the exercises.
Use of CSC’s supercomputers is generally free-of-charge for users from Finnish universities and state research institutes. EuroHPC LUMI is a much bigger supercomputer, but the practical usage has many similarities with Roihu. LUMI is available for academic users from EU. Additionally, companies have possibilities to use LUMI
Topics of the course Introduction to machine learning Shallow machine learning models: regression and classification Preparing spatial data for machine learning Deep learning models Fully connected neural networks (MLP): regression and classification Convolutional neural networks (CNN) CNN based semantic segmentation of spatial raster data Object detection from spatial raster data Data preparations for object detection Segment-anything model with spatial raster data Supercomputer’s GPUs and using batch jobs
Learning outcomes After the course the participants should have the skills and knowledge needed to start applying machine learning for different spatial data analysis tasks. In addition, participants will be able to makes use of the supercomputers’ GPU resources for training and deploying their own machine learning models.
Prerequisites
Basics of geoinformatics, vector and raster data, coordinate systems. Basics of Python. The course will include a fair amount of reading Python code, so you should be able to follow Python syntax. If you need to refresh your Python skills you can go through the materials of Helsinki University GeoPython course. Basic Linux commands: cd, ls, mv, cp, rm, chmod, less, tail, echo, mkdir, pwd. If unfamiliar, take a look for example at LinuxSurvival first two modules. Location Innovation Hub’s GeoAI courses provide also a good background for this course.
Practical information This course is offered free of charge, but registration is required (deadline: 20.10). You can choose to attend the course at CSC office in Espoo or remotely. The course does not include any catering, only coffee/tea. Several lunch restaurants are in close distance.
Participants at CSC office are provided with a training PC. Online participants need own computer with Zoom, browser-based Zoom should be enough. Two screens are very recommended for online participation.
All hands-on activities of this course will be carried out with Roihu supercomputer’s webinterface, which you can access via your favorite webbrowser. For this, you do not need any additional software installed on your own computer.
To use Roihu, you need a CSC account with a sufficient level of identity assurance. If you do not yet have a CSC account, instructions for applying for one will be provided a week before the course. Users applying for a CSC account through HAKA or VIRTU (from Finnish universities or public administration) typically have the required level of assurance. Other users need to raise the level of assurance following the instructions in: https://docs.csc.fi/accounts/strong-identification/
If you later find out that you cannot attend the course, please let us know by sending an email to event-support@csc.fi so that people on the waitlist can fill your spot.
Please note that this course is intended for users affiliated with a European higher education institution, research institute or private industry. We accept only registrations done with organisational email address (not gmail, outlook, hotmail etc).
Materials Slides Exercises Github
(not updated yet for 2026) Preliminary schedule Day 1 Time Topic
9:00 Lecture 1.1: Introduction to machine learning 10:00 Lecture 1.2: Preparing spatial data for machine learning 10:30 Break 10:45 Exercise 1: Vector data preparation for regression 11:15 Exercise 2: Raster data preparation for classification 12:00 Lunch 13:00 Lecture 1.3: Shallow machine learning models: regression and classification 14:15 Break 14:30 Exercise 3: Shallow modelling, regression 15:10 Exercise 4: Shallow modelling, classification Day 2 Time Topic
9:15 Lecture 2.1: Deep learning models, fully connected neural networks (MLP) 10:30 Break 10:45 Exercise 5: MLP, regression 11:15 Exercise 6: MLP, classification 12:00 Lunch 13:00 Lecture 2.2: Convolutional neural networks, general 14:00 Exercise 7: Segment-anything model with spatial raster data 14:15 Break 14:30 Lecture 2.3 Roihu supercomputer’s GPUs and using batch jobs 15:10 Exercise 9A: Object detection using existing model Day 3 Time Topic
9:00 Lecture 3.1: CNN applications 9:45 Exercise 8: CNN based semantic segmentation of spatial raster data 12:00 Lunch 13:00 Lecture 3.2: Object detection 13:30 Exercise 9B: Object detection from spatial raster data, training own model 14:15 Break 15:30 Demo: Tensorboard 15:40 Alternative GIS-ML tools and links for more resources 15:50 Wrap-up, feedback survey