Skip to content

Function Parameters

This page contains the default parameters for the functions in the eeggan package. The parameters are organized by function and are listed in a table with the parameter name and a description of the parameter.

Autoencoder Training

The autoencoder training function is used to train an autoencoder on EEG data. The autoencoder is trained to learn a compressed representation of the data. It can be incorporated into a GAN to improve the quality of the generated samples. The function has the following parameters:

Description Default
activation The activation function of the AE-Decoder. Options: [relu, leakyrelu, sigmoid, tanh, linear] sigmoid
batch_size The batch size to use during training. 128
channels_out The number of channels in the encoded output. 10
checkpoint The file which holds a pre-trained AE for further training.
data The file which holds the EEG data to train the AE on. data\eeggan_training_example.csv
ddp *Use the distributed data parallel training paradigm for training the AE on multiple GPUs. False
hidden_dim The dimension of the hidden layers in the AE. 256
kw_channel The name of the channel column in the data to use for training the AE.
kw_time The name of the time column in the data to use for training the AE. Time
learning_rate The learning rate for the AE. 0.0001
n_epochs The number of epochs to train the AE. 100
num_heads The number of attention heads to use in the transformer. 8
num_layers The number of hidden layers in the AE. 2
sample_interval The epoch interval at which to save samples of the generated data during training. 100
save_name The name to save the trained AE.
seed The seed to use for reproducibility.
target The name of the encoded dimension. Options: [time, channel, full] full
time_out The number of time points in the encoded output. 10
train_ratio The ratio of the data to use for training the AE vs. testing it. 0.8

GAN Training

The GAN training function is used to train a Generative Adversarial Network (GAN) on EEG data. The GAN is trained to generate realistic samples of EEG data. The function has the following parameters:

Description Default
autoencoder The file which holds the trained autoencoder to use for training the AE-GAN.
batch_size The batch size to use during training. 128
checkpoint The file which holds a pre-trained GAN for further training.
data The file which holds the EEG data to train the GAN on. data\eeggan_training_example.csv
ddp *Use the distributed data parallel training paradigm for training the GAN on multiple GPUs. False
discriminator_lr The learning rate for the discriminator. 0.0001
generator_lr The learning rate for the generator. 0.0001
hidden_dim The dimension of the hidden layers in the generator and discriminator. 16
kw_channel The name of the channel column in the data to use for training the GAN.
kw_conditions **The names of the condition columns in the data to use for training the GAN.
kw_time The name of the time column in the data to use for training the GAN. Time
n_epochs The number of epochs to train the GAN. 100
num_layers The number of hidden layers in the generator and discriminator. 4
patch_size The size of the patches used to split the data sequences (for more information read the TTS-GAN description (https://github.com/imics-lab/tts-gan)). 20
sample_interval The epoch interval at which to save samples of the generated data during training. 100
save_name The name to save the trained GAN.
seed The seed to use for reproducibility.

VAE Training

The VAE training function is used to train a Variational Autoencoder (VAE) on EEG data. The VAE is trained to generate realistic samples of EEG data. The function has the following parameters:

Description Default
activation The activation function of the VAE-Decoder. Options: [relu, leakyrelu, sigmoid, tanh, linear] tanh
batch_size The batch size to use during training. 128
checkpoint Path to a trained model to continue training
data The file which holds the EEG data to train the VAE on. eeggan\data\eeggan_training_example.csv
encoded_dim The encoded dimension of mu and sigma used for generating new samples 25
hidden_dim The dimension of the hidden layers in the VAE. 256
kl_alpha The weight of the KL divergence in the loss computation 5e-05
kw_channel The name of the channel column in the data to use for training the VAE.
kw_conditions ** Conditions to be used Condition
kw_time The name of the time column in the data to use for training the VAE. Time
learning_rate The learning rate for the VAE. 0.0003
n_epochs The number of epochs to train the VAE. 1000
sample_interval The epoch interval at which to save samples of the generated data during training. 100
save_name The name to save the trained VAE.

Visualization

The visualization function is used to visualize the results of training an autoencoder or GAN. The function has the following parameters:

Description Default
average *Whether to plot the average of the data. False
channel_index **The index of the channels to visualize. -1
channel_plots *Whether to plot the channels. False
comp_data The comparison data for pca or tsne to visualize. data\ganAverageERP.csv
data The file containing the EEG data to visualize (only model or data).
fft *Whether to plot FFT for visualization. False
kw_channel The column name containing the channel label.
kw_conditions **The column names with the conditions.
kw_time The column names containing the time steps. Time
loss *Whether to plot the loss of the model (model required). False
model The file containing the trained model with collected samples during training (only model or data).
n_samples The number of samples to visualize. 0
pca *Whether to plot PCA for visualization (comp_data required). False
spectogram *Whether to plot a spectogram for visualization. False
tsne *Whether to plot t-SNE for visualization (comp_data required). False
tsne_iterations The number of iterations to use for t-SNE. 1000
tsne_perplexity The perplexity to use for t-SNE iterations. 40

Generate Samples

The generate samples function is used to generate samples of EEG data using a trained GAN. The function has the following parameters:

Description Default
conditions **The numeric condition values to use for generating samples.
kw_time The column name for the time steps to use for generating samples. Time
model The file containing the trained model to use for generating samples. trained_models\checkpoint.pt
num_samples_parallel The number of samples to generate in parallel (to speed things up). 50
num_samples_total The total number of samples to generate. 1000
save_name The name for the csv file to save the generated samples.
seed The seed to use for reproducibility.
sequence_length The length of the sequence to generate. -1