Short Bio
Ioannis DasoulasElectrical and Computer Engineer, currently working as a Computer Science PhD Researcher. After graduating from University of Patras with an Integrated Master in Electrical and Computer Engineering and a specialization in machine learning, and software development, I started pursuing a PhD in Computer Science at KU Leuven. My research work focuses on data engineering for machine learning pipelines leveraging linked data, knowledge graph construction, and semantic enrichment methods. In my free time, I work on projects related to deep learning and cyber-physical systems, as well as for the Beyond Orbit robotics team as a machine learning engineer.
Embedded AI Project
NVIDIA Jetson Guide for Real-Time Deep Learning Inference from Scratch
Ioannis Dasoulas
A detailed guide to set up NVIDIA Jetson devices in order to run custom deep learning models
from scratch efficiently. The guide contains instructions on booting embedding devices,
configuring internet connection and memory, as well as setting up Python and running custom
deep learning code.
Publication
MLSeascape: Machine Learning Metadata Search Empowered by Knowledge Graphs
Ioannis Dasoulas, Duo Yang, Anastasia Dimou
A web application built on-top of MLSea-KG, which allows seamless search over machine learning
knowledge from all over the web. The user is able to search for machine learning datasets, models,
software, tasks, implementations, algorithms and publications as well as view their metadata. The application
is open-source.
Publication
MLSea-KG: A Knowledge Graph for Machine Learning Experiments
Ioannis Dasoulas, Duo Yang, Anastasia Dimou
A declaratively constructed and regularly updated KG with more than 1.44 billion RDF
triples of ML experiments, regarding datasets used in ML experiments, tasks, implementations and related
hyper-parameters, experiment executions, their configuration settings and evaluation results, code
notebooks and repositories, algorithms, publications, models, scientists and practitioners. It
integrates data from OpenML, Kaggle and Papers with Code.
Publication
MLSO: A Machine Learning Ontology
Ioannis Dasoulas, Duo Yang, Anastasia Dimou
The Machine Learning Sailor Ontology (MLSO) is an ontology that formally
represents machine learning datasets, along with their features and characteristics, machine
learning tasks, their implementations, experiments and their executions, relevant software
and publications, all complemented with rich metadata. The ontology was developed in a
data-centric manner, with the goal of curating data from diverse machine learning publicly
available sources, examining machine-learning-related data and metadata from online repositories,
such as OpenML, Kaggle and Papers with Code.
Publication
TorchicTab: Semantic Table Annotation with Wikidata and Language Models
Ioannis Dasoulas, Duo Yang, Xuemin Duan, Anastasia Dimou
A versatile semantic table interpretation system able to annotate tables with varied structures
by using either an external knowledge graph, such as Wikidata, or annotated tables with pre-defined
terms for training, leveraging kanguage models. TorchicTab achieved 1st place in the 2023
SemTab accuracy competition hosted at ISWC 2023.
Paper
Publication
Declarative RDF Construction from In-Memory Data Sources
Ioannis Dasoulas, David Chaves-Fraga, Daniel Garijo, Anastasia Dimou
A method to construct RDF graphs from data produced by a software process and stored in RAM.
RML's syntax is extended to describe software produced data sources. Morph-KGC is extended
to also construct KGs from Python data using the proposed syntax.
Paper
Publication
Human-Friendly RDF Construction
Ana Iglesias-Molina, David Chaves-Fraga, Ioannis Dasoulas, Anastasia Dimou
A set of updates over the YARRRML serialisation to empower it with the latest necessities for constructing RDF graphs,
accompanied with an implementation of these features in a new open-source translator, Yatter, currently used in different
real use cases and international projects, as well as with a qualitative comparison of this proposal against similar state-of-the-art
serialisations, and their associated translators over a set of conformance test cases.
Paper
Computer Vision Project
Mars Rock Segmentation and Size Estimation for Autonomous Rovers
Ioannis Dasoulas
Computer vision project that aims to identify and segment rocks in a Mars-like environment.
YOLOv8 is used for rock detection and segmentation, as well as the MarsData dataset. Project is
developed with pytorch, ultralytics, supervision and cv2 packages. For size estimation, a depth camera
is used to estimate the size of the rocks. Model is also deployed on an NVIDIA Jetson Nano device, allowing
real-time detection on rover cameras.
Code will soon be open-sourced.
Data Engineering Project
Automated Feature Enrichment for Tabular Data with Semantic Table Annotation
Ioannis Dasoulas
Data engineering demo that leverages semantic table annotation to analyze tabular
data, providing information about the column cells, types and relationships. The semantic
annotations are used for querying external large knowledge bases and extracting more features about the
table. In this demo we start with a table of airplanes, airplane families and airlines and manage to
automatically extract new features such as wingspan, plane length, height and maximum operating altitude.
Natural Language Processing Project
Simple Trigram Language Model for City Name Generation with PyTorch
Ioannis Dasoulas
This project explores the usage of basic n-gram neural networks for character generation.
A trigram neural network is trained on character pairs from greek city names to produce new city names.
The project is an exercise task inspired by makemore's challenges.
PyTorch is used for model development and training.
Robot Navigation Project
Point Cloud Surface Reconstruction for Autonomous Rovers
Ioannis Dasoulas
Robot navigation project that leverages point clouds inferred by rovers to reconstruct
the surface and spaces around it. Different surface reconstruction and point cloud
processing methods are tested. Point cloud segmentation are also leveraged to cluster the incoming
point clouds. Open3D package is used.
Machine learning project (Diploma Thesis)
Chess Engine Development using Deep Learning Techniques
Ioannis Dasoulas
Three chess engines (Python Machine Learning Chess Engine) based
on machine learning, and more specifically on reinforcement and supervised learning. The chess engines were
developed using Python programming language. In total, three different game models
were created, a model that was trained by playing games against itself, a model that
was trained with data from past professional games stored in online databases and a
combinational model that was trained using both methods. The engines’ choice of
move is made using Monte Carlo Tree Search, which is a heuristic algorithm for certain
types of decision-making processes.
Web development project (Diploma Thesis Side Project)
Chess Playing Website
Ioannis Dasoulas
Online application that allows the user to play against the chess engines
mentioned on the above project, but also to watch them play against each other. The website was
created using, Python (Flask API), HTML5, CSS and Javascript.
Database Application
Energy Distribution System Application
Ioannis Dasoulas, Aristeidis Dourdounas
Creation of an app about an energy distribution system. The app
is meant to be used by a company that manages the distribution of electrical energy.
The app provides a general picture of the distribution network, providing information about citizens'
energy consumption and the energy produced by indepedent units of renewable energy.
The project is written in Python and SQL.
Web development project
Smart-Home Application
Christoforos Vaggelis, Ioannis Dasoulas
Application meant to simulate a real smart home application which enables the user to control smart
devices in his/her house and assign each device to a room of his/her house.
The application provides three access levels for three different classes of users, assigned by the administrator of the house.
Application is written in HTML5, CSS, Javascript, using Node JS and express.js for backend as well as Bootstrap for frontend.
The website is uploaded on Azure websites (currently offline).
Machine learning project
Real Estate Value Prediction Algorithms
Ioannis Dasoulas
Python project using 9 house characteristics such as location, area population and number of rooms
to predict the value of houses. The prediction is accomplished using: a)
Least Mean Squares Linear Regression, b) Ordinary Least Squares Regression and c) Neural Network.
Human-Computer interaction project
MyDidaskalia Application
Ioannis Dasoulas, Christoforos Vaggelis
Zoom optimization project about designing an application named "MyDidaskalia" used for modern online
lessons. The first part of the project was evaluating well known applications used for this purpose. The second part was
choosing one of those applications (Zoom was chosen) and trying to improve it following human-computer interaction rules.
Data retrieval project
Movie Search Engine Application
Ioannis Dasoulas
Movie search engine based on elasticsearch. The search engine decides the order of results' presentation
utilizing machine learning techniques. The order of presentation depends on elasticsearh similarity metrics, user ratings,
average ratings and user clustering. Word embeddings were also used to predict missing ratings of certain movies for the users.
Parallel programming project
OpenMP Utilization in Classic Algorithms
Ioannis Dasoulas
Four projects about the utilization of OpenMP library in parallel programming. The library is used to
accelerate the runtime of the classic K-Means algorithm, the travelling salesperson problem and the error-backpropagation
computation in neural networks. All algorithms are written in C language.
Java multi-thread project
Sleeping Barber Problem Application
Ioannis Dasoulas
Classic sleeping barber problem implementated in Java language using object oriented techniques and thread syncronization.
Java server-client project
Blood Pressure Monitoring System Application
Ioannis Dasoulas
Application that has both server and client modes. Users can send medical data through the client interface
to the server or use the server interface to view data sent by the clients, sort them, find spesific details, delete them or save
them to a local file.
VLSI project
VHDL Circuits Simulation
Ioannis Dasoulas
Classic circuits design and simulation using VHDL language and the ModelSim environment.
Digital Signal Processing project
C67 DSK Board Programming
Ioannis Dasoulas, Aristeidis Dourdounas
C67 DSK board programming using Assembly and C language. The board was used for interrupts experimentation,
A/D and D/A conversion, sampling, creation of FIR and IIR filters, creation of a DTFM decoder and creation of a spectrum analyzer.
Pattern Recognition project
Classic Pattern Recognition Algorithms Implementation
Ioannis Dasoulas
Pattern recognition projects using Matlab language. Projects include pattern sorting using distance functions,
K-Means algorithm implementation, Perceptron algorithm implementation and data classification.
Data Mining project
Mail and Patient Classification
Ioannis Dasoulas
Mail classification (real or spam) and patient classification (possible stroke or not) using data mining and
artificial intelligence techniques. Techniques include creating a K-Nearset-Neighbors model, creating a Random Forest Classifier
model, as well as word embeddings with the implementation of a Doc2Vec model supported by a neural network.
VLSI project
Circuit Design and Simulation
Ioannis Dasoulas, Christoforos Vaggelis
Design and simulation of basic and complicated CMOS circuits, study of the parasitic capacities, the delay,
the critical path delay and the energy consumption of CMOS circuits using the Microwind tool. Also, LtSpice was used to design
some of the circuits and simulate them.