SelfEEG: A Python library for Self-Supervised Learning in
  Electroencephalography
Federico Del Pup Andrea Zanola Louis Fabrice Tshimanga Paolo Emilio Mazzon Manfredo Atzori
SelfEEG is an open-source Python library developed to assist researchers in
conducting Self-Supervised Learning (SSL) experiments on electroencephalography
(EEG) data. Its primary objective is to offer a user-friendly but highly
customizable environment, enabling users to efficiently design and execute
self-supervised learning tasks on EEG data.
  SelfEEG covers all the stages of a typical SSL pipeline, ranging from data
import to model design and training. It includes modules specifically designed
to: split data at various granularity levels (e.g., session-, subject-, or
dataset-based splits); effectively manage data stored with different
configurations (e.g., file extensions, data types) during mini-batch
construction; provide a wide range of standard deep learning models, data
augmentations and SSL baseline methods applied to EEG data.
  Most of the functionalities offered by selfEEG can be executed both on GPUs
and CPUs, expanding its usability beyond the self-supervised learning area.
Additionally, these functionalities can be employed for the analysis of other
biomedical signals often coupled with EEGs, such as electromyography or
electrocardiography data.
  These features make selfEEG a versatile deep learning tool for biomedical
applications and a useful resource in SSL, one of the currently most active
fields of Artificial Intelligence.