Commit 1ebd5f15 authored by lucas_miranda's avatar lucas_miranda
Browse files

Increased default dimensionality of latent space

parent 69196db8
......@@ -133,9 +133,9 @@ class GMVAE:
defaults = {
"bidirectional_merge": "concat",
"clipvalue": 1.0,
"clipvalue": 0.75,
"dense_activation": "relu",
"dense_layers_per_branch": 3,
"dense_layers_per_branch": 1,
"dropout_rate": 0.1,
"learning_rate": 1e-4,
"units_conv": 64,
......
......@@ -19,11 +19,11 @@ warmup_epochs = [15]
warmup_mode = ["sigmoid"]
losses = ["ELBO"] # , "MMD", "ELBO+MMD"]
overlap_loss = [0.1, 0.2, 0.5, 0.75, 1.]
encodings = [32] # [2, 4, 6, 8, 10, 12, 14, 16]
encodings = [16] # [2, 4, 6, 8, 10, 12, 14, 16]
cluster_numbers = [15] # [1, 5, 10, 15, 20, 25]
latent_reg = ["variance"] # ["none", "categorical", "variance", "categorical+variance"]
entropy_knn = [10]
next_sequence_pred_weights = [0.15]
next_sequence_pred_weights = [0.0]
phenotype_pred_weights = [0.0]
rule_based_pred_weights = [0.0]
window_lengths = [22] # range(11,56,11)
......
%% Cell type:code id: tags:
 
``` python
%load_ext autoreload
%autoreload 2
```
 
%% Cell type:code id: tags:
 
``` python
import warnings
 
warnings.filterwarnings("ignore")
```
 
%% Cell type:markdown id: tags:
 
# deepOF model evaluation
 
%% Cell type:markdown id: tags:
 
Given a dataset and a trained model, this notebook allows the user to
 
* Load and inspect the different models (encoder, decoder, grouper, gmvaep)
* Visualize reconstruction quality for a given model
* Visualize a static latent space
* Visualize trajectories on the latent space for a given video
* sample from the latent space distributions and generate video clips showcasing generated data
 
%% Cell type:code id: tags:
 
``` python
import os
 
os.chdir(os.path.dirname("../"))
```
 
%% Cell type:code id: tags:
 
``` python
import deepof.data
import deepof.utils
import numpy as np
import pandas as pd
import re
import tensorflow as tf
from collections import Counter
from sklearn.preprocessing import StandardScaler
 
from sklearn.manifold import TSNE
from sklearn.decomposition import PCA
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
import umap
 
from ipywidgets import interactive, interact, HBox, Layout, VBox
from IPython import display
from matplotlib.animation import FuncAnimation
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import seaborn as sns
import tqdm.notebook as tqdm
 
from ipywidgets import interact
```
 
%% Cell type:markdown id: tags:
 
### 1. Define and run project
 
%% Cell type:code id: tags:
 
``` python
path = os.path.join("..", "..", "Desktop", "deepof-data", "deepof_single_topview")
trained_network = os.path.join("..", "..", "Desktop", "deepof_trained_weights_280521", "var_annealing")
exclude_bodyparts = tuple([""])
window_size = 22
batch_size = 32
```
 
%% Cell type:code id: tags:
 
``` python
%%time
proj = deepof.data.project(
path=path, smooth_alpha=0.999, exclude_bodyparts=exclude_bodyparts, arena_dims=[380],
)
```
 
%% Output
 
CPU times: user 47.3 s, sys: 3.22 s, total: 50.5 s
Wall time: 42.8 s
 
%% Cell type:code id: tags:
 
``` python
%%time
proj = proj.run(verbose=True)
print(proj)
```
 
%% Output
 
Loading trajectories...
Smoothing trajectories...
Interpolating outliers...
Iterative imputation of ocluded bodyparts...
Computing distances...
Computing angles...
Done!
deepof analysis of 166 videos
CPU times: user 16min 22s, sys: 26.6 s, total: 16min 49s
Wall time: 3min 28s
 
%% Cell type:markdown id: tags:
 
### 2. Load pretrained deepof model
 
%% Cell type:code id: tags:
 
``` python
coords = proj.get_coords(center="Center", align="Spine_1", align_inplace=True)
data_prep = coords.preprocess(test_videos=0, window_step=1, window_size=window_size, shuffle=False)[
0
]
```
 
%% Cell type:code id: tags:
 
``` python
[i for i in os.listdir(trained_network) if i.endswith("h5")]
```
 
%% Output
 
['GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=7_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=1_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=3_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=5_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=2_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=8_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=10_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=5_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=20_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=15_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=9_final_weights.h5',
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.15_PhenoPred=0.0_RuleBasedPred=0.15_loss=ELBO_loss_warmup=10_warmup_mode=sigmoid_encoding=6_k=15_latreg=variance_entknn=100_run=4_final_weights.h5']
 
%% Cell type:code id: tags:
 
``` python
deepof_weights = [i for i in os.listdir(trained_network) if i.endswith("h5")][1]
deepof_weights
```
 
%% Output
 
'GMVAE_input_type=coords_window_size=22_NextSeqPred=0.0_PhenoPred=0.0_RuleBasedPred=0.0_loss=ELBO_loss_warmup=25_warmup_mode=linear_encoding=6_k=15_latreg=variance_entknn=100_run=6_final_weights.h5'
 
%% Cell type:code id: tags:
 
``` python
# Set model parameters
encoding = int(re.findall("encoding=(\d+)_", deepof_weights)[0])
k = int(re.findall("k=(\d+)_", deepof_weights)[0])
loss = re.findall("loss=(.+?)_", deepof_weights)[0]
NextSeqPred = float(re.findall("NextSeqPred=(.+?)_", deepof_weights)[0])
PhenoPred = float(re.findall("PhenoPred=(.+?)_", deepof_weights)[0])
RuleBasedPred = float(re.findall("RuleBasedPred=(.+?)_", deepof_weights)[0])
```
 
%% Cell type:code id: tags:
 
``` python
(
encoder,
decoder,
grouper,
gmvaep,
prior,
posterior,
) = deepof.models.GMVAE(
loss=loss,
number_of_components=k,
compile_model=True,
batch_size=batch_size,
encoding=encoding,
next_sequence_prediction=NextSeqPred,
next_sequence_prediction=0.1,
phenotype_prediction=PhenoPred,
rule_based_prediction=RuleBasedPred,
).build(
data_prep.shape
)
#gmvaep.load_weights(os.path.join(trained_network, deepof_weights))
```
 
%% Cell type:code id: tags:
 
``` python
# Uncomment to see model summaries
# encoder.summary()
# decoder.summary()
# grouper.summary()
gmvaep.summary()
```
 
%% Output
Model: "SEQ_2_SEQ_GMVAE"
__________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
==================================================================================================
input_15 (InputLayer) [(None, 22, 26)] 0
__________________________________________________________________________________________________
conv1d_24 (Conv1D) (None, 11, 64) 8384 input_15[0][0]
__________________________________________________________________________________________________
batch_normalization_94 (BatchNo (None, 11, 64) 256 conv1d_24[0][0]
__________________________________________________________________________________________________
bidirectional_48 (Bidirectional (None, 11, 256) 148992 batch_normalization_94[0][0]
__________________________________________________________________________________________________
batch_normalization_95 (BatchNo (None, 11, 256) 1024 bidirectional_48[0][0]
__________________________________________________________________________________________________
bidirectional_49 (Bidirectional (None, 128) 123648 batch_normalization_95[0][0]
__________________________________________________________________________________________________
batch_normalization_96 (BatchNo (None, 128) 512 bidirectional_49[0][0]
__________________________________________________________________________________________________
dense_88 (Dense) (None, 64) 8256 batch_normalization_96[0][0]
__________________________________________________________________________________________________
batch_normalization_97 (BatchNo (None, 64) 256 dense_88[0][0]
__________________________________________________________________________________________________
dropout_8 (Dropout) (None, 64) 0 batch_normalization_97[0][0]
__________________________________________________________________________________________________
sequential_14 (Sequential) (None, 32) 2208 dropout_8[0][0]
__________________________________________________________________________________________________
cluster_means (Dense) (None, 90) 2970 sequential_14[0][0]
__________________________________________________________________________________________________
cluster_variances (Dense) (None, 90) 2970 sequential_14[0][0]
__________________________________________________________________________________________________
concatenate_14 (Concatenate) (None, 180) 0 cluster_means[0][0]
cluster_variances[0][0]
__________________________________________________________________________________________________
cluster_assignment (Dense) (None, 15) 495 sequential_14[0][0]
__________________________________________________________________________________________________
reshape_8 (Reshape) (None, 12, 15) 0 concatenate_14[0][0]
__________________________________________________________________________________________________
encoding_distribution (Distribu multiple 0 cluster_assignment[0][0]
reshape_8[0][0]
__________________________________________________________________________________________________
kl_divergence_layer_6 (KLDiverg multiple 181 encoding_distribution[0][0]
__________________________________________________________________________________________________
latent_distribution (Lambda) multiple 0 kl_divergence_layer_6[0][0]
__________________________________________________________________________________________________
dense_97 (Dense) (None, 32) 224 latent_distribution[0][0]
__________________________________________________________________________________________________
batch_normalization_102 (BatchN (None, 32) 128 dense_97[0][0]
__________________________________________________________________________________________________
dense_92 (Dense) (None, 64) 2112 batch_normalization_102[0][0]
__________________________________________________________________________________________________
batch_normalization_103 (BatchN (None, 64) 256 dense_92[0][0]
__________________________________________________________________________________________________
repeat_vector_9 (RepeatVector) (None, 22, 64) 0 batch_normalization_103[0][0]
__________________________________________________________________________________________________
bidirectional_52 (Bidirectional (None, 22, 256) 148992 repeat_vector_9[0][0]
__________________________________________________________________________________________________
batch_normalization_104 (BatchN (None, 22, 256) 1024 bidirectional_52[0][0]
__________________________________________________________________________________________________
bidirectional_53 (Bidirectional (None, 22, 256) 296448 batch_normalization_104[0][0]
__________________________________________________________________________________________________
batch_normalization_105 (BatchN (None, 22, 256) 1024 bidirectional_53[0][0]
__________________________________________________________________________________________________
conv1d_26 (Conv1D) (None, 22, 64) 81984 batch_normalization_105[0][0]
__________________________________________________________________________________________________
dense_99 (Dense) (None, 22, 26) 1690 conv1d_26[0][0]
__________________________________________________________________________________________________
tf.math.softplus_7 (TFOpLambda) (None, 22, 26) 0 dense_99[0][0]
__________________________________________________________________________________________________
dense_98 (Dense) (None, 22, 26) 1690 conv1d_26[0][0]
__________________________________________________________________________________________________
lambda_7 (Lambda) (None, 22, 26) 0 tf.math.softplus_7[0][0]
__________________________________________________________________________________________________
concatenate_16 (Concatenate) (None, 22, 52) 0 dense_98[0][0]
lambda_7[0][0]
__________________________________________________________________________________________________
vae_reconstruction (Functional) multiple 337940 latent_distribution[0][0]
__________________________________________________________________________________________________
vae_prediction (IndependentNorm multiple 0 concatenate_16[0][0]
==================================================================================================
Total params: 1,173,664
Trainable params: 1,170,271
Non-trainable params: 3,393
__________________________________________________________________________________________________
%% Cell type:code id: tags:
 
``` python
# Uncomment to plot model structure
def plot_model(model, name):
tf.keras.utils.plot_model(
model,
to_file=os.path.join(
path,
"deepof_{}_{}.png".format(name, datetime.now().strftime("%Y%m%d-%H%M%S")),
),
show_shapes=True,
show_dtype=False,
show_layer_names=True,
rankdir="TB",
expand_nested=True,
dpi=200,
)
 
 
# plot_model(encoder, "encoder")
# plot_model(decoder, "decoder")
# plot_model(grouper, "grouper")
# plot_model(gmvaep, "gmvaep")
```
 
%% Cell type:markdown id: tags:
 
### 3. Visualize priors
 
%% Cell type:code id: tags:
 
``` python
import tensorflow_probability as tfp
 
tfb = tfp.bijectors
tfd = tfp.distributions
tfpl = tfp.layers
```
 
%% Cell type:code id: tags:
 
``` python
def get_prior(number_of_components, encoding, init):
 
prior = tfd.MixtureSameFamily(
mixture_distribution=tfd.categorical.Categorical(
probs=tf.ones(number_of_components) / number_of_components
),
components_distribution=tfd.MultivariateNormalDiag(
loc=tf.Variable(
init([number_of_components, encoding],),
name="prior_means",
),
scale_diag=tfp.util.TransformedVariable(
tf.ones([number_of_components, encoding]) / number_of_components,
tfb.Softplus(),
name="prior_scales",
),
),
)
 
return prior
```
 
%% Cell type:code id: tags:
 
``` python
def sample_and_plot(prior, samples, ax, label):
"""Sample from the prior and plot with colours corresponding to different clusters"""
 
samples = prior.sample(samples)
means = prior.components_distribution.mean()
samples = tf.concat([samples, means], axis=0)
pca = PCA(n_components=2)
prior = pca.fit_transform(samples)
 
samples = prior[:-number_of_components, :]
means = prior[-number_of_components:, :]
 
ax.scatter(prior[:,0], prior[:,1])
ax.scatter(means[:,0], means[:,1], label=label)
ax.set_xlabel("PC1")
ax.set_ylabel("PC2")
ax.legend()
```
 
%% Cell type:code id: tags:
 
``` python
number_of_components = 15
encoding = 6
 
initializers = [
tf.keras.initializers.Constant(),
tf.keras.initializers.GlorotNormal(),
tf.keras.initializers.GlorotUniform(),
tf.keras.initializers.HeNormal(),
tf.keras.initializers.HeUniform(),
tf.keras.initializers.LecunNormal(),
tf.keras.initializers.LecunUniform(),
tf.keras.initializers.Orthogonal(),
tf.keras.initializers.RandomNormal(),
tf.keras.initializers.RandomUniform(),
tf.keras.initializers.TruncatedNormal(),
tf.keras.initializers.VarianceScaling(),
]
 
fig, ax = plt.subplots(4, 3, figsize=(10, 15), sharex=True, sharey=True)
ax = [item for sublist in ax for item in sublist]
 
for i, x in enumerate(ax):
prior = get_prior(number_of_components, encoding, initializers[i])
sample_and_plot(
prior,
1000,
x,
label=re.findall("initializers_v2.(.*?) ", str(initializers[i]))[0],
)
 
fig.tight_layout(rect=[0.0, 0.0, 1.0, 0.97])
plt.suptitle("effect of initialization on deepOF prior")
 
plt.show()
```
 
%% Output
 
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-7-8a0b102aafa0> in <module>
3
4 initializers = [
----> 5 tf.keras.initializers.Constant(),
6 tf.keras.initializers.GlorotNormal(),
7 tf.keras.initializers.GlorotUniform(),
NameError: name 'tf' is not defined
 
%% Cell type:code id: tags:
 
``` python
from scipy.spatial.distance import pdist
 
 
def quantify_separation(init, samples):
 
distances = []
 
for i in range(samples):
means = get_prior(
number_of_components, encoding, init
).components_distribution.mean()
mean_dist = np.mean(pdist(means))
distances.append(mean_dist)
 
return (
np.mean(distances),
np.min(distances),
np.max(distances),
1.96 * np.std(distances),
)
 
 
prior_init_eval_dict = {}
for init in tqdm.tqdm(initializers):
prior_init_eval_dict[
re.findall("initializers_v2.(.*?) ", str(init))[0]
] = quantify_separation(init, 100)
```
 
%% Cell type:code id: tags:
 
``` python
prior_init_eval = pd.DataFrame(prior_init_eval_dict).T
prior_init_eval.rename(columns={0:"mean", 1:"min", 2:"max", 3:"CI95"}, inplace=True)
prior_init_eval.sort_values("mean", ascending=False)
```
 
%% Output
 
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-8-9346bb65520c> in <module>
----> 1 prior_init_eval = pd.DataFrame(prior_init_eval_dict).T
2 prior_init_eval.rename(columns={0:"mean", 1:"min", 2:"max", 3:"CI95"}, inplace=True)
3 prior_init_eval.sort_values("mean", ascending=False)
NameError: name 'pd' is not defined
 
%% Cell type:markdown id: tags:
 
### 4. Evaluate reconstruction (to be incorporated into deepof.evaluate)
 
%% Cell type:code id: tags:
 
``` python
# Auxiliary animation functions
 
 
def plot_mouse_graph(instant_x, instant_y, instant_rec_x, instant_rec_y, ax, edges):
"""Generates a graph plot of the mouse"""
plots = []
rec_plots = []
for edge in edges:
(temp_plot,) = ax.plot(
[float(instant_x[edge[0]]), float(instant_x[edge[1]])],
[float(instant_y[edge[0]]), float(instant_y[edge[1]])],
color="#006699",
linewidth=2.0,
)
(temp_rec_plot,) = ax.plot(
[float(instant_rec_x[edge[0]]), float(instant_rec_x[edge[1]])],
[float(instant_rec_y[edge[0]]), float(instant_rec_y[edge[1]])],
color="red",
linewidth=2.0,
)
plots.append(temp_plot)
rec_plots.append(temp_rec_plot)
return plots, rec_plots
 
 
def update_mouse_graph(x, y, rec_x, rec_y, plots, rec_plots, edges):
"""Updates the graph plot to enable animation"""
 
for plot, edge in zip(plots, edges):
plot.set_data(
[float(x[edge[0]]), float(x[edge[1]])],
[float(y[edge[0]]), float(y[edge[1]])],
)
for plot, edge in zip(rec_plots, edges):
plot.set_data(
[float(rec_x[edge[0]]), float(rec_x[edge[1]])],
[float(rec_y[edge[0]]), float(rec_y[edge[1]])],
)
```
 
%% Cell type:code id: tags:
 
``` python
# Display a video with the original data superimposed with the reconstructions
 
coords = proj.get_coords(center="Center", align="Spine_1", align_inplace=True)
random_exp = np.random.choice(list(coords.keys()), 1)[0]
print(random_exp)
 
 
def animate_mice_across_time(random_exp):
 
# Define canvas
fig, ax = plt.subplots(1, 1, figsize=(10, 10))
 
# Retrieve body graph
edges = deepof.utils.connect_mouse_topview()
 
for bpart in exclude_bodyparts:
if bpart:
edges.remove_node(bpart)
 
for limb in ["Left_fhip", "Right_fhip", "Left_bhip", "Right_bhip"]:
edges.remove_edge("Center", limb)
if ("Tail_base", limb) in edges.edges():
edges.remove_edge("Tail_base", limb)
 
edges = edges.edges()
 
# Compute observed and predicted data to plot
data = coords[random_exp]
coords_rec = coords.filter_videos([random_exp])
data_prep = coords_rec.preprocess(
test_videos=0, window_step=1, window_size=window_size, shuffle=False
)[0][:512]
 
data_rec = gmvaep.predict(data_prep)
try:
data_rec = pd.DataFrame(coords_rec._scaler.inverse_transform(data_rec[:, 6, :]))
except TypeError:
data_rec = data_rec[0]
data_rec = pd.DataFrame(coords_rec._scaler.inverse_transform(data_rec[:, 6, :]))
 
data_rec.columns = data.columns
data = pd.DataFrame(coords_rec._scaler.inverse_transform(data_prep[:, 6, :]))
data.columns = data_rec.columns
 
# Add Central coordinate, lost during alignment
data["Center", "x"] = 0
data["Center", "y"] = 0
data_rec["Center", "x"] = 0
data_rec["Center", "y"] = 0
 
# Plot!
init_x = data.xs("x", level=1, axis=1, drop_level=False).iloc[0, :]
init_y = data.xs("y", level=1, axis=1, drop_level=False).iloc[0, :]
init_rec_x = data_rec.xs("x", level=1, axis=1, drop_level=False).iloc[0, :]
init_rec_y = data_rec.xs("y", level=1, axis=1, drop_level=False).iloc[0, :]
 
plots, rec_plots = plot_mouse_graph(
init_x, init_y, init_rec_x, init_rec_y, ax, edges
)
scatter = ax.scatter(
x=np.array(init_x), y=np.array(init_y), color="#006699", label="Original"
)
rec_scatter = ax.scatter(
x=np.array(init_rec_x),
y=np.array(init_rec_y),
color="red",
label="Reconstruction",
)
 
# Update data in main plot
def animation_frame(i):
# Update scatter plot
x = data.xs("x", level=1, axis=1, drop_level=False).iloc[i, :]
y = data.xs("y", level=1, axis=1, drop_level=False).iloc[i, :]
rec_x = data_rec.xs("x", level=1, axis=1, drop_level=False).iloc[i, :]
rec_y = data_rec.xs("y", level=1, axis=1, drop_level=False).iloc[i, :]
 
scatter.set_offsets(np.c_[np.array(x), np.array(y)])
rec_scatter.set_offsets(np.c_[np.array(rec_x), np.array(rec_y)])
update_mouse_graph(x, y, rec_x, rec_y, plots, rec_plots, edges)
 
return scatter
 
animation = FuncAnimation(fig, func=animation_frame, frames=250, interval=50,)
 
ax.set_title("Original versus reconstructed data")
ax.set_ylim(-100, 60)
ax.set_xlim(-60, 60)
ax.set_xlabel("x")
ax.set_ylabel("y")
plt.legend()
 
video = animation.to_html5_video()
html = display.HTML(video)
display.display(html)
plt.close()
 
 
animate_mice_across_time(random_exp)
```
 
%% Output
 
Test 11_s11
 
 
%% Cell type:markdown id: tags:
 
### 5. Evaluate latent space (to be incorporated into deepof.evaluate)
 
%% Cell type:code id: tags:
 
``` python
# Get encodings and groupings for the same random video as above
data_prep = coords.preprocess(
test_videos=0, window_step=1, window_size=window_size, shuffle=True
)[0][:10000]
```
 
%% Cell type:code id: tags:
 
``` python
encodings = encoder.predict(data_prep)
groupings = grouper.predict(data_prep)
hard_groups = np.argmax(groupings, axis=1)
```
 
%% Cell type:code id: tags:
 
``` python
@interact(minimum_confidence=(0.0, 1.0, 0.01))
def plot_cluster_population(minimum_confidence):
plt.figure(figsize=(12, 8))
 
groups = hard_groups[np.max(groupings, axis=1) > minimum_confidence].flatten()
groups = np.concatenate([groups, np.arange(groupings.shape[1])])
sns.countplot(groups)
plt.xlabel("Cluster")
plt.title("Training instances per cluster")
plt.ylim(0, hard_groups.shape[0] * 1.1)
plt.show()
```
 
%% Output
 
 
%% Cell type:markdown id: tags:
 
The slider in the figure above lets you set the minimum confidence the model may yield when assigning a training instance to a cluster in order to be visualized.
 
%% Cell type:code id: tags:
 
``` python
# Plot real data in the latent space
 
samples = np.random.choice(range(encodings.shape[0]), 10000)
sample_enc = encodings[samples, :]
sample_grp = groupings[samples, :]
sample_hgr = hard_groups[samples]
k = sample_grp.shape[1]
 
umap_reducer = umap.UMAP(n_components=2)
pca_reducer = PCA(n_components=2)
tsne_reducer = TSNE(n_components=2)
lda_reducer = LinearDiscriminantAnalysis(n_components=2)
 
umap_enc = umap_reducer.fit_transform(sample_enc)
pca_enc = pca_reducer.fit_transform(sample_enc)
tsne_enc = tsne_reducer.fit_transform(sample_enc)
try:
lda_enc = lda_reducer.fit_transform(sample_enc, sample_hgr)
except ValueError:
warnings.warn(
"Only one class found. Can't use LDA", DeprecationWarning, stacklevel=2
)
 
 
@interact(
minimum_confidence=(0.0, 0.99, 0.01),
dim_red=["PCA", "LDA", "umap", "tSNE"],
highlight_clusters=False,
selected_cluster=(0, k-1),
)
def plot_static_latent_space(
minimum_confidence, dim_red, highlight_clusters, selected_cluster
):
 
global sample_enc, sample_grp, sample_hgr
 
if dim_red == "umap":
enc = umap_enc
elif dim_red == "LDA":
enc = lda_enc
elif dim_red == "PCA":
enc = pca_enc
else:
enc = tsne_enc
 
enc = enc[np.max(sample_grp, axis=1) > minimum_confidence]
hgr = sample_hgr[np.max(sample_grp, axis=1) > minimum_confidence].flatten()
grp = sample_grp[np.max(sample_grp, axis=1) > minimum_confidence]
 
plt.figure(figsize=(10, 10))
 
sns.scatterplot(
x=enc[:, 0],
y=enc[:, 1],
hue=hgr,
size=np.max(grp, axis=1),
sizes=(1, 100),
palette=sns.color_palette("husl", len(set(hgr))),
)
 
if highlight_clusters:
sns.kdeplot(
enc[hgr == selected_cluster, 0],
enc[hgr == selected_cluster, 1],
color="red",
)
 
plt.xlabel("{} 1".format(dim_red))
plt.ylabel("{} 2".format(dim_red))
plt.suptitle("Static view of trained latent space")
plt.show()
```
 
%% Output
 
 
%% Cell type:code id: tags:
 
``` python
def plot_mouse_graph(instant_x, instant_y, ax, edges):
"""Generates a graph plot of the mouse"""
plots = []
for edge in edges:
(temp_plot,) = ax.plot(
[float(instant_x[edge[0]]), float(instant_x[edge[1]])],
[float(instant_y[edge[0]]), float(instant_y[edge[1]])],
color="#006699",
linewidth=2.0,
)
plots.append(temp_plot)
return plots
 
 
def update_mouse_graph(x, y, plots, edges):
"""Updates the graph plot to enable animation"""
 
for plot, edge in zip(plots, edges):
plot.set_data(
[float(x[edge[0]]), float(x[edge[1]])],
[float(y[edge[0]]), float(y[edge[1]])],
)
```
 
%% Cell type:code id: tags:
 
``` python
# Plot trajectory of a video in latent space
traj_prep = coords.preprocess(
test_videos=0, window_step=1, window_size=window_size, shuffle=False
)[0][:10000]
 
traj_encodings = encoder.predict(traj_prep)
traj_grp = grouper.predict(traj_prep)
traj_hgr = np.argmax(traj_grp, axis=1)
 
samples = np.random.choice(range(encodings.shape[0]), 10000)
sample_enc = encodings[samples, :]
sample_grp = groupings[samples, :]
sample_hgr = hard_groups[samples]
k = sample_grp.shape[1]
 
umap_reducer = umap.UMAP(n_components=2)
pca_reducer = PCA(n_components=2)
tsne_reducer = TSNE(n_components=2)
lda_reducer = LinearDiscriminantAnalysis(n_components=2)
 
umap_enc = umap_reducer.fit_transform(np.concatenate([traj_encodings, sample_enc]))
pca_enc = pca_reducer.fit_transform(np.concatenate([traj_encodings, sample_enc]))
tsne_enc = tsne_reducer.fit_transform(np.concatenate([traj_encodings, sample_enc]))
try:
lda_enc = lda_reducer.fit_transform(
np.concatenate([traj_encodings, sample_enc]),
np.concatenate([traj_hgr, sample_hgr]),
)
except ValueError:
warnings.warn(
"Only one class found. Can't use LDA", DeprecationWarning, stacklevel=2
)
 
 
@interact(
trajectory=(100, 1500), trace=False, dim_red=["PCA", "LDA", "umap", "tSNE"],
)
def plot_dynamic_latent_pace(trajectory, trace, dim_red):
 
global sample_enc, sample_grp, sample_hgr
 
if dim_red == "umap":
enc, traj_enc = umap_enc[10000:], umap_enc[:10000]
elif dim_red == "LDA":
enc, traj_enc = lda_enc[10000:], lda_enc[:10000]
elif dim_red == "PCA":
enc, traj_enc = pca_enc[10000:], pca_enc[:10000]
else:
enc, traj_enc = tsne_enc[10000:], tsne_enc[:10000]
 
traj_enc = traj_enc[:trajectory, :]
 
# Define two figures arranged horizontally
fig, (ax, ax2) = plt.subplots(
1, 2, figsize=(12, 8), gridspec_kw={"width_ratios": [3, 1.5]}
)
 
# Plot the animated embedding trajectory on the left
sns.scatterplot(
x=enc[:, 0],
y=enc[:, 1],
hue=sample_hgr,
size=np.max(sample_grp, axis=1),
sizes=(1, 100),
palette=sns.color_palette("husl", len(set(sample_hgr))),
ax=ax,
)
 
traj_init = traj_enc[0, :]
scatter = ax.scatter(
x=[traj_init[0]], y=[traj_init[1]], s=100, color="red", edgecolor="black"
)
(lineplt,) = ax.plot([traj_init[0]], [traj_init[1]], color="red", linewidth=2.0)
tracking_line_x = []
tracking_line_y = []
 
# Plot the initial data (before feeding it to the encoder) on the right
edges = deepof.utils.connect_mouse_topview()
 
for bpart in exclude_bodyparts:
if bpart:
edges.remove_node(bpart)
 
for limb in ["Left_fhip", "Right_fhip", "Left_bhip", "Right_bhip"]:
edges.remove_edge("Center", limb)
if ("Tail_base", limb) in list(edges.edges()):
edges.remove_edge("Tail_base", limb)
 
edges = edges.edges()
 
inv_coords = coords._scaler.inverse_transform(traj_prep)[:, window_size // 2, :]
data = pd.DataFrame(inv_coords, columns=coords[random_exp].columns)
 
data["Center", "x"] = 0
data["Center", "y"] = 0
 
init_x = data.xs("x", level=1, axis=1, drop_level=False).iloc[0, :]
init_y = data.xs("y", level=1, axis=1, drop_level=False).iloc[0, :]
 
plots = plot_mouse_graph(init_x, init_y, ax2, edges)
track = ax2.scatter(x=np.array(init_x), y=np.array(init_y), color="#006699",)
 
# Update data in both plots
def animation_frame(i):
# Update scatter plot
offset = traj_enc[i, :]
 
prev_t = scatter.get_offsets()[0]
 
if trace:
tracking_line_x.append([prev_t[0], offset[0]])
tracking_line_y.append([prev_t[1], offset[1]])
lineplt.set_xdata(tracking_line_x)
lineplt.set_ydata(tracking_line_y)
 
scatter.set_offsets(np.c_[np.array(offset[0]), np.array(offset[1])])
 
x = data.xs("x", level=1, axis=1, drop_level=False).iloc[i, :]
y = data.xs("y", level=1, axis=1, drop_level=False).iloc[i, :]
track.set_offsets(np.c_[np.array(x), np.array(y)])
update_mouse_graph(x, y, plots, edges)
 
return scatter
 
animation = FuncAnimation(
fig, func=animation_frame, frames=trajectory, interval=75,
)
 
ax.set_xlabel("{} 1".format(dim_red))
ax.set_ylabel("{} 2".format(dim_red))
ax2.set_ylim(-90, 60)
ax2.set_xlim(-60, 60)
 
ax2.set_xlabel("x")
ax2.set_xlabel("y")
ax2.set_ylim(-90, 60)
ax2.set_xlim(-60, 60)
 
plt.tight_layout()
 
video = animation.to_html5_video()
html = display.HTML(video)
display.display(html)
plt.close()
```
 
%% Output
 
 
%% Cell type:markdown id: tags:
 
### 6. Sample from latent space (to be incorporated into deepof.evaluate)
 
%% Cell type:code id: tags:
 
``` python
# Get prior distribution
 
means = prior.components_distribution.mean().numpy()
stddevs = prior.components_distribution.stddev().numpy()
 
samples = []
for i in range(means.shape[0]):
samples.append(
np.random.normal(means[i, :], stddevs[i, :], size=(500, means.shape[1]))
)
samples = np.concatenate(samples)
decodings = decoder.predict(samples)
 
umap_reducer = umap.UMAP(n_components=2)
pca_reducer = PCA(n_components=2)
tsne_reducer = TSNE(n_components=2)
lda_reducer = LinearDiscriminantAnalysis(n_components=2)
 
umap_enc = umap_reducer.fit_transform(samples)
pca_enc = pca_reducer.fit_transform(samples)
tsne_enc = tsne_reducer.fit_transform(samples)
lda_enc = lda_reducer.fit_transform(samples, np.repeat(range(means.shape[0]), 500))
 
 
@interact(dim_red=["PCA", "LDA", "umap", "tSNE"], selected_cluster=(1, k))
def sample_from_prior(dim_red, selected_cluster):
 
if dim_red == "umap":
sample_enc = umap_enc
elif dim_red == "LDA":
sample_enc = lda_enc
elif dim_red == "PCA":
sample_enc = pca_enc
else:
sample_enc = tsne_enc
 
fig, (ax, ax2) = plt.subplots(
1, 2, figsize=(12, 8), gridspec_kw={"width_ratios": [3, 1.5]}
)
 
hue = np.repeat(range(means.shape[0]), 500)
 
# Plot the animated embedding trajectory on the left
sns.scatterplot(
x=sample_enc[:, 0],
y=sample_enc[:, 1],
hue=hue,
palette=sns.color_palette("husl", k),
ax=ax,
)
 
sns.kdeplot(
sample_enc[hue == selected_cluster, 0],
sample_enc[hue == selected_cluster, 1],
color="red",
ax=ax,
)
 
# Get reconstructions from samples of a given cluster
decs = decodings[hue == selected_cluster][np.random.randint(0, 500, 5)]
 
# Plot the initial data (before feeding it to the encoder) on the right
edges = deepof.utils.connect_mouse_topview()
 
for bpart in exclude_bodyparts:
if bpart:
edges.remove_node(bpart)
 
for limb in ["Left_fhip", "Right_fhip", "Left_bhip", "Right_bhip"]:
edges.remove_edge("Center", limb)
if ("Tail_base", limb) in list(edges.edges()):
edges.remove_edge("Tail_base", limb)
 
edges = edges.edges()
 
inv_coords = coords._scaler.inverse_transform(decs).reshape(
decs.shape[0] * decs.shape[1], decs.shape[2]
)
data = pd.DataFrame(inv_coords, columns=coords[random_exp].columns)
 
data["Center", "x"] = 0
data["Center", "y"] = 0
 
init_x = data.xs("x", level=1, axis=1, drop_level=False).iloc[0, :]
init_y = data.xs("y", level=1, axis=1, drop_level=False).iloc[0, :]
 
plots = plot_mouse_graph(init_x, init_y, ax2, edges)
track = ax2.scatter(x=np.array(init_x), y=np.array(init_y), color="#006699",)
 
# Update data in both plots
def animation_frame(i):
# Update scatter plot
 
x = data.xs("x", level=1, axis=1, drop_level=False).iloc[i, :]
y = data.xs("y", level=1, axis=1, drop_level=False).iloc[i, :]
track.set_offsets(np.c_[np.array(x), np.array(y)])
update_mouse_graph(x, y, plots, edges)
 
animation = FuncAnimation(
fig, func=animation_frame, frames=5 * window_size, interval=50,
)
 
# Plot samples as video on the right
 
ax.set_xlabel("{} 1".format(dim_red))
ax.set_ylabel("{} 2".format(dim_red))
ax.get_legend().remove()
 
ax2.set_xlabel("x")
ax2.set_xlabel("y")
ax2.set_ylim(-90, 60)
ax2.set_xlim(-60, 60)
 
plt.tight_layout()
 
video = animation.to_html5_video()
html = display.HTML(video)
display.display(html)
plt.close()
```
 
%% Output
 
 
%% Cell type:code id: tags:
 
``` python
```
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment