{ "cells": [ { "cell_type": "markdown", "id": "4bfb8108", "metadata": {}, "source": [ "# Tutorial 3 - Training the bulkdgd model\n", "\n", "This tutorial shows how to train a new bulkdgd model from scratch on a custom set of samples, rather than using the pre-trained model shipped with the package. This is useful when you want a model tailored to a specific set of genes or samples.\n", "\n", "As a concrete example, we use 50 real GTEx samples (spanning 10 different tissues), provided as a single CSV file - as most real-world datasets will be - which we split into a training and a test set ourselves.\n", "\n", "**Note**: this example uses a small, illustrative training/test set and is meant to demonstrate the training API, not to produce a model of publication quality - training a useful model typically requires many more samples and epochs, and the resulting decoder's parameters file can be several hundred MB in size." ] }, { "cell_type": "code", "execution_count": 1, "id": "53e31d93", "metadata": { "execution": { "iopub.execute_input": "2026-07-05T19:07:22.063720Z", "iopub.status.busy": "2026-07-05T19:07:22.063109Z", "iopub.status.idle": "2026-07-05T19:07:30.500107Z", "shell.execute_reply": "2026-07-05T19:07:30.498531Z" } }, "outputs": [], "source": [ "# Import libraries.\n", "import logging as log\n", "import os\n", "import numpy as np\n", "import pandas as pd\n", "import torch\n", "from bulkdgd import ioutil\n", "from bulkdgd.core import model\n", "\n", "# Set the logging options so that every message of level INFO or above\n", "# is emitted.\n", "log.basicConfig(level = \"INFO\")" ] }, { "cell_type": "markdown", "id": "2d9ca651", "metadata": {}, "source": [ "## Load the configuration for the model\n", "\n", "Load the (untrained) model configuration, which describes the architecture of the latent space and the decoder to be trained." ] }, { "cell_type": "code", "execution_count": 2, "id": "8a5689c5", "metadata": { "execution": { "iopub.execute_input": "2026-07-05T19:07:30.503733Z", "iopub.status.busy": "2026-07-05T19:07:30.503254Z", "iopub.status.idle": "2026-07-05T19:07:30.513182Z", "shell.execute_reply": "2026-07-05T19:07:30.512120Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:bulkdgd.ioutil.configio:The configuration loaded from '/home/lcb518/software/bulkdgd-2.0.0/tutorials/tutorial_3/model.yaml' has warnings. Warnings: latent_options.random_state: no 'random_state' found. The default value 'None' will be used.|latent_options.cem: no 'cem' found. The default value 'False' will be used.\n" ] } ], "source": [ "# Load the model's configuration.\n", "config_model = ioutil.load_config_model(\"model.yaml\")" ] }, { "cell_type": "markdown", "id": "c67dd558", "metadata": {}, "source": [ "## Create the model\n", "\n", "Instantiate a new, untrained bulkdgd model from the configuration, and move it to the GPU if one is available." ] }, { "cell_type": "code", "execution_count": 3, "id": "9f16e27a", "metadata": { "execution": { "iopub.execute_input": "2026-07-05T19:07:30.516348Z", "iopub.status.busy": "2026-07-05T19:07:30.516029Z", "iopub.status.idle": "2026-07-05T19:07:32.331054Z", "shell.execute_reply": "2026-07-05T19:07:32.329545Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:The latent space was successfully set (type: 'GaussianMixtureModelTGMM').\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.decoders:The decoder's hidden layer # 1 was set. Input features: 50. Output features: 500. Activation function: 'ReLU'.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.decoders:The decoder's hidden layer # 2 was set. Input features: 500. Output features: 8000. Activation function: 'ReLU'.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.decoders:The decoder's output module was set. Module 'OutputModuleNBFeatureDispersion' (activation = 'softplus', r_init = 2, output_dim = 14895).\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.decoders:The decoder's dropout fraction was set to 0.0.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:The decoder was successfully set.\n" ] } ], "source": [ "# Create the bulkDGD model (latent space and decoder).\n", "dgd_model = model.BulkDGD(**config_model)\n", "\n", "# If a CPU with CUDA is available.\n", "if torch.cuda.is_available():\n", "\n", " # Set the GPU as the device.\n", " device = torch.device(\"cuda\")\n", "\n", "# Otherwise\n", "else:\n", "\n", " # Set the CPU as the device.\n", " device = torch.device(\"cpu\")\n", "\n", "# Move the model to the device.\n", "dgd_model.device = device" ] }, { "cell_type": "markdown", "id": "b056c037", "metadata": {}, "source": [ "## Load the samples\n", "\n", "Load all the samples from a single CSV file - this is how most real-world datasets will be provided - so that we can split it into training and test sets ourselves in the next step." ] }, { "cell_type": "code", "execution_count": 4, "id": "c6da10c0", "metadata": { "execution": { "iopub.execute_input": "2026-07-05T19:07:32.334558Z", "iopub.status.busy": "2026-07-05T19:07:32.334268Z", "iopub.status.idle": "2026-07-05T19:07:32.728573Z", "shell.execute_reply": "2026-07-05T19:07:32.727114Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:Since 'keep_samples_names = True', the samples will be identified using the values contained in the first column of the data frame.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:14895 column(s) containing gene expression data was (were) found in the input data frame.\n" ] } ], "source": [ "# Load all the samples into a data frame.\n", "df_samples_raw = \\\n", " ioutil.load_samples(# The CSV file where the samples are stored\n", " csv_file = \"samples.csv\",\n", " # The field separator used in the CSV file\n", " sep = \",\",\n", " # Whether to keep the original samples' names/\n", " # indexes (if True, they are assumed to be in\n", " # the first column of the data frame)\n", " keep_samples_names = True,\n", " # Whether to split the input data frame into\n", " # two data frames, one containing only gene\n", " # expression data and the other containing\n", " # additional information about the samples\n", " split = False)" ] }, { "cell_type": "markdown", "id": "3353591c", "metadata": {}, "source": [ "## Split into training and test sets\n", "\n", "Split the samples' IDs into a training set and a test set (50/50), using a fixed random seed for reproducibility." ] }, { "cell_type": "code", "execution_count": 5, "id": "8ad733bd", "metadata": { "execution": { "iopub.execute_input": "2026-07-05T19:07:32.732381Z", "iopub.status.busy": "2026-07-05T19:07:32.732117Z", "iopub.status.idle": "2026-07-05T19:07:33.485507Z", "shell.execute_reply": "2026-07-05T19:07:33.483472Z" } }, "outputs": [], "source": [ "# Split the samples' IDs into a training and a test set (50/50),\n", "# using a fixed random seed for reproducibility.\n", "rng = np.random.default_rng(seed = 42)\n", "ids = df_samples_raw.index.to_numpy().copy()\n", "rng.shuffle(ids)\n", "split_point = len(ids) // 2\n", "ids_train = ids[:split_point]\n", "ids_test = ids[split_point:]\n", "\n", "# Get the training and test samples as separate data frames.\n", "df_train_raw = df_samples_raw.loc[ids_train]\n", "df_test_raw = df_samples_raw.loc[ids_test]" ] }, { "cell_type": "markdown", "id": "241d13f9", "metadata": {}, "source": [ "## Preprocess the samples\n", "\n", "Preprocess the training and test samples against a custom gene list, so that their genes match what the new model expects." ] }, { "cell_type": "code", "execution_count": 6, "id": "3d7d34da", "metadata": { "execution": { "iopub.execute_input": "2026-07-05T19:07:33.489651Z", "iopub.status.busy": "2026-07-05T19:07:33.489358Z", "iopub.status.idle": "2026-07-05T19:07:48.063644Z", "shell.execute_reply": "2026-07-05T19:07:48.062332Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:14895 column(s) containing gene expression data was (were) found in the input data frame.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:Now looking for duplicated samples...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:No duplicated samples were found.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:Now looking for missing values in the columns containing gene expression data...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:No missing values were found in the columns containing gene expression data.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:Now looking for duplicated genes...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:No duplicated genes were found.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:In the data frame containing the pre-processed samples, the columns containing gene expression data will be ordered according to the list of genes included in the DGD model (taken from 'custom_genes.txt').\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:In the data frame containing the pre-processed samples, the columns found in the input data frame which did not contain gene expression data, if any were present, will be appended as the last columns of the data frame and appear in the same order as they did in the input data frame.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:All genes found in the input samples are part of the set of genes included in the DGD model.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:All genes included in the DGD model were found in the input samples.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:14895 column(s) containing gene expression data was (were) found in the input data frame.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:Now looking for duplicated samples...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:No duplicated samples were found.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:Now looking for missing values in the columns containing gene expression data...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:No missing values were found in the columns containing gene expression data.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:Now looking for duplicated genes...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:No duplicated genes were found.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:In the data frame containing the pre-processed samples, the columns containing gene expression data will be ordered according to the list of genes included in the DGD model (taken from 'custom_genes.txt').\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:In the data frame containing the pre-processed samples, the columns found in the input data frame which did not contain gene expression data, if any were present, will be appended as the last columns of the data frame and appear in the same order as they did in the input data frame.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:All genes found in the input samples are part of the set of genes included in the DGD model.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.ioutil.samplesio:All genes included in the DGD model were found in the input samples.\n" ] } ], "source": [ "# Pre-process the training samples.\n", "df_train, genes_excluded_train, genes_missing_train = \\\n", " ioutil.preprocess_samples(df_samples = df_train_raw,\n", " genes_txt_file = \"custom_genes.txt\")\n", "\n", "# Pre-process the test samples.\n", "df_test, genes_excluded_test, genes_missing_test = \\\n", " ioutil.preprocess_samples(df_samples = df_test_raw,\n", " genes_txt_file = \"custom_genes.txt\")" ] }, { "cell_type": "markdown", "id": "fcb8e8e5", "metadata": {}, "source": [ "## Load the configuration for training\n", "\n", "Load the configuration describing the training process (number of epochs, optimizers, learning rate schedules, early stopping, and which metrics/outputs to report)." ] }, { "cell_type": "code", "execution_count": 7, "id": "d21c154b", "metadata": { "execution": { "iopub.execute_input": "2026-07-05T19:07:48.068250Z", "iopub.status.busy": "2026-07-05T19:07:48.067935Z", "iopub.status.idle": "2026-07-05T19:07:48.083161Z", "shell.execute_reply": "2026-07-05T19:07:48.081833Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:bulkdgd.ioutil.configio:The configuration loaded from '/home/lcb518/software/bulkdgd-2.0.0/tutorials/tutorial_3/training.yaml' has warnings. Warnings: reporting_options.metrics.latent: no 'latent' found. The default value '['silhouette_score']' will be used.|latent_training_options.model_selection_type: no 'model_selection_type' found. The default value 'None' will be used.|representations_training_options.train_noise_options.within_radius_prob: no 'within_radius_prob' found. The default value '0.95' will be used.|representations_training_options.train_noise_options.gain: no 'gain' found. The default value '1.0' will be used.\n" ] } ], "source": [ "# Load the configuration for training the model.\n", "config_train = ioutil.load_config_train(\"training.yaml\")" ] }, { "cell_type": "markdown", "id": "2a8f1e45", "metadata": {}, "source": [ "## Train the model\n", "\n", "Train the model on the combined preprocessed samples, using the given training/test split, and unpack the resulting representations, predictions, losses, metrics, and timing information." ] }, { "cell_type": "code", "execution_count": 8, "id": "eb2da356", "metadata": { "execution": { "iopub.execute_input": "2026-07-05T19:07:48.086349Z", "iopub.status.busy": "2026-07-05T19:07:48.086061Z", "iopub.status.idle": "2026-07-05T19:08:14.332962Z", "shell.execute_reply": "2026-07-05T19:08:14.331370Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Weight-threshold collapsed-component removal is enabled (threshold = 1e-08).\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Selected reporting metrics for the latent space: 'silhouette_score'.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 1: loss train 147962.128, loss test 144613.444, epoch total CPU time 2.360 s, epoch total wall clock time 0.644 s, LR: decoder=4.10e-04, LR: rep_train=4.10e-04, noise scale 0.100000.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 2: loss train 146193.756, loss test 142844.747, epoch total CPU time 0.029 s, epoch total wall clock time 0.030 s, LR: decoder=4.39e-04, LR: rep_train=4.39e-04, noise scale 0.099994.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 3: loss train 144313.648, loss test 140676.903, epoch total CPU time 0.029 s, epoch total wall clock time 0.029 s, LR: decoder=4.89e-04, LR: rep_train=4.89e-04, noise scale 0.099975.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 4: loss train 142020.879, loss test 137947.599, epoch total CPU time 0.029 s, epoch total wall clock time 0.030 s, LR: decoder=5.57e-04, LR: rep_train=5.57e-04, noise scale 0.099944.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 5: loss train 139142.874, loss test 134582.975, epoch total CPU time 0.028 s, epoch total wall clock time 0.028 s, LR: decoder=6.45e-04, LR: rep_train=6.45e-04, noise scale 0.099901.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 6: loss train 135596.369, loss test 130703.319, epoch total CPU time 0.029 s, epoch total wall clock time 0.029 s, LR: decoder=7.51e-04, LR: rep_train=7.51e-04, noise scale 0.099846.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 7: loss train 131436.338, loss test 126823.473, epoch total CPU time 0.028 s, epoch total wall clock time 0.028 s, LR: decoder=8.75e-04, LR: rep_train=8.75e-04, noise scale 0.099778.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 8: loss train 127088.280, loss test 124230.645, epoch total CPU time 0.028 s, epoch total wall clock time 0.028 s, LR: decoder=1.02e-03, LR: rep_train=1.02e-03, noise scale 0.099698.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 9: loss train 123796.736, loss test 124770.420, epoch total CPU time 0.028 s, epoch total wall clock time 0.028 s, LR: decoder=1.18e-03, LR: rep_train=1.18e-03, noise scale 0.099606.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 10: loss train 123283.078, loss test 125577.403, epoch total CPU time 0.030 s, epoch total wall clock time 0.031 s, LR: decoder=1.35e-03, LR: rep_train=1.35e-03, noise scale 0.099501.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 11: loss train 123147.841, loss test 122828.510, epoch total CPU time 0.029 s, epoch total wall clock time 0.029 s, LR: decoder=1.55e-03, LR: rep_train=1.55e-03, noise scale 0.099384.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 12: loss train 120438.397, loss test 120162.305, epoch total CPU time 0.029 s, epoch total wall clock time 0.029 s, LR: decoder=1.75e-03, LR: rep_train=1.75e-03, noise scale 0.099256.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 13: loss train 118384.588, loss test 119678.913, epoch total CPU time 0.028 s, epoch total wall clock time 0.029 s, LR: decoder=1.97e-03, LR: rep_train=1.97e-03, noise scale 0.099114.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 14: loss train 118586.649, loss test 120442.948, epoch total CPU time 0.029 s, epoch total wall clock time 0.029 s, LR: decoder=2.21e-03, LR: rep_train=2.21e-03, noise scale 0.098961.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 15: loss train 119850.068, loss test 121225.483, epoch total CPU time 0.028 s, epoch total wall clock time 0.028 s, LR: decoder=2.45e-03, LR: rep_train=2.45e-03, noise scale 0.098796.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 16: loss train 120887.242, loss test 121440.520, epoch total CPU time 0.028 s, epoch total wall clock time 0.028 s, LR: decoder=2.71e-03, LR: rep_train=2.71e-03, noise scale 0.098619.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 17: loss train 121156.230, loss test 120971.095, epoch total CPU time 0.028 s, epoch total wall clock time 0.028 s, LR: decoder=2.98e-03, LR: rep_train=2.98e-03, noise scale 0.098429.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 18: loss train 120566.867, loss test 119949.814, epoch total CPU time 0.028 s, epoch total wall clock time 0.028 s, LR: decoder=3.26e-03, LR: rep_train=3.26e-03, noise scale 0.098228.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 19: loss train 119264.191, loss test 118808.695, epoch total CPU time 0.028 s, epoch total wall clock time 0.028 s, LR: decoder=3.54e-03, LR: rep_train=3.54e-03, noise scale 0.098015.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 20: loss train 117669.444, loss test 118289.987, epoch total CPU time 0.028 s, epoch total wall clock time 0.028 s, LR: decoder=3.83e-03, LR: rep_train=3.83e-03, noise scale 0.097790.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 21: loss train 116623.463, loss test 118338.709, epoch total CPU time 0.029 s, epoch total wall clock time 0.029 s, LR: decoder=4.13e-03, LR: rep_train=4.13e-03, noise scale 0.097553.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 22: loss train 116491.907, loss test 117820.662, epoch total CPU time 0.030 s, epoch total wall clock time 0.030 s, LR: decoder=4.43e-03, LR: rep_train=4.43e-03, noise scale 0.097305.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 23: loss train 116279.091, loss test 117343.004, epoch total CPU time 0.028 s, epoch total wall clock time 0.029 s, LR: decoder=4.74e-03, LR: rep_train=4.74e-03, noise scale 0.097044.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 24: loss train 116067.486, loss test 117350.738, epoch total CPU time 0.030 s, epoch total wall clock time 0.030 s, LR: decoder=5.05e-03, LR: rep_train=5.05e-03, noise scale 0.096773.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 25: loss train 116080.888, loss test 116696.570, epoch total CPU time 5.983 s, epoch total wall clock time 0.160 s, LR: decoder=5.35e-03, LR: rep_train=5.35e-03, noise scale 0.096489.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 25: silhouette_score: train=0.2228, test=0.2777.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 26: loss train 115376.818, loss test 116426.133, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=5.66e-03, LR: rep_train=5.66e-03, noise scale 0.096195.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 26: silhouette_score: train=0.2514, test=0.1591.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 27: loss train 115419.326, loss test 116066.009, epoch total CPU time 0.031 s, epoch total wall clock time 0.031 s, LR: decoder=5.97e-03, LR: rep_train=5.97e-03, noise scale 0.095888.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 27: silhouette_score: train=0.2906, test=0.1214.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 28: loss train 114539.326, loss test 115902.259, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=6.27e-03, LR: rep_train=6.27e-03, noise scale 0.095571.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 28: silhouette_score: train=0.2776, test=0.2698.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 29: loss train 114418.510, loss test 115380.403, epoch total CPU time 0.032 s, epoch total wall clock time 0.033 s, LR: decoder=6.57e-03, LR: rep_train=6.57e-03, noise scale 0.095242.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 29: silhouette_score: train=0.2645, test=0.2932.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 30: loss train 113764.596, loss test 114898.625, epoch total CPU time 0.032 s, epoch total wall clock time 0.033 s, LR: decoder=6.86e-03, LR: rep_train=6.86e-03, noise scale 0.094902.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 30: silhouette_score: train=0.2622, test=0.3263.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 31: loss train 113234.918, loss test 114126.157, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=7.14e-03, LR: rep_train=7.14e-03, noise scale 0.094551.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 31: silhouette_score: train=0.2571, test=0.3318.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 32: loss train 112541.512, loss test 113645.934, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=7.42e-03, LR: rep_train=7.42e-03, noise scale 0.094190.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 32: silhouette_score: train=0.2446, test=0.3504.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 33: loss train 111893.901, loss test 113778.823, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=7.69e-03, LR: rep_train=7.69e-03, noise scale 0.093817.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 33: silhouette_score: train=0.2291, test=0.3256.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 34: loss train 111691.390, loss test 113237.380, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=7.95e-03, LR: rep_train=7.95e-03, noise scale 0.093433.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 34: silhouette_score: train=0.2117, test=0.2035.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 35: loss train 111385.083, loss test 113064.474, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=8.19e-03, LR: rep_train=8.19e-03, noise scale 0.093039.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 35: silhouette_score: train=0.2493, test=0.2191.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 36: loss train 111193.412, loss test 112950.900, epoch total CPU time 0.031 s, epoch total wall clock time 0.031 s, LR: decoder=8.43e-03, LR: rep_train=8.43e-03, noise scale 0.092634.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 36: silhouette_score: train=0.2621, test=0.1274.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 37: loss train 111267.488, loss test 112272.895, epoch total CPU time 0.031 s, epoch total wall clock time 0.031 s, LR: decoder=8.65e-03, LR: rep_train=8.65e-03, noise scale 0.092219.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 37: silhouette_score: train=0.2503, test=0.2006.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 38: loss train 110407.402, loss test 112086.740, epoch total CPU time 0.030 s, epoch total wall clock time 0.030 s, LR: decoder=8.85e-03, LR: rep_train=8.85e-03, noise scale 0.091793.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 38: silhouette_score: train=0.2312, test=0.1431.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 39: loss train 110442.376, loss test 112206.126, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=9.05e-03, LR: rep_train=9.05e-03, noise scale 0.091357.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 39: silhouette_score: train=0.2214, test=0.1632.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 40: loss train 110245.444, loss test 111819.026, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=9.22e-03, LR: rep_train=9.22e-03, noise scale 0.090911.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 40: silhouette_score: train=0.2740, test=0.0901.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 41: loss train 109762.704, loss test 111127.420, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=9.38e-03, LR: rep_train=9.38e-03, noise scale 0.090454.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 41: silhouette_score: train=0.2667, test=0.1802.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 42: loss train 109075.781, loss test 110652.922, epoch total CPU time 0.031 s, epoch total wall clock time 0.031 s, LR: decoder=9.52e-03, LR: rep_train=9.52e-03, noise scale 0.089988.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 42: silhouette_score: train=0.2578, test=0.1985.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 43: loss train 108581.145, loss test 110660.963, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=9.65e-03, LR: rep_train=9.65e-03, noise scale 0.089512.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 43: silhouette_score: train=0.2371, test=0.1997.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 44: loss train 108677.110, loss test 110078.255, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=9.76e-03, LR: rep_train=9.76e-03, noise scale 0.089026.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 44: silhouette_score: train=0.2349, test=0.1867.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 45: loss train 107970.857, loss test 110302.924, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=9.84e-03, LR: rep_train=9.84e-03, noise scale 0.088531.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 45: silhouette_score: train=0.2315, test=0.2173.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 46: loss train 107974.376, loss test 111246.837, epoch total CPU time 0.032 s, epoch total wall clock time 0.033 s, LR: decoder=9.91e-03, LR: rep_train=9.91e-03, noise scale 0.088026.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 46: silhouette_score: train=0.2279, test=0.1645.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 47: loss train 109104.761, loss test 111109.120, epoch total CPU time 0.039 s, epoch total wall clock time 0.039 s, LR: decoder=9.96e-03, LR: rep_train=9.96e-03, noise scale 0.087511.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 47: silhouette_score: train=0.3830, test=0.2185.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 48: loss train 107866.759, loss test 109859.638, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=9.99e-03, LR: rep_train=9.99e-03, noise scale 0.086988.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 48: silhouette_score: train=0.3960, test=0.2286.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 49: loss train 107398.990, loss test 109755.993, epoch total CPU time 0.035 s, epoch total wall clock time 0.035 s, LR: decoder=1.00e-02, LR: rep_train=1.00e-02, noise scale 0.086455.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 49: silhouette_score: train=0.4094, test=0.2326.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 50: loss train 107315.223, loss test 109588.396, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=1.00e-02, LR: rep_train=1.00e-02, noise scale 0.085914.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 50: silhouette_score: train=0.4165, test=0.2364.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 51: loss train 106740.979, loss test 110657.325, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=1.00e-02, LR: rep_train=1.00e-02, noise scale 0.085363.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 51: silhouette_score: train=0.4126, test=0.1898.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 52: loss train 106628.477, loss test 109251.707, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=9.99e-03, LR: rep_train=9.99e-03, noise scale 0.084804.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 52: silhouette_score: train=0.3977, test=0.2209.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 53: loss train 106170.906, loss test 108871.530, epoch total CPU time 0.034 s, epoch total wall clock time 0.035 s, LR: decoder=9.98e-03, LR: rep_train=9.98e-03, noise scale 0.084237.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 53: silhouette_score: train=0.3738, test=0.0789.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 54: loss train 105638.685, loss test 108595.159, epoch total CPU time 0.034 s, epoch total wall clock time 0.035 s, LR: decoder=9.97e-03, LR: rep_train=9.97e-03, noise scale 0.083661.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 54: silhouette_score: train=0.3582, test=0.0765.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 55: loss train 105245.124, loss test 108942.815, epoch total CPU time 0.035 s, epoch total wall clock time 0.035 s, LR: decoder=9.96e-03, LR: rep_train=9.96e-03, noise scale 0.083076.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 55: silhouette_score: train=0.3614, test=0.0892.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 56: loss train 105601.417, loss test 108585.362, epoch total CPU time 0.034 s, epoch total wall clock time 0.035 s, LR: decoder=9.95e-03, LR: rep_train=9.95e-03, noise scale 0.082484.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 56: silhouette_score: train=0.3592, test=0.0901.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 57: loss train 104854.482, loss test 108188.619, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=9.93e-03, LR: rep_train=9.93e-03, noise scale 0.081884.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 57: silhouette_score: train=0.3945, test=0.1098.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 58: loss train 104211.169, loss test 108088.156, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=9.91e-03, LR: rep_train=9.91e-03, noise scale 0.081275.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 58: silhouette_score: train=0.3987, test=0.1814.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 59: loss train 104075.921, loss test 107944.450, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=9.89e-03, LR: rep_train=9.89e-03, noise scale 0.080660.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 59: silhouette_score: train=0.4080, test=0.1852.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 60: loss train 103778.910, loss test 107752.811, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=9.87e-03, LR: rep_train=9.87e-03, noise scale 0.080036.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 60: silhouette_score: train=0.4194, test=0.1906.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 61: loss train 103546.193, loss test 107627.764, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=9.84e-03, LR: rep_train=9.84e-03, noise scale 0.079405.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 61: silhouette_score: train=0.4234, test=0.2304.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 62: loss train 103326.379, loss test 107406.882, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=9.82e-03, LR: rep_train=9.82e-03, noise scale 0.078767.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 62: silhouette_score: train=0.4235, test=0.2372.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 63: loss train 103018.306, loss test 107397.000, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=9.79e-03, LR: rep_train=9.79e-03, noise scale 0.078122.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 63: silhouette_score: train=0.4290, test=0.2666.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 64: loss train 102896.138, loss test 107267.405, epoch total CPU time 0.033 s, epoch total wall clock time 0.034 s, LR: decoder=9.76e-03, LR: rep_train=9.76e-03, noise scale 0.077471.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 64: silhouette_score: train=0.4366, test=0.4003.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 65: loss train 102677.499, loss test 107121.911, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=9.72e-03, LR: rep_train=9.72e-03, noise scale 0.076812.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 65: silhouette_score: train=0.4433, test=0.2741.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 66: loss train 102448.223, loss test 107072.288, epoch total CPU time 0.033 s, epoch total wall clock time 0.034 s, LR: decoder=9.69e-03, LR: rep_train=9.69e-03, noise scale 0.076147.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 66: silhouette_score: train=0.4490, test=0.2845.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 67: loss train 102312.289, loss test 106819.351, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=9.65e-03, LR: rep_train=9.65e-03, noise scale 0.075475.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 67: silhouette_score: train=0.4537, test=0.2900.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 68: loss train 102125.637, loss test 106724.936, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=9.61e-03, LR: rep_train=9.61e-03, noise scale 0.074797.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 68: silhouette_score: train=0.4566, test=0.2933.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 69: loss train 102054.319, loss test 106580.135, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=9.57e-03, LR: rep_train=9.57e-03, noise scale 0.074114.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 69: silhouette_score: train=0.4560, test=0.2119.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 70: loss train 101814.469, loss test 106500.809, epoch total CPU time 0.033 s, epoch total wall clock time 0.034 s, LR: decoder=9.52e-03, LR: rep_train=9.52e-03, noise scale 0.073424.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 70: silhouette_score: train=0.4466, test=0.1943.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 71: loss train 101665.096, loss test 106406.510, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=9.48e-03, LR: rep_train=9.48e-03, noise scale 0.072728.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 71: silhouette_score: train=0.4356, test=0.1814.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 72: loss train 101534.027, loss test 106307.642, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=9.43e-03, LR: rep_train=9.43e-03, noise scale 0.072028.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 72: silhouette_score: train=0.4265, test=0.2191.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 73: loss train 101480.497, loss test 106476.080, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=9.38e-03, LR: rep_train=9.38e-03, noise scale 0.071321.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 73: silhouette_score: train=0.4179, test=0.3459.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 74: loss train 101339.274, loss test 106241.418, epoch total CPU time 0.034 s, epoch total wall clock time 0.035 s, LR: decoder=9.33e-03, LR: rep_train=9.33e-03, noise scale 0.070610.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 74: silhouette_score: train=0.4065, test=0.3384.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 75: loss train 101336.098, loss test 106212.258, epoch total CPU time 0.037 s, epoch total wall clock time 0.037 s, LR: decoder=9.28e-03, LR: rep_train=9.28e-03, noise scale 0.069893.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 75: silhouette_score: train=0.3975, test=0.3288.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 76: loss train 101114.775, loss test 106084.411, epoch total CPU time 0.036 s, epoch total wall clock time 0.036 s, LR: decoder=9.22e-03, LR: rep_train=9.22e-03, noise scale 0.069172.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 76: silhouette_score: train=0.3905, test=0.3189.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 77: loss train 100995.819, loss test 105994.838, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=9.16e-03, LR: rep_train=9.16e-03, noise scale 0.068446.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 77: silhouette_score: train=0.3809, test=0.3650.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 78: loss train 100765.164, loss test 105850.687, epoch total CPU time 0.034 s, epoch total wall clock time 0.035 s, LR: decoder=9.11e-03, LR: rep_train=9.11e-03, noise scale 0.067715.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 78: silhouette_score: train=0.3689, test=0.3617.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 79: loss train 100584.930, loss test 105757.723, epoch total CPU time 0.034 s, epoch total wall clock time 0.035 s, LR: decoder=9.05e-03, LR: rep_train=9.05e-03, noise scale 0.066980.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 79: silhouette_score: train=0.3597, test=0.3574.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 80: loss train 100398.207, loss test 105856.532, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=8.98e-03, LR: rep_train=8.98e-03, noise scale 0.066242.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 80: silhouette_score: train=0.3518, test=0.4114.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 81: loss train 100425.313, loss test 105866.903, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=8.92e-03, LR: rep_train=8.92e-03, noise scale 0.065499.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 81: silhouette_score: train=0.3456, test=0.3544.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 82: loss train 100510.494, loss test 105668.924, epoch total CPU time 0.034 s, epoch total wall clock time 0.035 s, LR: decoder=8.85e-03, LR: rep_train=8.85e-03, noise scale 0.064752.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 82: silhouette_score: train=0.3450, test=0.3506.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 83: loss train 100083.958, loss test 105566.034, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=8.79e-03, LR: rep_train=8.79e-03, noise scale 0.064002.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 83: silhouette_score: train=0.3452, test=0.3993.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 84: loss train 99996.513, loss test 105671.313, epoch total CPU time 0.035 s, epoch total wall clock time 0.035 s, LR: decoder=8.72e-03, LR: rep_train=8.72e-03, noise scale 0.063249.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 84: silhouette_score: train=0.3454, test=0.3696.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 85: loss train 99995.611, loss test 105551.594, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=8.64e-03, LR: rep_train=8.64e-03, noise scale 0.062492.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 85: silhouette_score: train=0.3462, test=0.3763.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 86: loss train 99857.316, loss test 105577.595, epoch total CPU time 0.040 s, epoch total wall clock time 0.041 s, LR: decoder=8.57e-03, LR: rep_train=8.57e-03, noise scale 0.061732.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 86: silhouette_score: train=0.3470, test=0.3345.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 87: loss train 99906.697, loss test 105531.424, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=8.50e-03, LR: rep_train=8.50e-03, noise scale 0.060970.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 87: silhouette_score: train=0.3470, test=0.3388.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 88: loss train 99722.460, loss test 105393.897, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=8.42e-03, LR: rep_train=8.42e-03, noise scale 0.060205.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 88: silhouette_score: train=0.3459, test=0.3167.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 89: loss train 99643.445, loss test 105206.101, epoch total CPU time 0.035 s, epoch total wall clock time 0.035 s, LR: decoder=8.35e-03, LR: rep_train=8.35e-03, noise scale 0.059437.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 89: silhouette_score: train=0.3441, test=0.3183.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 90: loss train 99340.035, loss test 105252.581, epoch total CPU time 0.035 s, epoch total wall clock time 0.036 s, LR: decoder=8.27e-03, LR: rep_train=8.27e-03, noise scale 0.058668.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 90: silhouette_score: train=0.3427, test=0.3178.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 91: loss train 99341.235, loss test 105325.470, epoch total CPU time 0.035 s, epoch total wall clock time 0.036 s, LR: decoder=8.19e-03, LR: rep_train=8.19e-03, noise scale 0.057896.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 91: silhouette_score: train=0.3395, test=0.3205.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 92: loss train 99485.789, loss test 105389.482, epoch total CPU time 0.037 s, epoch total wall clock time 0.037 s, LR: decoder=8.11e-03, LR: rep_train=8.11e-03, noise scale 0.057122.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 92: silhouette_score: train=0.3375, test=0.3243.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 93: loss train 99527.764, loss test 105099.848, epoch total CPU time 0.035 s, epoch total wall clock time 0.036 s, LR: decoder=8.02e-03, LR: rep_train=8.02e-03, noise scale 0.056347.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 93: silhouette_score: train=0.3369, test=0.3262.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 94: loss train 99175.119, loss test 105105.989, epoch total CPU time 0.036 s, epoch total wall clock time 0.036 s, LR: decoder=7.94e-03, LR: rep_train=7.94e-03, noise scale 0.055571.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 94: silhouette_score: train=0.3364, test=0.3263.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 95: loss train 99055.638, loss test 105119.626, epoch total CPU time 0.035 s, epoch total wall clock time 0.035 s, LR: decoder=7.85e-03, LR: rep_train=7.85e-03, noise scale 0.054793.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 95: silhouette_score: train=0.3339, test=0.3254.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 96: loss train 98973.591, loss test 104995.306, epoch total CPU time 0.037 s, epoch total wall clock time 0.037 s, LR: decoder=7.77e-03, LR: rep_train=7.77e-03, noise scale 0.054014.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 96: silhouette_score: train=0.3290, test=0.3250.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 97: loss train 98815.863, loss test 104872.301, epoch total CPU time 0.033 s, epoch total wall clock time 0.034 s, LR: decoder=7.68e-03, LR: rep_train=7.68e-03, noise scale 0.053234.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 97: silhouette_score: train=0.3239, test=0.3258.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 98: loss train 98706.301, loss test 104847.101, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=7.59e-03, LR: rep_train=7.59e-03, noise scale 0.052453.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 98: silhouette_score: train=0.3198, test=0.3284.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 99: loss train 98560.383, loss test 104839.699, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=7.50e-03, LR: rep_train=7.50e-03, noise scale 0.051672.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 99: silhouette_score: train=0.3153, test=0.3308.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 100: loss train 98508.552, loss test 104789.050, epoch total CPU time 0.041 s, epoch total wall clock time 0.041 s, LR: decoder=7.41e-03, LR: rep_train=7.41e-03, noise scale 0.050891.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 100: silhouette_score: train=0.3107, test=0.3309.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 101: loss train 98485.898, loss test 104801.292, epoch total CPU time 0.035 s, epoch total wall clock time 0.035 s, LR: decoder=7.32e-03, LR: rep_train=7.32e-03, noise scale 0.050109.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 101: silhouette_score: train=0.3043, test=0.3313.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 102: loss train 98343.935, loss test 104751.601, epoch total CPU time 0.035 s, epoch total wall clock time 0.035 s, LR: decoder=7.22e-03, LR: rep_train=7.22e-03, noise scale 0.049328.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 102: silhouette_score: train=0.2999, test=0.2089.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 103: loss train 98246.056, loss test 104687.808, epoch total CPU time 0.032 s, epoch total wall clock time 0.033 s, LR: decoder=7.13e-03, LR: rep_train=7.13e-03, noise scale 0.048547.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 103: silhouette_score: train=0.2949, test=0.2080.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 104: loss train 98202.207, loss test 104633.652, epoch total CPU time 0.035 s, epoch total wall clock time 0.035 s, LR: decoder=7.03e-03, LR: rep_train=7.03e-03, noise scale 0.047766.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 104: silhouette_score: train=0.2882, test=0.2084.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 105: loss train 98094.676, loss test 104590.770, epoch total CPU time 0.035 s, epoch total wall clock time 0.036 s, LR: decoder=6.94e-03, LR: rep_train=6.94e-03, noise scale 0.046986.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 105: silhouette_score: train=0.2820, test=0.2093.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 106: loss train 98000.745, loss test 104534.910, epoch total CPU time 0.033 s, epoch total wall clock time 0.034 s, LR: decoder=6.84e-03, LR: rep_train=6.84e-03, noise scale 0.046207.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 106: silhouette_score: train=0.2779, test=0.2095.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 107: loss train 97934.022, loss test 104474.955, epoch total CPU time 0.036 s, epoch total wall clock time 0.036 s, LR: decoder=6.74e-03, LR: rep_train=6.74e-03, noise scale 0.045429.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 107: silhouette_score: train=0.2738, test=0.2091.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 108: loss train 97856.102, loss test 104491.313, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=6.64e-03, LR: rep_train=6.64e-03, noise scale 0.044653.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 108: silhouette_score: train=0.2701, test=0.2086.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 109: loss train 97807.309, loss test 104478.723, epoch total CPU time 0.031 s, epoch total wall clock time 0.033 s, LR: decoder=6.55e-03, LR: rep_train=6.55e-03, noise scale 0.043878.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 109: silhouette_score: train=0.2695, test=0.2086.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 110: loss train 97714.916, loss test 104451.207, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=6.45e-03, LR: rep_train=6.45e-03, noise scale 0.043104.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 110: silhouette_score: train=0.2689, test=0.2086.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 111: loss train 97656.598, loss test 104402.104, epoch total CPU time 0.035 s, epoch total wall clock time 0.035 s, LR: decoder=6.34e-03, LR: rep_train=6.34e-03, noise scale 0.042332.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 111: silhouette_score: train=0.2675, test=0.2086.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 112: loss train 97573.885, loss test 104382.467, epoch total CPU time 0.035 s, epoch total wall clock time 0.035 s, LR: decoder=6.24e-03, LR: rep_train=6.24e-03, noise scale 0.041563.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 112: silhouette_score: train=0.2655, test=0.2092.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 113: loss train 97531.320, loss test 104355.162, epoch total CPU time 0.035 s, epoch total wall clock time 0.035 s, LR: decoder=6.14e-03, LR: rep_train=6.14e-03, noise scale 0.040795.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 113: silhouette_score: train=0.2642, test=0.2101.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 114: loss train 97465.019, loss test 104330.258, epoch total CPU time 0.034 s, epoch total wall clock time 0.035 s, LR: decoder=6.04e-03, LR: rep_train=6.04e-03, noise scale 0.040030.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 114: silhouette_score: train=0.2639, test=0.2107.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 115: loss train 97414.251, loss test 104307.613, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=5.94e-03, LR: rep_train=5.94e-03, noise scale 0.039268.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 115: silhouette_score: train=0.2645, test=0.2114.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 116: loss train 97379.303, loss test 104285.120, epoch total CPU time 0.034 s, epoch total wall clock time 0.035 s, LR: decoder=5.83e-03, LR: rep_train=5.83e-03, noise scale 0.038508.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 116: silhouette_score: train=0.2645, test=0.2119.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 117: loss train 97307.292, loss test 104289.694, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=5.73e-03, LR: rep_train=5.73e-03, noise scale 0.037751.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 117: silhouette_score: train=0.2651, test=0.2122.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 118: loss train 97255.808, loss test 104280.405, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=5.63e-03, LR: rep_train=5.63e-03, noise scale 0.036998.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 118: silhouette_score: train=0.2652, test=0.2120.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 119: loss train 97191.017, loss test 104274.174, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=5.52e-03, LR: rep_train=5.52e-03, noise scale 0.036248.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 119: silhouette_score: train=0.2653, test=0.2118.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 120: loss train 97143.355, loss test 104244.487, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=5.42e-03, LR: rep_train=5.42e-03, noise scale 0.035501.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 120: silhouette_score: train=0.2658, test=0.2117.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 121: loss train 97086.226, loss test 104211.720, epoch total CPU time 0.032 s, epoch total wall clock time 0.033 s, LR: decoder=5.31e-03, LR: rep_train=5.31e-03, noise scale 0.034758.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 121: silhouette_score: train=0.2662, test=0.2113.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 122: loss train 97035.407, loss test 104162.347, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=5.21e-03, LR: rep_train=5.21e-03, noise scale 0.034020.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 122: silhouette_score: train=0.2661, test=0.2106.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 123: loss train 96985.571, loss test 104146.260, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=5.10e-03, LR: rep_train=5.10e-03, noise scale 0.033285.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 123: silhouette_score: train=0.2657, test=0.2099.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 124: loss train 96935.991, loss test 104155.055, epoch total CPU time 0.031 s, epoch total wall clock time 0.039 s, LR: decoder=5.00e-03, LR: rep_train=5.00e-03, noise scale 0.032554.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 124: silhouette_score: train=0.2656, test=0.2097.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 125: loss train 96893.774, loss test 104160.098, epoch total CPU time 0.029 s, epoch total wall clock time 0.035 s, LR: decoder=4.90e-03, LR: rep_train=4.90e-03, noise scale 0.031828.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 125: silhouette_score: train=0.2654, test=0.2101.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 126: loss train 96838.579, loss test 104146.396, epoch total CPU time 0.031 s, epoch total wall clock time 0.032 s, LR: decoder=4.79e-03, LR: rep_train=4.79e-03, noise scale 0.031107.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 126: silhouette_score: train=0.2649, test=0.2108.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 127: loss train 96798.846, loss test 104134.592, epoch total CPU time 0.034 s, epoch total wall clock time 0.035 s, LR: decoder=4.69e-03, LR: rep_train=4.69e-03, noise scale 0.030390.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 127: silhouette_score: train=0.2644, test=0.2113.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 128: loss train 96752.039, loss test 104123.072, epoch total CPU time 0.031 s, epoch total wall clock time 0.032 s, LR: decoder=4.58e-03, LR: rep_train=4.58e-03, noise scale 0.029679.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 128: silhouette_score: train=0.2645, test=0.2118.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 129: loss train 96703.131, loss test 104108.831, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=4.48e-03, LR: rep_train=4.48e-03, noise scale 0.028972.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 129: silhouette_score: train=0.2654, test=0.2122.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 130: loss train 96658.953, loss test 104086.381, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=4.37e-03, LR: rep_train=4.37e-03, noise scale 0.028272.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 130: silhouette_score: train=0.2664, test=0.2124.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 131: loss train 96615.632, loss test 104069.561, epoch total CPU time 0.032 s, epoch total wall clock time 0.033 s, LR: decoder=4.27e-03, LR: rep_train=4.27e-03, noise scale 0.027576.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 131: silhouette_score: train=0.2672, test=0.2124.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 132: loss train 96574.343, loss test 104061.659, epoch total CPU time 0.031 s, epoch total wall clock time 0.032 s, LR: decoder=4.17e-03, LR: rep_train=4.17e-03, noise scale 0.026886.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 132: silhouette_score: train=0.2680, test=0.2122.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 133: loss train 96542.251, loss test 104056.257, epoch total CPU time 0.032 s, epoch total wall clock time 0.031 s, LR: decoder=4.06e-03, LR: rep_train=4.06e-03, noise scale 0.026203.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 133: silhouette_score: train=0.2685, test=0.2121.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 134: loss train 96495.815, loss test 104062.898, epoch total CPU time 0.031 s, epoch total wall clock time 0.032 s, LR: decoder=3.96e-03, LR: rep_train=3.96e-03, noise scale 0.025525.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 134: silhouette_score: train=0.2690, test=0.2120.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 135: loss train 96462.816, loss test 104060.890, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=3.86e-03, LR: rep_train=3.86e-03, noise scale 0.024853.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 135: silhouette_score: train=0.2696, test=0.2118.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 136: loss train 96422.675, loss test 104052.492, epoch total CPU time 0.031 s, epoch total wall clock time 0.032 s, LR: decoder=3.76e-03, LR: rep_train=3.76e-03, noise scale 0.024188.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 136: silhouette_score: train=0.2699, test=0.2116.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 137: loss train 96390.151, loss test 104028.877, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=3.66e-03, LR: rep_train=3.66e-03, noise scale 0.023529.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 137: silhouette_score: train=0.2701, test=0.2113.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 138: loss train 96359.001, loss test 104016.737, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=3.56e-03, LR: rep_train=3.56e-03, noise scale 0.022878.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 138: silhouette_score: train=0.2710, test=0.2113.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 139: loss train 96322.311, loss test 104012.053, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=3.46e-03, LR: rep_train=3.46e-03, noise scale 0.022233.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 139: silhouette_score: train=0.2718, test=0.2117.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 140: loss train 96291.768, loss test 104002.103, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=3.36e-03, LR: rep_train=3.36e-03, noise scale 0.021595.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 140: silhouette_score: train=0.2727, test=0.2123.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 141: loss train 96266.164, loss test 104001.864, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=3.26e-03, LR: rep_train=3.26e-03, noise scale 0.020964.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 141: silhouette_score: train=0.2735, test=0.2128.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 142: loss train 96232.902, loss test 104009.966, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=3.16e-03, LR: rep_train=3.16e-03, noise scale 0.020340.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 142: silhouette_score: train=0.2743, test=0.2132.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 143: loss train 96206.893, loss test 104010.907, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=3.06e-03, LR: rep_train=3.06e-03, noise scale 0.019725.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 143: silhouette_score: train=0.2753, test=0.2135.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 144: loss train 96178.125, loss test 104002.771, epoch total CPU time 0.031 s, epoch total wall clock time 0.032 s, LR: decoder=2.97e-03, LR: rep_train=2.97e-03, noise scale 0.019116.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 144: silhouette_score: train=0.2763, test=0.2136.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 145: loss train 96147.878, loss test 103997.140, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=2.87e-03, LR: rep_train=2.87e-03, noise scale 0.018516.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 145: silhouette_score: train=0.2772, test=0.2136.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 146: loss train 96123.366, loss test 103992.740, epoch total CPU time 0.033 s, epoch total wall clock time 0.034 s, LR: decoder=2.78e-03, LR: rep_train=2.78e-03, noise scale 0.017924.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 146: silhouette_score: train=0.2782, test=0.2137.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 147: loss train 96100.258, loss test 103982.593, epoch total CPU time 0.034 s, epoch total wall clock time 0.035 s, LR: decoder=2.68e-03, LR: rep_train=2.68e-03, noise scale 0.017339.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 147: silhouette_score: train=0.2789, test=0.2140.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 148: loss train 96076.324, loss test 103969.761, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=2.59e-03, LR: rep_train=2.59e-03, noise scale 0.016763.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 148: silhouette_score: train=0.2798, test=0.2143.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 149: loss train 96050.491, loss test 103964.350, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=2.50e-03, LR: rep_train=2.50e-03, noise scale 0.016196.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 149: silhouette_score: train=0.2808, test=0.2144.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 150: loss train 96029.720, loss test 103965.498, epoch total CPU time 0.033 s, epoch total wall clock time 0.034 s, LR: decoder=2.41e-03, LR: rep_train=2.41e-03, noise scale 0.015637.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 150: silhouette_score: train=0.2819, test=0.2144.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 151: loss train 96007.278, loss test 103968.364, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=2.32e-03, LR: rep_train=2.32e-03, noise scale 0.015086.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 151: silhouette_score: train=0.2828, test=0.2144.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 152: loss train 95985.990, loss test 103970.251, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=2.23e-03, LR: rep_train=2.23e-03, noise scale 0.014545.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 152: silhouette_score: train=0.2836, test=0.2144.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 153: loss train 95968.636, loss test 103967.207, epoch total CPU time 0.034 s, epoch total wall clock time 0.035 s, LR: decoder=2.15e-03, LR: rep_train=2.15e-03, noise scale 0.014012.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 153: silhouette_score: train=0.2845, test=0.2146.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 154: loss train 95948.296, loss test 103962.371, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=2.06e-03, LR: rep_train=2.06e-03, noise scale 0.013489.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 154: silhouette_score: train=0.2852, test=0.2148.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 155: loss train 95929.286, loss test 103958.744, epoch total CPU time 0.034 s, epoch total wall clock time 0.034 s, LR: decoder=1.98e-03, LR: rep_train=1.98e-03, noise scale 0.012974.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 155: silhouette_score: train=0.2858, test=0.2150.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 156: loss train 95913.142, loss test 103957.749, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=1.89e-03, LR: rep_train=1.89e-03, noise scale 0.012469.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 156: silhouette_score: train=0.2862, test=0.2154.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 157: loss train 95896.363, loss test 103957.774, epoch total CPU time 0.033 s, epoch total wall clock time 0.034 s, LR: decoder=1.81e-03, LR: rep_train=1.81e-03, noise scale 0.011974.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 157: silhouette_score: train=0.2865, test=0.2157.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 158: loss train 95881.385, loss test 103955.838, epoch total CPU time 0.034 s, epoch total wall clock time 0.035 s, LR: decoder=1.73e-03, LR: rep_train=1.73e-03, noise scale 0.011488.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 158: silhouette_score: train=0.2869, test=0.2161.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 159: loss train 95866.272, loss test 103950.948, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=1.65e-03, LR: rep_train=1.65e-03, noise scale 0.011012.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 159: silhouette_score: train=0.2874, test=0.2164.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 160: loss train 95852.207, loss test 103945.018, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=1.58e-03, LR: rep_train=1.58e-03, noise scale 0.010546.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 160: silhouette_score: train=0.2879, test=0.2166.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 161: loss train 95838.302, loss test 103940.275, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=1.50e-03, LR: rep_train=1.50e-03, noise scale 0.010089.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 161: silhouette_score: train=0.2884, test=0.2168.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 162: loss train 95824.813, loss test 103937.808, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=1.43e-03, LR: rep_train=1.43e-03, noise scale 0.009643.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 162: silhouette_score: train=0.2889, test=0.2170.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 163: loss train 95812.196, loss test 103936.235, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=1.36e-03, LR: rep_train=1.36e-03, noise scale 0.009207.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 163: silhouette_score: train=0.2892, test=0.2171.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 164: loss train 95801.749, loss test 103933.807, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=1.28e-03, LR: rep_train=1.28e-03, noise scale 0.008781.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 164: silhouette_score: train=0.2896, test=0.2173.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 165: loss train 95789.992, loss test 103932.410, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=1.22e-03, LR: rep_train=1.22e-03, noise scale 0.008366.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 165: silhouette_score: train=0.2899, test=0.2175.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 166: loss train 95779.446, loss test 103931.247, epoch total CPU time 0.033 s, epoch total wall clock time 0.034 s, LR: decoder=1.15e-03, LR: rep_train=1.15e-03, noise scale 0.007961.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 166: silhouette_score: train=0.2902, test=0.2176.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 167: loss train 95769.684, loss test 103930.213, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=1.08e-03, LR: rep_train=1.08e-03, noise scale 0.007567.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 167: silhouette_score: train=0.2905, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 168: loss train 95759.935, loss test 103929.376, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=1.02e-03, LR: rep_train=1.02e-03, noise scale 0.007183.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 168: silhouette_score: train=0.2909, test=0.2178.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 169: loss train 95751.091, loss test 103928.992, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=9.55e-04, LR: rep_train=9.55e-04, noise scale 0.006810.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 169: silhouette_score: train=0.2913, test=0.2178.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 170: loss train 95743.089, loss test 103928.365, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=8.95e-04, LR: rep_train=8.95e-04, noise scale 0.006449.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 170: silhouette_score: train=0.2917, test=0.2178.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 171: loss train 95735.330, loss test 103927.199, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=8.36e-04, LR: rep_train=8.36e-04, noise scale 0.006098.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 171: silhouette_score: train=0.2920, test=0.2178.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 172: loss train 95727.935, loss test 103926.023, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=7.79e-04, LR: rep_train=7.79e-04, noise scale 0.005758.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 172: silhouette_score: train=0.2923, test=0.2178.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 173: loss train 95721.221, loss test 103924.576, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=7.24e-04, LR: rep_train=7.24e-04, noise scale 0.005429.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 173: silhouette_score: train=0.2926, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 174: loss train 95714.967, loss test 103923.059, epoch total CPU time 0.031 s, epoch total wall clock time 0.032 s, LR: decoder=6.70e-04, LR: rep_train=6.70e-04, noise scale 0.005112.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 174: silhouette_score: train=0.2928, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 175: loss train 95709.168, loss test 103921.576, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=6.19e-04, LR: rep_train=6.19e-04, noise scale 0.004805.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 175: silhouette_score: train=0.2931, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 176: loss train 95703.742, loss test 103920.253, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=5.69e-04, LR: rep_train=5.69e-04, noise scale 0.004511.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 176: silhouette_score: train=0.2933, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 177: loss train 95698.691, loss test 103919.096, epoch total CPU time 0.033 s, epoch total wall clock time 0.034 s, LR: decoder=5.22e-04, LR: rep_train=5.22e-04, noise scale 0.004227.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 177: silhouette_score: train=0.2935, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 178: loss train 95694.006, loss test 103918.160, epoch total CPU time 0.033 s, epoch total wall clock time 0.034 s, LR: decoder=4.76e-04, LR: rep_train=4.76e-04, noise scale 0.003956.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 178: silhouette_score: train=0.2937, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 179: loss train 95689.893, loss test 103917.433, epoch total CPU time 0.033 s, epoch total wall clock time 0.034 s, LR: decoder=4.33e-04, LR: rep_train=4.33e-04, noise scale 0.003695.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 179: silhouette_score: train=0.2939, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 180: loss train 95686.112, loss test 103916.806, epoch total CPU time 0.033 s, epoch total wall clock time 0.034 s, LR: decoder=3.91e-04, LR: rep_train=3.91e-04, noise scale 0.003447.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 180: silhouette_score: train=0.2940, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 181: loss train 95682.590, loss test 103916.202, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=3.52e-04, LR: rep_train=3.52e-04, noise scale 0.003210.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 181: silhouette_score: train=0.2942, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 182: loss train 95679.472, loss test 103915.712, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=3.14e-04, LR: rep_train=3.14e-04, noise scale 0.002985.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 182: silhouette_score: train=0.2943, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 183: loss train 95676.613, loss test 103915.295, epoch total CPU time 0.033 s, epoch total wall clock time 0.033 s, LR: decoder=2.79e-04, LR: rep_train=2.79e-04, noise scale 0.002772.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 183: silhouette_score: train=0.2944, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 184: loss train 95673.969, loss test 103914.951, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=2.45e-04, LR: rep_train=2.45e-04, noise scale 0.002571.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 184: silhouette_score: train=0.2945, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 185: loss train 95671.741, loss test 103914.675, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=2.14e-04, LR: rep_train=2.14e-04, noise scale 0.002381.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 185: silhouette_score: train=0.2945, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 186: loss train 95669.867, loss test 103914.459, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=1.85e-04, LR: rep_train=1.85e-04, noise scale 0.002204.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 186: silhouette_score: train=0.2946, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 187: loss train 95668.194, loss test 103914.251, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=1.57e-04, LR: rep_train=1.57e-04, noise scale 0.002039.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 187: silhouette_score: train=0.2947, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 188: loss train 95666.648, loss test 103914.079, epoch total CPU time 0.032 s, epoch total wall clock time 0.033 s, LR: decoder=1.33e-04, LR: rep_train=1.33e-04, noise scale 0.001886.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 188: silhouette_score: train=0.2947, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 189: loss train 95665.339, loss test 103913.901, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=1.10e-04, LR: rep_train=1.10e-04, noise scale 0.001744.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 189: silhouette_score: train=0.2947, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 190: loss train 95664.306, loss test 103913.747, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=8.90e-05, LR: rep_train=8.90e-05, noise scale 0.001616.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 190: silhouette_score: train=0.2948, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 191: loss train 95663.412, loss test 103913.603, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=7.04e-05, LR: rep_train=7.04e-05, noise scale 0.001499.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 191: silhouette_score: train=0.2948, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 192: loss train 95662.711, loss test 103913.524, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=5.40e-05, LR: rep_train=5.40e-05, noise scale 0.001394.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 192: silhouette_score: train=0.2948, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 193: loss train 95662.095, loss test 103913.402, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=3.98e-05, LR: rep_train=3.98e-05, noise scale 0.001302.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 193: silhouette_score: train=0.2948, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 194: loss train 95661.688, loss test 103913.395, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=2.78e-05, LR: rep_train=2.78e-05, noise scale 0.001222.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 194: silhouette_score: train=0.2949, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 195: loss train 95661.347, loss test 103913.341, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=1.79e-05, LR: rep_train=1.79e-05, noise scale 0.001154.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 195: silhouette_score: train=0.2949, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 196: loss train 95661.169, loss test 103913.295, epoch total CPU time 0.031 s, epoch total wall clock time 0.032 s, LR: decoder=1.03e-05, LR: rep_train=1.03e-05, noise scale 0.001099.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 196: silhouette_score: train=0.2949, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 197: loss train 95660.977, loss test 103913.303, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=4.79e-06, LR: rep_train=4.79e-06, noise scale 0.001056.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 197: silhouette_score: train=0.2949, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 198: loss train 95660.884, loss test 103913.275, epoch total CPU time 0.031 s, epoch total wall clock time 0.032 s, LR: decoder=1.50e-06, LR: rep_train=1.50e-06, noise scale 0.001025.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 198: silhouette_score: train=0.2949, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 199: loss train 95660.875, loss test 103913.269, epoch total CPU time 0.033 s, epoch total wall clock time 0.034 s, LR: decoder=4.00e-07, LR: rep_train=4.00e-07, noise scale 0.001006.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 199: silhouette_score: train=0.2949, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 200: loss train 95660.923, loss test 103913.255, epoch total CPU time 0.032 s, epoch total wall clock time 0.032 s, LR: decoder=1.50e-06, LR: rep_train=1.50e-06, noise scale 0.001000.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Epoch 200: silhouette_score: train=0.2949, test=0.2177.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:Restored best model state from epoch 200.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:The trained Gaussian mixture model's parameters were successfully saved in 'gmm.pth'.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "INFO:bulkdgd.core.model:The trained decoder's parameters were successfully saved in 'dec.pth'.\n" ] } ], "source": [ "# Prepare combined samples and names for the train API.\n", "# Concatenate preprocessed train and test samples into a single\n", "# data frame.\n", "df_samples_all = pd.concat([df_train, df_test])\n", "names_train = df_train.index.tolist()\n", "names_test = df_test.index.tolist()\n", "\n", "# Train the bulkDGD model.\n", "outputs = dgd_model.train(df_samples = df_samples_all,\n", " names_train = names_train,\n", " names_test = names_test,\n", " config_train = config_train)\n", "\n", "# Unpack the outputs.\n", "((df_rep_train, df_rep_test),\n", " (df_pred_means_train, df_pred_means_test),\n", " pred_r_values,\n", " df_loss,\n", " dfs_metrics,\n", " df_time) = outputs" ] }, { "cell_type": "markdown", "id": "d9dc36a1", "metadata": {}, "source": [ "## Save the outputs\n", "\n", "Save the preprocessed samples, the representations found for the training and test samples, the decoder's predictions, the per-epoch losses and (if computed) clustering metrics, and the training time, all under an `output/` directory. The trained model's own parameters (`gmm.pth`/`dec.pth`) are saved separately by the `train()` call itself." ] }, { "cell_type": "code", "execution_count": 9, "id": "dfc69c92", "metadata": { "execution": { "iopub.execute_input": "2026-07-05T19:08:14.338640Z", "iopub.status.busy": "2026-07-05T19:08:14.338300Z", "iopub.status.idle": "2026-07-05T19:08:23.591918Z", "shell.execute_reply": "2026-07-05T19:08:23.590360Z" } }, "outputs": [], "source": [ "# Make a directory to save the outputs.\n", "if not os.path.exists(\"output\"):\n", "\n", " # Create the directory.\n", " os.mkdir(\"output\")\n", "\n", "# Save the pre-processed training samples.\n", "ioutil.save_samples(\\\n", " df = df_train,\n", " csv_file = \"output/samples_preprocessed_train.csv\",\n", " sep = \",\")\n", "\n", "# Save the pre-processed test samples.\n", "ioutil.save_samples(\\\n", " df = df_test,\n", " csv_file = \"output/samples_preprocessed_test.csv\",\n", " sep = \",\")\n", "\n", "# Save the representations for the training samples.\n", "ioutil.save_representations(\\\n", " df = df_rep_train,\n", " csv_file = \"output/representations_train.csv\",\n", " sep = \",\")\n", "\n", "# Save the representations for the test samples.\n", "ioutil.save_representations(\\\n", " df = df_rep_test,\n", " csv_file = \"output/representations_test.csv\",\n", " sep = \",\")\n", "\n", "# Save the predicted means for train and test.\n", "ioutil.save_decoder_outputs(\\\n", " df = df_pred_means_train,\n", " csv_file = \"output/pred_means_train.csv\",\n", " sep = \",\")\n", "\n", "ioutil.save_decoder_outputs(\\\n", " df = df_pred_means_test,\n", " csv_file = \"output/pred_means_test.csv\",\n", " sep = \",\")\n", "\n", "# If there are two sets of predicted r-values (train and test) \n", "if isinstance(pred_r_values, tuple) and len(pred_r_values) == 2:\n", "\n", " # Unpack them.\n", " df_pred_r_values_train, df_pred_r_values_test = pred_r_values\n", "\n", " # Save them.\n", " ioutil.save_decoder_outputs(\n", " df = df_pred_r_values_train,\n", " csv_file = \"output/pred_r_values_train.csv\",\n", " sep = \",\")\n", "\n", " ioutil.save_decoder_outputs(\n", " df = df_pred_r_values_test,\n", " csv_file = \"output/pred_r_values_test.csv\",\n", " sep = \",\")\n", "\n", "# Otherwise\n", "else:\n", "\n", " # If it is a tuple of length 1, extract the single data frame\n", " df_r = \\\n", " pred_r_values[0] if isinstance(pred_r_values, tuple) \\\n", " else pred_r_values\n", "\n", " # Save the predicted r-values.\n", " ioutil.save_decoder_outputs(df = df_r,\n", " csv_file = \"output/pred_r_values.csv\",\n", " sep = \",\")\n", "\n", "# Save the losses.\n", "df_loss.to_csv(\"output/loss.csv\",\n", " sep = \",\",\n", " index = False)\n", "\n", "# If there are metrics.\n", "if dfs_metrics is not None:\n", "\n", " # Unpack them.\n", " df_metrics_train, df_metrics_test = dfs_metrics\n", "\n", " # Save them.\n", " df_metrics_train.to_csv(\"output/metrics_train.csv\",\n", " sep = \",\",\n", " index = False)\n", " df_metrics_test.to_csv(\"output/metrics_test.csv\",\n", " sep = \",\",\n", " index = False)\n", "\n", "# Save the time data.\n", "df_time.to_csv(\"output/train_time.csv\",\n", " sep = \",\",\n", " index = False)" ] } ], "metadata": { "kernelspec": { "display_name": "bulkdgd2-env", "language": "python", "name": "bulkdgd2-env" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.14" } }, "nbformat": 4, "nbformat_minor": 5 }