Research support
- High Performance Computing
- Machine Learning
- BioImage Analysis
- Best Practices for Software Development
- Database support for humanities
- Arches
High Performance Computing
- using DCSR clusters when you're not able to perform your research and run computations on your local computer.
- harnessing the DCSR clusters (CPU and GPU)
- scaling your codes to larger clusters like CSCS
- All faculties
- Cristian Ruiz - HPC programming, code optimisation, scientific software stack
- Emmanuel Jeanvoine - HPC programming (CPU and GPU), code optimisation, scientific software stack
- Cristian Ruiz - HPC programming, code optimisation, scientific software stack
- Mainly HEC and GSE faculties
- Flavio Calvo - HPC/scientific programming, code optimisation, numerical schemes/algorithmic
- Margot Sirdey - HPC/scientific programming, code optimisation, numerical schemes/algorithmic
Technical skills
Using the clusters efficiently
Scientific computing & choice of optimised libraries
Profiling & code optimisation
Parallelisation
Energy consumption
Terms of support
- service mode: you submit a ticket to helpdesk@unil.ch (don't forget to start the subject with DCSR), we can help for few hours. The service is free.
- project mode: you have a more complex project that requires several days/weeks/months of work. The service is billed (see U1 costs in support column in the cost model)
Contact
Please send an email to helpdesk@unil.ch and put "DCSR HPC support request" in the subject.
Machine Learning
Machine learning methods are nowadays used in a wide variety of scientific domains. For example,
- Unsupervised machine learning methods may be used as tools for data exploration and visualisation (dimension reduction and clustering),
- Supervised machine learning methods may be used as tools to make predictions: given an input data point, predict the output (classification or regression).
At the DCSR, we can help you with the following aspects of machine learning.
Formation
We can help you to understand how a particular machine learning method works and how it may be used in your research. Note that the DCSR gives a few short courses on machine learning; see https://www.unil.ch/ci/dcsr-en
Methodology
We can help you to choose and apply the appropriate machine learning methods in your research. This may involve a pilote phase during which we develop together codes and run them on your laptop or on the UNIL clusters. Later on, we can also help you with the production phase.
More specifically, we can help you to find existing machine learning programs that would fit the aim of your analysis, install and run them on your laptop or on the UNIL clusters, and explain the meaning of their underlying option parameters. If no satisfactory machine learning program exists, we can help you to develop new algorithms and write codes that would fit the aim of your analysis.
Infrastructure
We can help you to implement efficiently your machine learning pipeline on the UNIL clusters. More specifically, we can help you to install your codes on the UNIL clusters and to profile them in order to find the optimal setting (in terms of RAM, number of nodes and CPU/GPU).
Foster UNIL collaborations
We can help you to find appropriate experts at the UNIL to discuss with you about specific machine learning related problems. Note that the DCSR organises a ML Café every 4 months during which two researchers give short presentations on how they use machine learning in their work, followed by discussions. The presentations should be accessible to a broad audience and will show you how machine learning tools are being used in various field of research. If you are interested in participating to this meeting, please send an email to helpdesk@unil.ch with subject: DCSR ML Café.
A few examples:
1. An experimental scientist would like to learn how to analyse his/her data on his/her laptop or on the UNIL clusters by using machine learning methods. We can help this researcher to find appropriate machine learning tools, to understand how they work and to use them on his/her laptop or on the UNIL clusters.
2. A data scientist would like to implement a machine learning pipeline (on his/her laptop or on the UNIL clusters) but he/she is not sure how to do it properly. We can help this researcher to find and apply appropriate machine learning methods.
3. A data scientist has implemented a machine learning pipeline (on his/her laptop or on the UNIL clusters) and would like to discuss about the methodology he/she used. We can help this researcher to check whether his/her approach is correct and we can also suggest alternative approaches.
4. A data scientist has implemented a machine learning pipeline on his/her laptop and would like to run it on the UNIL clusters (going from laptop to cluster). We can help this researcher to implement efficiently his/her pipeline on the UNIL clusters. This may involve the installation of softwares and the profiling of codes.
BioImage Analysis
Support Overview
From a quick question or a quick opinion, to a long project conceived and structured together. Everything related to extracting information and data from your images can be discussed together.
Here are some of the main topics that we are usually asked about:
- Image pre-processing and enhancement
- Object detection and/or image segmentation
- Object tracking
- Quantifications (shape, dynamics, colocalization, and other properties)
- Clustering / classification of objects
- Visualization (rendering high-dimensional images, 3D images, etc.)
- Analytics (statistics of the extracted information).
Software
- ImageJ and Fiji- https://imagej.net/imaging/segmentation
- CellProfile - https://cellprofiler.org
- QuPath - https://qupath.github.io
- Ilastik - https://www.ilastik.org
Contact & Terms of support
- service mode: if you need quick help on a certain problem / if you need a suggestion, an information or similar - Submit a ticket to research-computing-fbm@unil.ch with subject: Service - *name of your department* .
- project mode: if you have a more complex project that requires several weeks/months of work and you want to collaborate with us - Submit a ticket to research-computing-fbm@unil.ch with subject: Project - *name of your department* .
Other contact: helpdesk@unil.ch with subject DCSR Image Analysis
Best Practices for Software Development
In progress
Database support for humanities
The DCSR provides support to researchers in the humanities for projects based on structured corpora (databases, digital libraries or collections, etc.).
The DCSR carries out a technological watch to provide researchers and research groups in the humanities with tools likely to cover some of the digital infrastructure needs encountered in the humanities. In the form of shared services, these tools enable researchers to organise, exploit and expose research databases online thanks to configurable presentation interfaces.
The DCSR relies on tools used and supported by a strong community (individuals and institutions). These tools are made available to researchers as shared services in order for the DCSR to provide a lasting and sustainable maintenance for the database and their presentation interfaces.
Database support for humanities
The DCSR offers support for each stage of research within the framework of the tools made available :
-
planning: help with the design and management of digital projects based on structured data (needs assessment, choice of tools and technologies, workflow, data management plan (DMP), etc.);
-
documentation: help with the choice of relevant standards (ontologies, vocabularies or authoritative information, technologies) in an open science perspective (technical and semantic interoperability of data) to promote the reuse of data.
-
modelling: to enable data to be used in accordance with researchers' expectations within a database, the DCSR provides guidance with data structuring (conceptual modelling);
-
collection: assistance in setting up a workflow in accordance with good practices, with the aim of importing data in batches into a database (file naming policy, organisation of metadata, etc.);
-
storage: the DCSR is in charge of storage and data backup procedures and handles the maintenance of the infrastructure within the framework of the shared tools provided;
-
analysis: -
-
exposure: depending on the needs of the project, and within the limits of the possibilities of the tools deployed, the DCSR can configure specific presentation interfaces for databases;
-
preservation: the DCSR can coordinate the transfer of research data into a FAIR data repository in order to insure their long term availability when a database is no longer maintained;
-
reuse: -
Terms of service
TBD
Contact
Researchers are encouraged to contact the DCSR well in advance (2 months) if the intended support is to help submit a project to a funding agency. Researchers should fill this in order to provide the necessary details regarding the project.
Alternatively, for a one-time request, researchers can also contact directly the following people:
-
-- coordination with researchers, needs assessment, data modelling, good pratices in digital project management
-
Arches
Arches est une plateforme open source pour la gestion des données issues du patrimoine culturel. La DCSR met à disposition des chercheurs de l'UNIL des instances locales d'Arches.
Présentation
Arches est une plateforme open source développée par le Getty Conservation Institute et le World Monuments Fund pour la gestion de données issues du domaine du patrimoine culturel.
Dans le but de valoriser les données et les bases de données des équipes de recherche de l'UNIL, la DCSR met à la disposition des chercheurs des instances locales d'Arches adaptées à leurs besoins. La DCSR accompagne le processus de création par les équipes des bases de données exposées par Arches et forme les utilisateurs au maniement de la plateforme.
En plus de pouvoir être couplée à un serveur d'images IIIF (protocole standard d'accès aux images à distance), Arches permet l'utilisation d'ontologies (ex. CIDOC-CRM) et de référentiels (en SKOS) standard sans l'imposer, laissant à la discrétion des équipes de recherche la manière de structurer leurs données. Cette plateforme intègre également des données géoréférencées et peut, le cas échéant, être associée à un SIG.
Mode d'emploi général de l'utilisateur
1. Connexion
Cliquez sur “Sign in” et identifiez-vous avec l’adresse mail UNIL et le mot de passe fourni par la DCSR.
2. Le modèle de données dans Arches
Le modèle de données s’organise entre des types de ressources (= classes) et des propriétés. Un type de ressource (appelé “Resource Model”) se voit associé une ou plusieurs propriétés (appelées “nodes”) et chaque propriété correspond à un format de données défini, appelé “datatype”: texte, date, lien vers un autre type de ressource, nombre, etc.
3. Présentation de l'interface graphique
Saisie des données
Création d’une ressource
Sélectionnez le type de ressource (ou classe) que vous souhaitez créer. Cliquez sur “Create Resource”.
Pour créer une ressource, il faut créer toutes les propriétés (“nodes”) pertinentes pour une ressource donnée. Ces propriétés sont visibles dans le volet latéral gauche.
Lorsqu’on clique sur l’une de ces propriétés, les éléments qui doivent être renseignés s’affichent dans la partie centrale.
Les éléments obligatoires sont signalés par un astérisque. Les éléments surlignés en vert serviront pour identifier une ressource dans les résultats d’une recherche, par exemple; ils servent de titre et de description de la ressource.
Dans la partie centrale sont affichés dans indications concernant le format ou la nature des données attendues pour une propriété donnée.
Après avoir entré une propriété ou les différents éléments qui composent une propriété, on peut valider la saisie (“+ Add”) ou l’annuler (“Cancel edit”).
Si une valeur a été entrée pour une propriété sans que la saisie ait été validée, la propriété sera surlignée en jaune. On peut alors revenir sur la propriété en question et valider la saisie (“+ Add”).
Les propriétés affichées en vert dans le volet latéral correspondent aux propriétés qui serviront de titre et de description pour la ressource. Ces propriétés qui permettront d’identifier une ressource parmi d’autres résultats de recherche (voir l’exemple ci-dessous).
Les formats de données
Les propriétés d’une ressource correspondent à différents formats de données.
• texte brut
• texte avec mise en forme
• téléchargement (upload) d’un document et/ou d’une image:
Cliquer-déposer le document ou sélectionner le fichier à télécharger (upload) dans une arborescence de fichiers. Suivre les indications fournies par Arches.
• date
Les dates sont prises en charge avec différents niveaux de précision:
-
date précise
-
date avec une précision affichée de l'ordre du mois ou de l'année
Dans ces deux cas, on peut utiliser le calendrier pour choisir la date exacte ou entrer la date ou une partie de la date directement dans le champ, ce qui peut faire gagner du temps.
-
dates avec une imprécision hétérogène ():
-
indications de fourchettes chronologiques lorsque la date exacte n’est pas connue: 1960/1971, 1971-06/1971-11, etc.
-
les éléments de la date qui ne sont pas connus peuvent être remplacés par un
u
: 20uu-06-17, uuuu-12-11, 1978-uu-15.
-
• vocabulaires contrôlés
Plusieurs types de vocabulaires contrôlés (= liste de valeurs, thésaurus) sont pris en charge:
-
vocabulaire contrôlé plat
-
vocabulaire contrôlé hiérarchique
-
thésaurus (SKOS, avec équivalence de terme, multilinguisme, etc.)
Selon les besoins du projet (vocabulaire plat ou hiérarchique, nécessité ou non de faire évoluer le vocabulaire (plat uniquement) en cours de projet), il est possible de choisir l’une ou l’autre manière de gérer ces vocabulaires. Ceux-ci peuvent être affichés sous la forme de cases à cocher ou de listes déroulantes.
Dans le cas de listes déroulantes, l’utilisateur peut faire dérouler l’ensemble de la liste ou entrer les premières lettres du terme recherché.
• URL
L’utilisateur peut fournir uniquement l’URL ou associer également un texte auquel sera associé le lien hypertexte:
ou bien :
• lien vers une autre ressource
Lien vers un autre type (classe) de ressource: en fonction du modèle de données défini pour un projet, il est possible de créer un lien entre deux types de ressource (par exemple un lien entre un “Livre” et un “Auteur”).
Si la ressource vers laquelle on veut créer un lien existe déjà, on entre quelques lettres correspondant au titre de la ressource ou à l’une de ses propriétés dans le champ correspondant. Arches affiche alors les résultats correspondants.
Si la ressource n’existe pas, on peut la créer depuis “Create a new ...”. Une fois entrée les différents propriétés pour cette ressource, on clique sur “Return”.
Le lien est alors créé entre les deux ressources, il ne reste qu’à valider sa création en cliquant sur “+ | Add”.
• géolocalisation
On peut localiser un élément sur un fond de carte. L’emprise de la carte est normalement définie par défaut pour le projet, tout comme le fond de carte (image satellite ou carte).
Selon la manière dont est paramétrer cette propriété, il est possible de placer sur la carte un point, une ligne ou un polygone via le menu “Add new feature”.
L’utilisateur peut modifier le fond de carte à partir du menu latéral, onglet “Basemap” et sélectionner celui qui lui convient.
À partir du même menu, l’onglet “Overlays” permet à l’utilisateur d’afficher les éléments déjà localisés pour les différentes types de ressources: on peut afficher/cacher ces éléments et régler leur niveau de transparence lorsqu’ils sont affichés (icône placée à droite du nom de la propriété).
Édition d’une ressource
Après avoir entré une nouvelle valeur dans le champ de la propriété, l’utilisateur a le choix entre “Delete this record”, “x Cancel edit” et “+ Save edit”.
Suppression d’une ressource
Depuis la page de la ressource, en haut à gauche menu “Manage ···” > “Delete Resource”.
Modification des permissions associées à une ressource
Pour chaque ressource, il est possible de paramétrer des permissions spécifiques: “Manage permissions” en bas de l’onglet latéral, quand on est en cours d’édition de ressource, quand l’utilisateur possède le statut “Superuser”.
Si l’utilisateur veut changer les permissions attribuées par défaut à la ressource, dès qu’il clique sur “Manage permissions”, il change les permissions courantes et se trouve, par défaut, le seul utilisateur à pouvoir accéder à la ressource en question: il est le seul à disposer des droits “Read”, “Update”, “Delete” sur la ressource, tous les autres utilisateurs individuels et membres de groupes se voient attribuer “No Access”.
Pour revenir au schéma de permission tel que défini par défaut pour la ressource, il faut cliquer sur “Allow Normal Access”. Et si l’utilisateur veut modifier les permissions associées à cette ressource, il doit sélectionner manuellement un à un tous les groupes et tous les utilisateurs individuels auxquels il souhaite donner les droits “Read”, “Update” et/ou “Delete” et cocher/décocher les droits correspondants.
Depuis la page d’une ressource, en haut à droite “Hide Null Values” permet de ne pas afficher les propriétés non renseignées.
Recherche
Arches offre 4 types de recherche à partir du menu latéral gauche “Search”, représenté par l’icône d’une loupe:
-
la recherche fondée sur la géolocalisation des ressources (onglet “Map filter”)
-
la recherche plein texte
-
la recherche par type de ressource
-
la recherche avancée (onglet “Advanced”)
Recherche plein texte
Arches permet de visualiser immédiatement les correspondances avec le terme recherché. il est aussi possible de distinguer entre le terme recherché utilisé dans les champs textuels de la base de données (“Term Matches”) et le terme s’il fait partie d‘un vocabulaire contrôlé (“Concept”).
Le caractère *
permet de remplacer un ou plusieurs caractères:
Mais placé en début de mot, il ne donne pas de résultat (ici, Rimbaud n'apparaît pas parmi les résultats de recherche):
Recherche par type de ressource (en construction)
Recherche par date (en construction)
Recherche sur la géolocalisation (en construction)
Recherche avancée
Cette recherche permet de combiner différents critères (ou facettes) et différents opérateurs (“et” et “ou”).
La partie droite sous “Search Facets” liste les types de ressources ainsi que leurs propriétés qui peuvent être utilisés pour la recherche. Dans le champ “Find...” sous “Search Facets”, l’utilisateur peut trier les types de ressource ou les propriétés à afficher.
Une fois sélectionné un type de ressource, l’utilisateur peut ensuite sélectionner la ou les propriétés pertinentes pour construire sa recherche. Pour combiner les différents critères, une fois la première propriété choisie, il suffit d’en sélectionner une autre, qui s’ajoutera sous la première. L’utilisateur doit ensuite définir l’opérateur pertinent (“And” ou “Or”).
En fonction du format de données associé à la propriété,
Les paramètres de recherche proposés pour chaque propriété dépendent du format de données associé:
-
pour du texte:
-
pour un nombre:
-
pour un booléen (vrai/faux, oui/non):
-
pour un lien entre deux types de ressources:
-
pour un vocabulaire contrôlé:
- pour des données géolocalisées:
Le format de données “géolocalisation” n’est pas pris en charge dans la recherche avancée; l’onglet “Map filter” permet de filtrer les résultats de recherche en fonction de la localisation des ressources ou de leurs propriétés.
Import des images (Val d'Hérens/Smapshot)
Cette section ne concerne que le projet Val d'Hérens 1950/2050.
Préambule
La plateforme Arches permet de télécharger une image (upload) de manière autonome.
Cependant, la gestion des images doit suivre ce protocole pour deux raisons :
- l'espace de stockage (200 Go) alloué sur la machine virtuelle (VM) sur laquelle est déployé Arches impose de rationaliser la gestion des images, compte tenu des paramètres avec lesquels les documents ont été numérisés ;
- comme Smapshot accède aux images servies par Cantaloupe via une URL qui contient le nom du fichier d'origine, les utilisateurs doivent veiller ce que toute nouvelle version d'une image téléchargée manuellement dans Arches (par exemple pour corriger une mauvaise orientation) conserve le nom de l'image d'origine.
1. Transformation de l'image avant un premier import manuel
Le téléchargement manuel d'une nouvelle image, pour des données qui n'ont pas encore été transférées vers Smapshot, requiert:
- de convertir l'image dans un format
.png
(d'une part parce qu'il s'agit d'un format sans perte, contrairement aujpeg
, et, d'autre part parce que ce format est interprétable par les navigateurs web, contrairement au format.tif
, ce qui signifie qu'Arches est capable d'afficher l'image) ; - de limiter la taille du plus grand côté de l'image à 2500 pixels.
Des outils permettent de transformer des images par lots de manière à ce qu'elles correspondent à ces critères : ImageMagick, des scripts AdobePhotoshop, etc.
Avec ImageMagick, la commande est:
convert -auto-orient -format png -resize 2500x2500\> original.tif destination.png
2. Remplacement d'une image par une autre (images déjà intégrées dans Smapshot)
Pour les images déjà intégrées dans Smapshot qui nécessitent un recadrage ou dont l'orientation doit être corrigée, il faut repartir des images stockées dans le /local/sharedArches
sur l'espace de stockage allouée à la VM d'Arches, puisque:
- toutes ces images ont déjà été converties et redimensionnées
- en partant de ce repertoire on peut conserver le nom des fichiers d'origine.
2.1. Avec CyberDuck, sur un Mac
2.1.1. Installation de CyberDuck
Installer CyberDuck.
2.1.2. Paramétrer la connexion
Une fois CyberDuck ouvert, cliquez sur "Ouvrir une connexion" (ou sur "Fichier" > "Ouvrir une connexion").
Paramétrer la connexion sur ce modèle (identifiant et mot de passe UNIL):
Et cliquez sur "Connecter" puis sur "Autoriser", sur la boîte de dialogue qui s'ouvre.
Pour garder les paramètres de cette connection en mémoire, dans le menu principal, cliquez sur "Signet" > "Nouveau signet". Dans la fenêtre qui s'ouvre, vous pouvez donner au signet le surnom "vdherens1950".
À la prochaine ouverture de CyberDuck, la connexion au serveur vdherens1950 vous sera proposée dès la fenêtre d'accueil.
2.1.3. Atteindre le repertoire d'images partagé /local/sharedArches
Vous arrivez sur un répertoire à votre nom dans l'espace de stockage :
Il s'agit maintenant de rejoindre le répertoire /local/sharedArches
dans lequel se trouvent les images. Dans le menu déroulant, sélectionner /
:
Puis parmi les répertoires qui s'affichent, choisissez "local" > "sharedArches" :
Vous voici dans le repertoire d'images partagé.
2.1.4. Parcourir les images avec le visualisateur interne de CyberDuck
Il est possible de consulter les images directement dans le répertoire /local/sharedArches
avec le visualisateur interne de CyberDuck.
Avec un clic droit sur le nom de fichier, choisissez "Coup d'œil" dans le menu contextuel. Il faut à CyberDuck quelques secondes pour charger ces aperçus et les afficher.
Il est aussi possible de sélectionner plusieurs images (maintenir la touche majuscule/shift enfondée puis clic droit) et de visualiser l'ensemble des images sélectionnées.
2.1.5. Éditer les images
L'édition peut se faire avec différentes applications, en fonction des options disponibles sous "Editer avec" dans le menu contextuel.
Nous avons testé l'édition d'images avec 2 applications :
- avec Aperçu, il n'est pas possible d'enregistrer les modifications apportées directement sur le serveur. C'est une copie de l'image qu'Aperçu propose d'enregistrer, en local.
-
Adobe Photoshop permet d'enregistrer directement ces modifications, avec un simple
commande + S
.
2.2. Sous Linux
2.2.1. Paramétrer la connexion
Pour une distribution Ubuntu, à partir du navigateur de fichier, on peut sélectionner "Autres emplacements":
pour entrer l'adresse du serveur: sftp://dcsrs-vherens50.dcsr.unil.ch/
puis cliquer sur "se connecter":
Pour les connections suivantes, l'adesse du serveur devrait rester dans la liste des connections recentes.
Il faut se connecter avec l'identifiant Unil sans l'addresse mail, soit pour moi, ljaouen
.
2.2.2. Atteindre le repertoire d'images partagé /local/sharedArches
Par défaut, le répertoire de l'utilistateur est ouvert, clicquer sur le nom du serveur permet de remonter à la source pour naviguer dans le répertoire /local/sharedArches
:
2.2.3. Parcourir les images avec le visualisateur par défaut
Arrivé dans le répertoire /local/sharedArches
, la liste des images est visible, cliquer (double) sur une des images l'affiche:
2.2.4. Éditer les images
2.2.4.1 Rotation simple
Pour faire pivoter l'image, il faut passer la souris sur l'image ce qui fait apparaître les deux indicateurs de rotation en bas au milieu:
En suite, il suffit d'enregistrer ([control]+[s]) ou de passer par le menu:
2.2.4.2. Edition fine
Pour une édition plus fine (rognage, rotation, découpage) il est possible d'ouvrir l'image avec un autre éditeur (comme gimp, à installer), l'ouverture se fait par un click droit, la sauvegarde de l'image par l'option Fichier => Ecraser <nom de l'image>