{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# ๐Ÿงฌ Fine-Tuning a Pre-Trained Model on BigWig Tracks Prediction\n", "\n", "This notebook demonstrates a **simplified fine-tuning setup** that enables training of a **pre-trained Nucleotide Transformer v3 (NTv3) model** to predict BigWig signal tracks directly from DNA sequences. The streamlined approach leverages a pre-trained NTv3 backbone as a feature extractor and adds a custom prediction head that outputs single-nucleotide resolution signal values for various genomic tracks (e.g., ChIP-seq, ATAC-seq, RNA-seq).\n", "\n", "๐Ÿ“Š We provide access to the NTv3-benchmark data that we released on our Hugging Face dataset: `InstaDeepAI/NTv3_benchmark_dataset`. In this repository, you will find ready-to-use genome FASTA files, Bigwig tracks, metadata, but also the splits that were used for the benchmark.\n", "\n", "**๐Ÿ”ง Main Simplifications**: Compared to the full supervised tracks pipeline used in the paper, this notebook simplifies several aspects to enable faster experimentation with limited resources for users:\n", "- **Constant learning rate**: Uses a fixed learning rate throughout training without learning rate scheduling\n", "- **No gradient accumulation**: Implements simple step-based training without gradient accumulation, making the training loop more straightforward but changing the effective batch size compared with the full pipeline\n", "\n", "**โšก Key Advantage**: This simplified pipeline achieves close performance to more complex training approaches while enabling fast fine-tuning: on a H100 GPU and using 16 workers for data loading, it takes ~15min to reach acceptable performances for a 32kb functional tracks prediction task on **NTv3_8M_pre** model. The training speed benefits from the efficient NTv3 model architecture, but of course depends on your hardware capabilities (GPU acceleration and multi-worker data loading significantly reduce training time)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ๐Ÿ’ป A note on hardware\n", "\n", "While this pipeline is designed to run on limited resources (e.g., Google Colab with a T4 GPU and 2CPUs), the mentioned training time or displayed performances (see **Test evaluation** section) was obtained on a more powerful setup and is shown just as a reference. If you want to reach similar performance levels or the ones reported in the paper, you should be aware that you'll need **significant hardware resources** (high-end GPUs with substantial memory and multiple data loading workers). Training times will vary significantly based on your hardware configuration.\n", "\n", "๐Ÿ“ Note for Google Colab users: This notebook is compatible with Colab and designed to work with limited resources! For faster training, make sure to enable GPU: Runtime โ†’ Change runtime type โ†’ GPU (T4 or better recommended)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 0. ๐Ÿ“ฆ Imports dependencies" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Login to HuggingFace (required for gated models)\n", "from huggingface_hub import login\n", "login()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Install dependencies\n", "!pip install pyfaidx pyBigWig torchmetrics transformers" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import functools\n", "import fnmatch\n", "import os\n", "import random\n", "from pathlib import Path\n", "from typing import Callable, Dict, List\n", "\n", "from huggingface_hub import HfApi, snapshot_download\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "import pyBigWig\n", "from pyfaidx import Fasta\n", "import torch\n", "import torch.nn as nn\n", "import torch.nn.functional as F\n", "from torch.optim import AdamW\n", "from torch.utils.data import DataLoader, Dataset\n", "from torchmetrics import PearsonCorrCoef\n", "from transformers import AutoConfig, AutoModelForMaskedLM, AutoTokenizer\n", "from tqdm.auto import tqdm" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 1. โš™๏ธ Configuration\n", "\n", "โณ The parameters below are pre-configured to enable training on a T4 GPU (free on Colab). For faster training, use a more powerful GPU and increase the `batch_size`, `learning_rate`, and `num_steps_training` parameters. To speed up dataloading, consider increasing the `num_workers` value if memory and CPU resources allow.\n", " \n", "๐Ÿ•ฐ๏ธ Current configuration allow to reach decent performances and completes training in ~1h30 on a colab environment with one T4 GPU and 2CPUs. \n", "\n", "## Configuration Parameters\n", "\n", "### Model\n", "- **`model_name`**: HuggingFace model name/identifier for the pretrained backbone model\n", "\n", "### Data\n", "- **`hf_repo_id`**: HuggingFace dataset repository ID containing the benchmark data\n", "- **`species`**: Species name (e.g., \"human\") to select data from the benchmark dataset\n", "- **`data_cache_dir`**: Directory where downloaded data files (FASTA, bigWig) will be stored\n", "- **`sequence_length`**: Length of input sequences in base pairs (bp)\n", "- **`keep_target_center_fraction`**: Fraction of center sequence to keep for target prediction (crops edges to focus on center)\n", "\n", "### Training\n", "- **`batch_size`**: Number of samples per batch\n", "- **`learning_rate`**: Constant learning rate for optimizer\n", "- **`weight_decay`**: L2 regularization coefficient for optimizer\n", "- **`num_steps_training`**: Total number of training steps\n", "- **`log_every_n_steps`**: Log training metrics every N steps\n", "\n", "### Validation\n", "- **`validate_every_n_steps`**: Run validation every N steps\n", "- **`num_validation_samples`**: Number of samples to use for validation set\n", "\n", "### Test\n", "- **`num_test_samples`**: Number of samples to use for test set evaluation\n", "\n", "### General\n", "- **`seed`**: Random seed for reproducibility\n", "- **`device`**: Device to run training on (\"cuda\" or \"cpu\")\n", "- **`num_workers`**: Number of worker processes for DataLoader (0 = single-threaded)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Using device: cuda\n" ] } ], "source": [ "config = {\n", " # Model\n", " \"model_name\": \"InstaDeepAI/NTv3_8M_pre\",\n", " \n", " # Data\n", " \"hf_repo_id\": \"InstaDeepAI/NTv3_benchmark_dataset\",\n", " \"species\": \"human\",\n", " \"data_cache_dir\": \"./data\",\n", " \"sequence_length\": 32_768,\n", " \"keep_target_center_fraction\": 0.375,\n", " \"bigwig_file_ids\": None, # If None, will use all available tracks for selected species\n", " \n", " # Training\n", " \"batch_size\": 8,\n", " \"num_steps_training\": 2000, # Consider increasing for improving training performance\n", " \"log_every_n_steps\": 50,\n", " \"learning_rate\": 1e-5,\n", " \"weight_decay\": 0.01,\n", " \n", " # Validation\n", " \"validate_every_n_steps\": 100,\n", " \"num_validation_samples\": 1_000,\n", "\n", " # Test\n", " \"num_test_samples\": 10_000,\n", " \n", " # General\n", " \"seed\": 0, # for reproducibility\n", " \"device\": \"cuda\" if torch.cuda.is_available() else \"cpu\",\n", " \"num_workers\": 2, # If resources allows it, consider increasing for faster data loading\n", "}\n", "\n", "# Set random seed\n", "torch.manual_seed(config[\"seed\"])\n", "np.random.seed(config[\"seed\"])\n", "\n", "# Set device\n", "device = torch.device(config[\"device\"])\n", "print(f\"Using device: {device}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 2. ๐Ÿ“ฅ Genome & Tracks Data Download\n", "\n", "Download all needed data for fine-tuning from our Hugging Face NTv3 benchmark dataset for the selected species.\n", "\n", "These files contain:\n", "- genomic sequences \n", "- experimental signal data (e.g., ChIP-seq, ATAC-seq)\n", "- ready-to-use splits (as bed files)\n", "- metadata for data normalization\n", "\n", "If you want to fine-tune a model a species that is not available on our Hugging Face dataset or on other bigwig tracks, you should consider downloading the genome FASTA file and/or the BigWig files from URLs, using `wget`." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def prepare_genomics_inputs(\n", " species: str,\n", " data_cache_dir: str | Path = \"data\",\n", " hf_repo_id: str = \"InstaDeepAI/NTv3_benchmark_dataset\",\n", " bigwig_file_ids: list[str] | None = None,\n", ") -> tuple[str, list[str], list[str], pd.DataFrame, pd.DataFrame]:\n", " \"\"\"\n", " Downloads:\n", " 1) FASTA from HF dataset under: /genome.fasta\n", " 2) BigWigs from HF dataset under: /functional_tracks/**\n", " (filtered by bigwig_file_ids if provided)\n", " 3) Splits from HF dataset under: /splits.bed\n", " 4) Metadata from HF dataset under: benchmark_metadata.tsv\n", " \n", " Args:\n", " species: Species name (e.g., \"human\", \"arabidopsis\")\n", " data_cache_dir: Directory where downloaded data files will be stored\n", " hf_repo_id: HuggingFace dataset repository ID\n", " bigwig_file_ids: Optional list of BigWig file IDs to download. If None,\n", " downloads all available BigWig files for the species.\n", " \n", " Returns:\n", " (fasta_path, bigwig_path_list, bigwig_file_ids)\n", " \"\"\"\n", " cache = Path(data_cache_dir).expanduser().resolve()\n", " cache.mkdir(parents=True, exist_ok=True)\n", " \n", " # --- Download metadata + files (FASTA, BigWigs, Splits) ---\n", " metadata_file = \"benchmark_metadata.tsv\"\n", " download_patterns = [metadata_file, f\"{species}/genome.fasta\", f\"{species}/splits.bed\"]\n", " \n", " if bigwig_file_ids is not None:\n", " # List files to validate requested BigWig files exist\n", " api = HfApi()\n", " files = api.list_repo_files(repo_id=hf_repo_id, repo_type=\"dataset\")\n", " species_pattern = f\"{species}/**\"\n", " species_files = [p for p in files if fnmatch.fnmatch(p, species_pattern)]\n", " \n", " # Get all available BigWig file IDs and their paths\n", " available_bigwig_files = {\n", " Path(p).stem: p for p in species_files \n", " if Path(p).suffix == \".bigwig\"\n", " }\n", " \n", " # Check that all requested files exist\n", " missing_files = set(bigwig_file_ids) - set(available_bigwig_files.keys())\n", " if missing_files:\n", " raise ValueError(\n", " f\"Requested BigWig files not found: {missing_files}. \"\n", " f\"Available files: {list(available_bigwig_files.keys())}\"\n", " )\n", " \n", " # Add specific patterns for requested BigWig files only\n", " for file_id in bigwig_file_ids:\n", " download_patterns.append(available_bigwig_files[file_id])\n", " else:\n", " # Download all BigWig files\n", " download_patterns.append(f\"{species}/functional_tracks/*.bigwig\")\n", " local_dir = Path(\n", " snapshot_download(\n", " repo_id=hf_repo_id,\n", " repo_type=\"dataset\",\n", " allow_patterns=download_patterns,\n", " local_dir=str(cache),\n", " )\n", " )\n", " \n", " # --- Organize outputs ---\n", " # FASTA file\n", " fasta_path_repo = f\"{species}/genome.fasta\"\n", " fasta_path = str(local_dir / fasta_path_repo)\n", " \n", " # BigWig files - use downloaded files directly\n", " bigwig_dir = local_dir / species / \"functional_tracks\"\n", " \n", " if bigwig_file_ids is not None:\n", " bigwig_paths = [str(bigwig_dir / f\"{file_id}.bigwig\") for file_id in bigwig_file_ids]\n", " bigwig_ids = bigwig_file_ids\n", " else:\n", " # Find all downloaded BigWig files\n", " bigwig_paths = [str(bigwig_file) for bigwig_file in bigwig_dir.glob(\"*.bigwig\")]\n", " bigwig_ids = [bigwig_file.stem for bigwig_file in bigwig_dir.glob(\"*.bigwig\")] \n", " \n", " # Splits file\n", " splits_path_repo = f\"{species}/splits.bed\"\n", " splits_path = local_dir / splits_path_repo\n", "\n", " splits_df = pd.read_csv(\n", " splits_path, \n", " sep=\"\\t\", \n", " header=None, \n", " names=[\"chr_name\", \"start\", \"end\", \"split\"],\n", " dtype={\"chr_name\": str, \"start\": int, \"end\": int, \"split\": str},\n", " )\n", " \n", " # Metadata file\n", " metadata_path = local_dir / metadata_file\n", " metadata_df = pd.read_csv(metadata_path, sep=\"\\t\")\n", "\n", " # Filter metadata according to species\n", " metadata_df = metadata_df[metadata_df[\"species_common_name\"] == species].reset_index(drop=True)\n", "\n", " # Order metadata according to bigwig file ids\n", " metadata_df = (\n", " metadata_df.set_index(\"file_id\")\n", " .loc[bigwig_ids]\n", " .reset_index()\n", " )\n", "\n", " return fasta_path, bigwig_paths, bigwig_ids, splits_df, metadata_df" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "a428c235721b4637a92dfb0b1a6648d1", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Fetching 37 files: 0%| | 0/37 [00:00 np.ndarray:\n", " \"\"\"Crop the central sequence-length fraction for arrays of size (..., seq_len, num_tracks)\"\"\"\n", " seq_len = x.shape[-2]\n", " target_offset = int(seq_len * (1 - keep_target_center_fraction) // 2)\n", " target_length = seq_len - 2 * target_offset\n", " return x[..., target_offset:target_offset + target_length, :]\n", "\n", "class LinearHead(nn.Module):\n", " \"\"\"A linear head that predicts one scalar value per track.\"\"\"\n", " def __init__(self, embed_dim: int, num_labels: int):\n", " super().__init__()\n", " self.layer_norm = nn.LayerNorm(embed_dim)\n", " self.head = nn.Linear(embed_dim, num_labels)\n", " \n", " def forward(self, x: torch.Tensor) -> torch.Tensor:\n", " x = self.layer_norm(x)\n", " x = self.head(x)\n", " x = F.softplus(x) # Ensure positive values\n", " return x\n", "\n", "\n", "class HFModelWithHead(nn.Module):\n", " \"\"\"Simple model wrapper: HF backbone + bigwig head.\"\"\"\n", " \n", " def __init__(\n", " self,\n", " model_name: str,\n", " bigwig_track_names: List[str],\n", " keep_target_center_fraction: float = 0.375,\n", " ):\n", " super().__init__()\n", " \n", " # Load config and model\n", " self.config = AutoConfig.from_pretrained(model_name, trust_remote_code=True)\n", " backbone = AutoModelForMaskedLM.from_pretrained(\n", " model_name, \n", " trust_remote_code=True,\n", " config=self.config,\n", " )\n", " self.backbone = torch.compile(backbone)\n", " \n", " self.keep_target_center_fraction = keep_target_center_fraction\n", " embed_dim = self.config.embed_dim\n", " \n", " # Bigwig head (NTv3 outputs at single-nucleotide resolution)\n", " self.bigwig_head = LinearHead(embed_dim, len(bigwig_track_names))\n", " self.model_name = model_name\n", " \n", " def forward(self, tokens: torch.Tensor, **kwargs) -> Dict[str, torch.Tensor]:\n", " # Forward through backbone\n", " outputs = self.backbone(input_ids=tokens, output_hidden_states=True)\n", " embedding = outputs.hidden_states[-1] # Last hidden state\n", " \n", " # Crop to center fraction\n", " if self.keep_target_center_fraction < 1.0:\n", " embedding = crop_center(embedding, self.keep_target_center_fraction)\n", " \n", " # Predict bigwig tracks\n", " bigwig_logits = self.bigwig_head(embedding)\n", " \n", " return {\"bigwig_tracks_logits\": bigwig_logits}" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Model loaded: InstaDeepAI/NTv3_8M_pre\n", "Number of bigwig tracks: 34\n", "Model parameters: 7,701,725\n" ] } ], "source": [ "# Load tokenizer\n", "tokenizer = AutoTokenizer.from_pretrained(config[\"model_name\"], trust_remote_code=True)\n", "\n", "# Create model\n", "model = HFModelWithHead(\n", " model_name=config[\"model_name\"],\n", " bigwig_track_names=bigwig_ids,\n", " keep_target_center_fraction=config[\"keep_target_center_fraction\"],\n", ")\n", "model = model.to(device)\n", "\n", "print(f\"Model loaded: {config['model_name']}\")\n", "print(f\"Number of bigwig tracks: {len(bigwig_ids)}\")\n", "print(f\"Model parameters: {sum(p.numel() for p in model.parameters()):,}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 4. ๐Ÿ”„ Data loading\n", "\n", "Create PyTorch datasets and data loaders that efficiently sample random genomic windows from the reference genome and extract corresponding BigWig signal values. The dataset handles sequence tokenization, target scaling, and chromosome-based train/val/test splits." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Dataset Setup" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Process-local cache for file handles (one per worker process)\n", "# This allows safe multi-worker DataLoader usage\n", "_fasta_cache = {} # Maps (process_id, file_path) -> Fasta handle\n", "_bigwig_cache = {} # Maps (process_id, file_path) -> pyBigWig handle\n", "\n", "\n", "def _get_fasta_handle(fasta_path: str) -> Fasta:\n", " \"\"\"Get or create a FASTA file handle for the current process.\"\"\"\n", " process_id = os.getpid()\n", " abs_path = str(Path(fasta_path).resolve())\n", " cache_key = (process_id, abs_path)\n", " \n", " if cache_key not in _fasta_cache:\n", " _fasta_cache[cache_key] = Fasta(abs_path, as_raw=True, sequence_always_upper=True)\n", " \n", " return _fasta_cache[cache_key]\n", "\n", "\n", "def _get_bigwig_handle(bigwig_path: str) -> pyBigWig.pyBigWig:\n", " \"\"\"Get or create a BigWig file handle for the current process.\"\"\"\n", " process_id = os.getpid()\n", " abs_path = str(Path(bigwig_path).resolve())\n", " cache_key = (process_id, abs_path)\n", " \n", " if cache_key not in _bigwig_cache:\n", " # Check if file exists before trying to open\n", " if not Path(abs_path).exists():\n", " raise FileNotFoundError(\n", " f\"BigWig file not found: {abs_path}\\n\"\n", " f\"Original path: {bigwig_path}\\n\"\n", " f\"Current working directory: {os.getcwd()}\"\n", " )\n", " \n", " try:\n", " _bigwig_cache[cache_key] = pyBigWig.open(abs_path)\n", " except Exception as e:\n", " raise RuntimeError(\n", " f\"Failed to open BigWig file: {abs_path} with error: {str(e)}\\n\"\n", " f\"File exists: {Path(abs_path).exists()}\\n\"\n", " f\"File size: {Path(abs_path).stat().st_size if Path(abs_path).exists() else 'N/A'} bytes\"\n", " ) from e\n", " \n", " return _bigwig_cache[cache_key]\n", "\n", "\n", "class GenomeBigWigDataset(Dataset):\n", " \"\"\"\n", " A PyTorch dataset to access a reference genome and bigwig tracks. The dataset is \n", " compatible with multi-worker DataLoaders (using process-local file handles and lazy \n", " loading). For each sample, a random genomic region is picked from the specified split,\n", " and a random window of length `sequence_length` within that region is returned.\n", " \"\"\"\n", "\n", " def __init__(\n", " self,\n", " fasta_path: str,\n", " bigwig_path_list: list[str],\n", " chrom_regions: pd.DataFrame,\n", " split: str,\n", " sequence_length: int,\n", " num_samples: int,\n", " tokenizer: AutoTokenizer,\n", " transform_fn: Callable[[torch.Tensor], torch.Tensor],\n", " keep_target_center_fraction: float = 1.0,\n", " ):\n", " super().__init__()\n", "\n", " # Store paths instead of opening files immediately (for multi-worker compatibility)\n", " self.fasta_path = fasta_path\n", " self.bigwig_path_list = bigwig_path_list\n", " self.sequence_length = sequence_length\n", " self.num_samples = num_samples\n", " self.tokenizer = tokenizer\n", " self.transform_fn = transform_fn\n", " self.keep_target_center_fraction = keep_target_center_fraction\n", " self.chrom_regions = chrom_regions\n", "\n", " # Filter regions by split\n", " split_regions = self.chrom_regions[self.chrom_regions[\"split\"] == split].copy()\n", "\n", " # Filter valid regions (must be large enough for sequence_length)\n", " self.valid_regions = []\n", " for _, row in split_regions.iterrows():\n", "\n", " region_length = row.end - row.start\n", " if region_length < self.sequence_length:\n", " continue\n", " \n", " # Store valid region\n", " self.valid_regions.append((row.chr_name, row.start, row.end))\n", "\n", " def __len__(self):\n", " return self.num_samples\n", "\n", " def __getitem__(self, idx):\n", " # Sample a random region from the valid regions\n", " chrom, region_start, region_end = random.choice(self.valid_regions)\n", " \n", " # Sample a random window within this region\n", " max_start = region_end - self.sequence_length\n", " start = random.randint(region_start, max_start)\n", " end = start + self.sequence_length\n", "\n", " # Sequence - get FASTA handle lazily (cached per worker process)\n", " fasta = _get_fasta_handle(self.fasta_path)\n", " seq = fasta[chrom][start:end] # string slice\n", " # Tokenize with padding and truncation to ensure consistent lengths for batching\n", " tokenized = self.tokenizer(\n", " seq,\n", " padding=\"max_length\",\n", " truncation=True,\n", " max_length=self.sequence_length,\n", " return_tensors=\"pt\",\n", " )\n", " tokens = tokenized[\"input_ids\"][0] # Shape: (max_length,)\n", "\n", " # Signal from bigWig tracks (numpy array) -> torch tensor\n", " # Get BigWig handles lazily (cached per worker process)\n", " bigwig_targets = np.array([\n", " _get_bigwig_handle(bw_path).values(chrom, start, end, numpy=True)\n", " for bw_path in self.bigwig_path_list\n", " ]) # shape (num_tracks, seq_len)\n", " # Transpose to (seq_len, num_tracks)\n", " bigwig_targets = bigwig_targets.T\n", " # pyBigWig returns NaN where no data; turn NaN into 0\n", " bigwig_targets = torch.tensor(bigwig_targets, dtype=torch.float32)\n", " bigwig_targets = torch.nan_to_num(bigwig_targets, nan=0.0)\n", " \n", " # Crop targets to center fraction\n", " if self.keep_target_center_fraction < 1.0:\n", " bigwig_targets = crop_center(bigwig_targets, self.keep_target_center_fraction)\n", "\n", " # Apply scaling to targets\n", " bigwig_targets = self.transform_fn(bigwig_targets)\n", "\n", " sample = {\n", " \"tokens\": tokens,\n", " \"bigwig_targets\": bigwig_targets,\n", " \"chrom\": chrom,\n", " \"start\": start,\n", " \"end\": end,\n", " }\n", " return sample" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Scaling function Setup" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def create_targets_scaling_fn(\n", " metadata_df: pd.DataFrame\n", ") -> Callable[[torch.Tensor], torch.Tensor]:\n", " \"\"\"\n", " Build a scaling function that uses the track means to normalise and softclip the targets.\n", " \"\"\"\n", " # Open bigwig files and compute track statistics\n", " track_means = metadata_df[\"mean\"].to_numpy()\n", " print(f\"Track means: {track_means}\")\n", " print(f\"Number of tracks: {track_means.shape}\")\n", "\n", " # Create tensor from computed means\n", " track_means_tensor = torch.tensor(track_means, dtype=torch.float32)\n", "\n", " def transform_fn(x: torch.Tensor) -> torch.Tensor:\n", " # Move constants to correct device then normalize\n", " means = track_means_tensor.to(x.device)\n", " scaled = x / means\n", "\n", " # Smooth clipping: if > 10, apply formula\n", " clipped = torch.where(\n", " scaled > 10.0,\n", " 2.0 * torch.sqrt(scaled * 10.0) - 10.0,\n", " scaled,\n", " )\n", " return clipped\n", "\n", " return transform_fn" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Instantiate datasets and dataloaders" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Track means: [0.72501702 0.0034627 0.00400846 0.00877379 0.01080696 0.00211876\n", " 0.66685837 0.00370035 0.44757743 0.00627039 0.01177604 0.00530738\n", " 0.64354244 0.63734638 0.65863696 0.74402866 0.00494403 0.01612531\n", " 0.00498001 0.0057952 0.01549048 0.00335876 0.48636405 0.00820212\n", " 0.72625355 0.00574464 0.00343102 0.00219467 0.00622468 0.00376132\n", " 0.00128605 0.0463601 0.00548278 0.00227474]\n", "Number of tracks: (34,)\n", "\n", "Train samples: 96000\n", "Val samples: 1000\n", "Test samples: 10000\n" ] } ], "source": [ "# Create datasets & dataloaders\n", "create_dataset_fn = functools.partial(\n", " GenomeBigWigDataset,\n", " fasta_path=fasta_path,\n", " bigwig_path_list=bigwig_paths,\n", " chrom_regions=species_splits_df,\n", " sequence_length=config[\"sequence_length\"],\n", " tokenizer=tokenizer,\n", " transform_fn=create_targets_scaling_fn(metadata_df),\n", " keep_target_center_fraction=config[\"keep_target_center_fraction\"],\n", ")\n", "\n", "train_dataset = create_dataset_fn(\n", " split=\"train\",\n", " num_samples=config[\"num_steps_training\"] * config[\"batch_size\"],\n", ")\n", "\n", "val_dataset = create_dataset_fn(\n", " split=\"val\",\n", " num_samples=config[\"num_validation_samples\"],\n", ")\n", "\n", "test_dataset = create_dataset_fn(\n", " split=\"test\",\n", " num_samples=config[\"num_test_samples\"],\n", ")\n", "\n", "# Create dataloaders\n", "train_loader = DataLoader(\n", " train_dataset,\n", " batch_size=config[\"batch_size\"],\n", " shuffle=True,\n", " num_workers=config[\"num_workers\"],\n", ")\n", "\n", "val_loader = DataLoader(\n", " val_dataset,\n", " batch_size=config[\"batch_size\"],\n", " shuffle=False,\n", " num_workers=config[\"num_workers\"],\n", ")\n", "\n", "test_loader = DataLoader(\n", " test_dataset,\n", " batch_size=config[\"batch_size\"],\n", " shuffle=False,\n", " num_workers=config[\"num_workers\"],\n", ")\n", "\n", "print(f\"\\nTrain samples: {len(train_dataset)}\")\n", "print(f\"Val samples: {len(val_dataset)}\")\n", "print(f\"Test samples: {len(test_dataset)}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 5. โš™๏ธ Optimizer setup\n", "\n", "Configure the AdamW optimizer with learning rate and weight decay hyperparameters. This optimizer will update the model parameters during training to minimize the loss function.\n", "\n" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Training configuration:\n", " Batch size: 32\n", " Total training steps: 3000\n", " Log metrics every: 50 steps\n", " Validate every: 100 steps\n", "\n", "Optimizer setup:\n", " Learning rate: 5e-05\n" ] } ], "source": [ "# Training setup\n", "print(f\"Training configuration:\")\n", "print(f\" Batch size: {config['batch_size']}\")\n", "print(f\" Total training steps: {config['num_steps_training']}\")\n", "print(f\" Log metrics every: {config['log_every_n_steps']} steps\")\n", "print(f\" Validate every: {config['validate_every_n_steps']} steps\")\n", "\n", "# Setup optimizer\n", "optimizer = AdamW(\n", " model.parameters(),\n", " lr=config[\"learning_rate\"],\n", " weight_decay=config[\"weight_decay\"],\n", ")\n", "\n", "print(f\"\\nOptimizer setup:\")\n", "print(f\" Learning rate: {config['learning_rate']}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 6. ๐Ÿ“Š Metrics setup\n", "\n", "Set up evaluation metrics to track model performance during training and validation. We use Pearson correlation coefficients to measure how well the predicted BigWig signals match the ground truth signals." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "class TracksMetrics:\n", " \"\"\"Metrics to handle multi-track pearson correlations and losses\"\"\"\n", " \n", " def __init__(self, track_names: List[str], split: str):\n", " self.track_names = track_names\n", " self.num_tracks = len(track_names)\n", " self.split = split\n", "\n", " # Initialise metrics \n", " self.pearson = PearsonCorrCoef(num_outputs=self.num_tracks).to(device)\n", " self.pearson.set_dtype(torch.float64) # Use float64 for improved numerical stability\n", " self.losses = []\n", "\n", " # Record mean metrics per logging interval\n", " self.step_idxs = []\n", " self.mean_pearsons = []\n", " self.mean_losses = []\n", " \n", " def reset(self):\n", " self.pearson.reset()\n", " self.losses = []\n", " \n", " def update(\n", " self, \n", " predictions: torch.Tensor, \n", " targets: torch.Tensor,\n", " loss: float\n", " ):\n", " \"\"\"\n", " Update the metrics with predictions and targets of shape (..., num_tracks) and a scalar loss.\n", " \"\"\"\n", " # Flatten batch and sequence dimensions\n", " pred_flat = predictions.detach().reshape(-1, self.num_tracks).to(torch.float64) # (N, num_tracks)\n", " target_flat = targets.detach().reshape(-1, self.num_tracks).to(torch.float64) # (N, num_tracks)\n", " \n", " # Update metrics\n", " self.pearson.update(pred_flat, target_flat)\n", " self.losses.append(loss)\n", " \n", " def compute(self) -> Dict[str, float]:\n", " \"\"\"Compute the pearson correlations and loss and return a dictionary of metrics.\"\"\"\n", " # Per-track Pearson correlations\n", " correlations = self.pearson.compute().cpu().numpy()\n", " metrics_dict = {\n", " f\"{track_name}/pearson\": correlations[i] for i, track_name in enumerate(self.track_names)\n", " }\n", " metrics_dict[\"mean/pearson\"] = correlations.mean()\n", " \n", " # Mean loss\n", " metrics_dict[\"loss\"] = np.mean(self.losses)\n", " \n", " return metrics_dict\n", "\n", " def update_mean_metrics(self, step_idx: int):\n", " \"\"\"Update the mean metrics over the logging interval and save to a csv file.\"\"\"\n", " # Update mean metrics with the mean pearson & average loss\n", " metrics_dict = self.compute()\n", " self.step_idxs.append(step_idx)\n", " self.mean_pearsons.append(metrics_dict[\"mean/pearson\"])\n", " self.mean_losses.append(metrics_dict[\"loss\"])\n", "\n", " # Save metrics to a csv for plotting\n", " data = {\n", " \"step\": self.step_idxs,\n", " \"mean_loss\": self.mean_losses,\n", " \"mean_pearson\": self.mean_pearsons,\n", " }\n", " df = pd.DataFrame(data)\n", " df.to_csv(f\"metrics_{self.split}.csv\", index=False)\n", " \n", " def print_metrics(self, print_per_track: bool = False):\n", " \"\"\"Print a summary of the metrics.\"\"\"\n", " print(\n", " f\"Step {self.step_idxs[-1]}/{config['num_steps_training']} | \"\n", " f\"Loss: {self.mean_losses[-1]:.4f} | \"\n", " f\"Mean Pearson: {self.mean_pearsons[-1]:.4f}\"\n", " )\n", " metrics_dict = self.compute()\n", " if print_per_track:\n", " for metric_key, metric_value in metrics_dict.items():\n", " print(f\" {metric_key}: {metric_value:.4f}\")\n", " " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "train_metrics = TracksMetrics(bigwig_ids, \"train\")\n", "val_metrics = TracksMetrics(bigwig_ids, \"val\")\n", "test_metrics = TracksMetrics(bigwig_ids, \"test\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 7. ๐Ÿ“‰ Loss functions\n", "\n", "Define the Poisson-Multinomial loss function that captures both the scale (total signal) and shape (distribution) of BigWig tracks. This loss is specifically designed for count-based genomic signal data." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def poisson_loss(ytrue: torch.Tensor, ypred: torch.Tensor, epsilon: float = 1e-7) -> torch.Tensor:\n", " \"\"\"Poisson loss per element: ypred - ytrue * log(ypred).\"\"\"\n", " return ypred - ytrue * torch.log(ypred + epsilon)\n", "\n", "\n", "def safe_for_grad_log_torch(x: torch.Tensor) -> torch.Tensor:\n", " \"\"\"Guarantees that the log is defined for all x > 0 in a differentiable way.\"\"\"\n", " return torch.log(torch.where(x > 0.0, x, torch.ones_like(x)))\n", "\n", "\n", "def poisson_multinomial_loss(\n", " logits: torch.Tensor,\n", " targets: torch.Tensor,\n", " shape_loss_coefficient: float = 5.0,\n", " epsilon: float = 1e-7,\n", ") -> tuple[torch.Tensor, torch.Tensor, torch.Tensor]:\n", " \"\"\"\n", " Regression loss for bigwig tracks (Poisson-Multinomial). The logits and targets are\n", " expected to be of shape (batch, seq_length, num_tracks).\n", " \"\"\"\n", " batch_size, seq_length, num_tracks = logits.shape\n", " \n", " # Scale loss: Poisson loss on total counts per sequence per track\n", " # Sum over sequence dimension (axis=1)\n", " sum_pred = logits.sum(dim=1) # (batch, num_tracks)\n", " sum_true = targets.sum(dim=1) # (batch, num_tracks)\n", " \n", " # Compute poisson loss per (batch, track)\n", " scale_loss = poisson_loss(sum_true, sum_pred, epsilon=epsilon) # (batch, num_tracks)\n", " \n", " # Normalize by sequence length\n", " scale_loss = scale_loss / (seq_length + epsilon)\n", " \n", " # Average over batch and tracks\n", " scale_loss = scale_loss.mean()\n", " \n", " # Shape loss: Multinomial loss\n", " # Add epsilon to all positions\n", " predicted_counts = logits + epsilon\n", " targets_with_epsilon = targets + epsilon\n", " \n", " # Normalize predictions to get probabilities\n", " denom = predicted_counts.sum(dim=1, keepdim=True) + epsilon # (batch, 1, num_tracks)\n", " p_pred = predicted_counts / denom\n", " \n", " # Compute shape loss: -sum(targets * log(p_pred))\n", " pl_pred = safe_for_grad_log_torch(p_pred)\n", " shape_loss = -(targets_with_epsilon * pl_pred)\n", " \n", " # Sum over all dimensions and normalize by total number of positions\n", " shape_denom = batch_size * seq_length * num_tracks + epsilon\n", " shape_loss = shape_loss.sum() / shape_denom\n", " \n", " # Combine losses\n", " loss = shape_loss + scale_loss / shape_loss_coefficient\n", "\n", " return loss\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 8. ๐Ÿƒ Training loop\n", "\n", "Run the main training loop that iterates through batches, computes gradients, and updates model parameters. The loop includes periodic validation checks and real-time metric visualization to monitor training progress." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def train_step(\n", " model: nn.Module,\n", " optimizer: torch.optim.Optimizer,\n", " batch: Dict[str, torch.Tensor],\n", " train_metrics: TracksMetrics,\n", ") -> None:\n", " \"\"\"Single training step.\"\"\"\n", " tokens = batch[\"tokens\"].to(device)\n", " bigwig_targets = batch[\"bigwig_targets\"].to(device)\n", " \n", " # Forward pass\n", " outputs = model(tokens=tokens)\n", " bigwig_logits = outputs[\"bigwig_tracks_logits\"]\n", " \n", " # Compute loss\n", " loss = poisson_multinomial_loss(\n", " logits=bigwig_logits,\n", " targets=bigwig_targets,\n", " )\n", "\n", " # Backward pass\n", " optimizer.zero_grad()\n", " loss.backward()\n", " optimizer.step()\n", "\n", " # Update metrics\n", " train_metrics.update(\n", " predictions=bigwig_logits,\n", " targets=bigwig_targets,\n", " loss=loss.item()\n", " )\n", " \n", "\n", "\n", "def validation_step(\n", " model: nn.Module,\n", " batch: Dict[str, torch.Tensor],\n", " metrics: TracksMetrics,\n", ") -> None:\n", " \"\"\"Single validation step.\"\"\"\n", " tokens = batch[\"tokens\"].to(device)\n", " bigwig_targets = batch[\"bigwig_targets\"].to(device)\n", " \n", " with torch.no_grad():\n", " # Forward pass\n", " outputs = model(tokens=tokens)\n", " bigwig_logits = outputs[\"bigwig_tracks_logits\"]\n", " \n", " # Compute loss\n", " loss = poisson_multinomial_loss(\n", " logits=bigwig_logits,\n", " targets=bigwig_targets,\n", " )\n", " \n", " # Update metrics\n", " metrics.update(\n", " predictions=bigwig_logits,\n", " targets=bigwig_targets,\n", " loss=loss.item()\n", " )" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Starting training...\n", "Training for 3000 steps\n", "\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Step 50/3000 | Loss: 5.4579 | Mean Pearson: 0.0345\n", "Step 100/3000 | Loss: 5.2827 | Mean Pearson: 0.1119\n", "\n", "Running validation at step 100...\n", " Validation Loss: 4.9935\n", " Validation Mean Pearson: 0.1632\n", " ENCSR814RGG/pearson: 0.1841\n", " ENCSR100LIJ_P/pearson: 0.1089\n", " ENCSR799DGV_P/pearson: 0.0874\n", " ENCSR321PWZ_P/pearson: 0.2703\n", " ENCSR527JGN_P/pearson: 0.2286\n", " ENCSR046BCI_M/pearson: 0.0703\n", " ENCSR682BFG/pearson: 0.1031\n", " ENCSR935RNW_M/pearson: 0.0553\n", " ENCSR410DWV/pearson: 0.2122\n", " ENCSR862QCH_P/pearson: 0.1924\n", " ENCSR527JGN_M/pearson: 0.2869\n", " ENCSR862QCH_M/pearson: 0.1811\n", " ENCSR628PLS/pearson: 0.1249\n", " ENCSR754DRC/pearson: 0.1888\n", " ENCSR487QSB/pearson: 0.2242\n", " ENCSR863PSM/pearson: 0.2172\n", " ENCSR484LTQ_M/pearson: 0.1509\n", " ENCSR619DQO_P/pearson: 0.2889\n", " ENCSR154HRN_M/pearson: 0.0734\n", " ENCSR154HRN_P/pearson: 0.1512\n", " ENCSR619DQO_M/pearson: 0.2217\n", " ENCSR799DGV_M/pearson: 0.1142\n", " ENCSR962OTG/pearson: 0.4211\n", " ENCSR321PWZ_M/pearson: 0.3083\n", " ENCSR325NFE/pearson: 0.2607\n", " ENCSR249ROI_M/pearson: 0.0831\n", " ENCSR100LIJ_M/pearson: 0.0664\n", " ENCSR114HGS_M/pearson: 0.0194\n", " ENCSR249ROI_P/pearson: 0.0546\n", " ENCSR935RNW_P/pearson: 0.0886\n", " ENCSR046BCI_P/pearson: 0.0755\n", " ENCSR701YIC/pearson: 0.2228\n", " ENCSR484LTQ_P/pearson: 0.1835\n", " ENCSR114HGS_P/pearson: 0.0277\n", "Step 150/3000 | Loss: 5.2669 | Mean Pearson: 0.1928\n", "Step 200/3000 | Loss: 5.2252 | Mean Pearson: 0.2117\n", "\n", "Running validation at step 200...\n", " Validation Loss: 5.1871\n", " Validation Mean Pearson: 0.2403\n", " ENCSR814RGG/pearson: 0.3490\n", " ENCSR100LIJ_P/pearson: 0.1569\n", " ENCSR799DGV_P/pearson: 0.1569\n", " ENCSR321PWZ_P/pearson: 0.3858\n", " ENCSR527JGN_P/pearson: 0.2412\n", " ENCSR046BCI_M/pearson: 0.1466\n", " ENCSR682BFG/pearson: 0.2002\n", " ENCSR935RNW_M/pearson: 0.1449\n", " ENCSR410DWV/pearson: 0.3158\n", " ENCSR862QCH_P/pearson: 0.2113\n", " ENCSR527JGN_M/pearson: 0.3746\n", " ENCSR862QCH_M/pearson: 0.2433\n", " ENCSR628PLS/pearson: 0.2084\n", " ENCSR754DRC/pearson: 0.2437\n", " ENCSR487QSB/pearson: 0.3171\n", " ENCSR863PSM/pearson: 0.3297\n", " ENCSR484LTQ_M/pearson: 0.2132\n", " ENCSR619DQO_P/pearson: 0.3159\n", " ENCSR154HRN_M/pearson: 0.1790\n", " ENCSR154HRN_P/pearson: 0.1831\n", " ENCSR619DQO_M/pearson: 0.3595\n", " ENCSR799DGV_M/pearson: 0.1567\n", " ENCSR962OTG/pearson: 0.6734\n", " ENCSR321PWZ_M/pearson: 0.4317\n", " ENCSR325NFE/pearson: 0.3855\n", " ENCSR249ROI_M/pearson: 0.1093\n", " ENCSR100LIJ_M/pearson: 0.1192\n", " ENCSR114HGS_M/pearson: 0.0536\n", " ENCSR249ROI_P/pearson: 0.1736\n", " ENCSR935RNW_P/pearson: 0.1588\n", " ENCSR046BCI_P/pearson: 0.1184\n", " ENCSR701YIC/pearson: 0.2618\n", " ENCSR484LTQ_P/pearson: 0.1978\n", " ENCSR114HGS_P/pearson: 0.0554\n", "Step 250/3000 | Loss: 5.0991 | Mean Pearson: 0.2540\n", "Step 300/3000 | Loss: 5.2270 | Mean Pearson: 0.2746\n", "\n", "Running validation at step 300...\n", " Validation Loss: 5.0627\n", " Validation Mean Pearson: 0.2679\n", " ENCSR814RGG/pearson: 0.4336\n", " ENCSR100LIJ_P/pearson: 0.1640\n", " ENCSR799DGV_P/pearson: 0.1700\n", " ENCSR321PWZ_P/pearson: 0.3561\n", " ENCSR527JGN_P/pearson: 0.3312\n", " ENCSR046BCI_M/pearson: 0.1468\n", " ENCSR682BFG/pearson: 0.2642\n", " ENCSR935RNW_M/pearson: 0.1433\n", " ENCSR410DWV/pearson: 0.3190\n", " ENCSR862QCH_P/pearson: 0.1991\n", " ENCSR527JGN_M/pearson: 0.3538\n", " ENCSR862QCH_M/pearson: 0.2577\n", " ENCSR628PLS/pearson: 0.2398\n", " ENCSR754DRC/pearson: 0.2643\n", " ENCSR487QSB/pearson: 0.3379\n", " ENCSR863PSM/pearson: 0.3502\n", " ENCSR484LTQ_M/pearson: 0.2366\n", " ENCSR619DQO_P/pearson: 0.3902\n", " ENCSR154HRN_M/pearson: 0.2307\n", " ENCSR154HRN_P/pearson: 0.1900\n", " ENCSR619DQO_M/pearson: 0.4243\n", " ENCSR799DGV_M/pearson: 0.1611\n", " ENCSR962OTG/pearson: 0.6064\n", " ENCSR321PWZ_M/pearson: 0.3950\n", " ENCSR325NFE/pearson: 0.4887\n", " ENCSR249ROI_M/pearson: 0.2851\n", " ENCSR100LIJ_M/pearson: 0.1426\n", " ENCSR114HGS_M/pearson: 0.0964\n", " ENCSR249ROI_P/pearson: 0.2401\n", " ENCSR935RNW_P/pearson: 0.1633\n", " ENCSR046BCI_P/pearson: 0.1293\n", " ENCSR701YIC/pearson: 0.3095\n", " ENCSR484LTQ_P/pearson: 0.1897\n", " ENCSR114HGS_P/pearson: 0.0969\n", "Step 350/3000 | Loss: 4.8956 | Mean Pearson: 0.2781\n", "Step 400/3000 | Loss: 4.9273 | Mean Pearson: 0.3007\n", "\n", "Running validation at step 400...\n", " Validation Loss: 4.9449\n", " Validation Mean Pearson: 0.3085\n", " ENCSR814RGG/pearson: 0.4888\n", " ENCSR100LIJ_P/pearson: 0.1823\n", " ENCSR799DGV_P/pearson: 0.1770\n", " ENCSR321PWZ_P/pearson: 0.4216\n", " ENCSR527JGN_P/pearson: 0.3755\n", " ENCSR046BCI_M/pearson: 0.1633\n", " ENCSR682BFG/pearson: 0.2939\n", " ENCSR935RNW_M/pearson: 0.1678\n", " ENCSR410DWV/pearson: 0.3483\n", " ENCSR862QCH_P/pearson: 0.2942\n", " ENCSR527JGN_M/pearson: 0.3521\n", " ENCSR862QCH_M/pearson: 0.2662\n", " ENCSR628PLS/pearson: 0.2922\n", " ENCSR754DRC/pearson: 0.2986\n", " ENCSR487QSB/pearson: 0.3900\n", " ENCSR863PSM/pearson: 0.3671\n", " ENCSR484LTQ_M/pearson: 0.2633\n", " ENCSR619DQO_P/pearson: 0.4426\n", " ENCSR154HRN_M/pearson: 0.2818\n", " ENCSR154HRN_P/pearson: 0.3016\n", " ENCSR619DQO_M/pearson: 0.4141\n", " ENCSR799DGV_M/pearson: 0.1824\n", " ENCSR962OTG/pearson: 0.6537\n", " ENCSR321PWZ_M/pearson: 0.4246\n", " ENCSR325NFE/pearson: 0.5265\n", " ENCSR249ROI_M/pearson: 0.3617\n", " ENCSR100LIJ_M/pearson: 0.1810\n", " ENCSR114HGS_M/pearson: 0.1180\n", " ENCSR249ROI_P/pearson: 0.3649\n", " ENCSR935RNW_P/pearson: 0.1745\n", " ENCSR046BCI_P/pearson: 0.1484\n", " ENCSR701YIC/pearson: 0.3673\n", " ENCSR484LTQ_P/pearson: 0.2717\n", " ENCSR114HGS_P/pearson: 0.1324\n", "Step 450/3000 | Loss: 4.5656 | Mean Pearson: 0.2881\n", "Step 500/3000 | Loss: 4.8109 | Mean Pearson: 0.3128\n", "\n", "Running validation at step 500...\n", " Validation Loss: 5.0518\n", " Validation Mean Pearson: 0.3103\n", " ENCSR814RGG/pearson: 0.4914\n", " ENCSR100LIJ_P/pearson: 0.1742\n", " ENCSR799DGV_P/pearson: 0.1652\n", " ENCSR321PWZ_P/pearson: 0.4554\n", " ENCSR527JGN_P/pearson: 0.4375\n", " ENCSR046BCI_M/pearson: 0.1584\n", " ENCSR682BFG/pearson: 0.3252\n", " ENCSR935RNW_M/pearson: 0.1656\n", " ENCSR410DWV/pearson: 0.3492\n", " ENCSR862QCH_P/pearson: 0.2787\n", " ENCSR527JGN_M/pearson: 0.3363\n", " ENCSR862QCH_M/pearson: 0.3065\n", " ENCSR628PLS/pearson: 0.2941\n", " ENCSR754DRC/pearson: 0.3186\n", " ENCSR487QSB/pearson: 0.3895\n", " ENCSR863PSM/pearson: 0.4287\n", " ENCSR484LTQ_M/pearson: 0.2645\n", " ENCSR619DQO_P/pearson: 0.4908\n", " ENCSR154HRN_M/pearson: 0.2527\n", " ENCSR154HRN_P/pearson: 0.2648\n", " ENCSR619DQO_M/pearson: 0.4101\n", " ENCSR799DGV_M/pearson: 0.1669\n", " ENCSR962OTG/pearson: 0.6147\n", " ENCSR321PWZ_M/pearson: 0.4153\n", " ENCSR325NFE/pearson: 0.5271\n", " ENCSR249ROI_M/pearson: 0.3293\n", " ENCSR100LIJ_M/pearson: 0.1660\n", " ENCSR114HGS_M/pearson: 0.1302\n", " ENCSR249ROI_P/pearson: 0.3687\n", " ENCSR935RNW_P/pearson: 0.1691\n", " ENCSR046BCI_P/pearson: 0.1371\n", " ENCSR701YIC/pearson: 0.3771\n", " ENCSR484LTQ_P/pearson: 0.2408\n", " ENCSR114HGS_P/pearson: 0.1495\n", "Step 550/3000 | Loss: 4.8442 | Mean Pearson: 0.3207\n", "Step 600/3000 | Loss: 4.9397 | Mean Pearson: 0.3156\n", "\n", "Running validation at step 600...\n", " Validation Loss: 4.8239\n", " Validation Mean Pearson: 0.3258\n", " ENCSR814RGG/pearson: 0.5047\n", " ENCSR100LIJ_P/pearson: 0.2015\n", " ENCSR799DGV_P/pearson: 0.2046\n", " ENCSR321PWZ_P/pearson: 0.3534\n", " ENCSR527JGN_P/pearson: 0.3296\n", " ENCSR046BCI_M/pearson: 0.1912\n", " ENCSR682BFG/pearson: 0.3254\n", " ENCSR935RNW_M/pearson: 0.1978\n", " ENCSR410DWV/pearson: 0.3563\n", " ENCSR862QCH_P/pearson: 0.2452\n", " ENCSR527JGN_M/pearson: 0.5567\n", " ENCSR862QCH_M/pearson: 0.3472\n", " ENCSR628PLS/pearson: 0.2995\n", " ENCSR754DRC/pearson: 0.3165\n", " ENCSR487QSB/pearson: 0.4037\n", " ENCSR863PSM/pearson: 0.4041\n", " ENCSR484LTQ_M/pearson: 0.3220\n", " ENCSR619DQO_P/pearson: 0.4216\n", " ENCSR154HRN_M/pearson: 0.3073\n", " ENCSR154HRN_P/pearson: 0.2644\n", " ENCSR619DQO_M/pearson: 0.4893\n", " ENCSR799DGV_M/pearson: 0.2028\n", " ENCSR962OTG/pearson: 0.6609\n", " ENCSR321PWZ_M/pearson: 0.5121\n", " ENCSR325NFE/pearson: 0.5424\n", " ENCSR249ROI_M/pearson: 0.3795\n", " ENCSR100LIJ_M/pearson: 0.1960\n", " ENCSR114HGS_M/pearson: 0.1423\n", " ENCSR249ROI_P/pearson: 0.3187\n", " ENCSR935RNW_P/pearson: 0.1967\n", " ENCSR046BCI_P/pearson: 0.1699\n", " ENCSR701YIC/pearson: 0.3613\n", " ENCSR484LTQ_P/pearson: 0.2171\n", " ENCSR114HGS_P/pearson: 0.1357\n", "Step 650/3000 | Loss: 5.2026 | Mean Pearson: 0.3085\n", "Step 700/3000 | Loss: 4.8286 | Mean Pearson: 0.3264\n", "\n", "Running validation at step 700...\n", " Validation Loss: 4.8666\n", " Validation Mean Pearson: 0.3045\n", " ENCSR814RGG/pearson: 0.4944\n", " ENCSR100LIJ_P/pearson: 0.1701\n", " ENCSR799DGV_P/pearson: 0.1736\n", " ENCSR321PWZ_P/pearson: 0.3934\n", " ENCSR527JGN_P/pearson: 0.3711\n", " ENCSR046BCI_M/pearson: 0.1217\n", " ENCSR682BFG/pearson: 0.3268\n", " ENCSR935RNW_M/pearson: 0.1467\n", " ENCSR410DWV/pearson: 0.3474\n", " ENCSR862QCH_P/pearson: 0.3090\n", " ENCSR527JGN_M/pearson: 0.3533\n", " ENCSR862QCH_M/pearson: 0.2789\n", " ENCSR628PLS/pearson: 0.2941\n", " ENCSR754DRC/pearson: 0.2961\n", " ENCSR487QSB/pearson: 0.3901\n", " ENCSR863PSM/pearson: 0.4206\n", " ENCSR484LTQ_M/pearson: 0.2459\n", " ENCSR619DQO_P/pearson: 0.4421\n", " ENCSR154HRN_M/pearson: 0.2531\n", " ENCSR154HRN_P/pearson: 0.3203\n", " ENCSR619DQO_M/pearson: 0.4065\n", " ENCSR799DGV_M/pearson: 0.1491\n", " ENCSR962OTG/pearson: 0.5902\n", " ENCSR321PWZ_M/pearson: 0.4021\n", " ENCSR325NFE/pearson: 0.5342\n", " ENCSR249ROI_M/pearson: 0.3218\n", " ENCSR100LIJ_M/pearson: 0.1496\n", " ENCSR114HGS_M/pearson: 0.1392\n", " ENCSR249ROI_P/pearson: 0.3938\n", " ENCSR935RNW_P/pearson: 0.1625\n", " ENCSR046BCI_P/pearson: 0.1457\n", " ENCSR701YIC/pearson: 0.3655\n", " ENCSR484LTQ_P/pearson: 0.2697\n", " ENCSR114HGS_P/pearson: 0.1727\n", "Step 750/3000 | Loss: 4.4566 | Mean Pearson: 0.3130\n", "Step 800/3000 | Loss: 4.6126 | Mean Pearson: 0.3425\n", "\n", "Running validation at step 800...\n", " Validation Loss: 4.6879\n", " Validation Mean Pearson: 0.3363\n", " ENCSR814RGG/pearson: 0.5151\n", " ENCSR100LIJ_P/pearson: 0.1958\n", " ENCSR799DGV_P/pearson: 0.2008\n", " ENCSR321PWZ_P/pearson: 0.5055\n", " ENCSR527JGN_P/pearson: 0.4461\n", " ENCSR046BCI_M/pearson: 0.1843\n", " ENCSR682BFG/pearson: 0.3274\n", " ENCSR935RNW_M/pearson: 0.1946\n", " ENCSR410DWV/pearson: 0.3747\n", " ENCSR862QCH_P/pearson: 0.3360\n", " ENCSR527JGN_M/pearson: 0.3713\n", " ENCSR862QCH_M/pearson: 0.2820\n", " ENCSR628PLS/pearson: 0.3330\n", " ENCSR754DRC/pearson: 0.3094\n", " ENCSR487QSB/pearson: 0.4163\n", " ENCSR863PSM/pearson: 0.4015\n", " ENCSR484LTQ_M/pearson: 0.2595\n", " ENCSR619DQO_P/pearson: 0.5073\n", " ENCSR154HRN_M/pearson: 0.2733\n", " ENCSR154HRN_P/pearson: 0.3405\n", " ENCSR619DQO_M/pearson: 0.3812\n", " ENCSR799DGV_M/pearson: 0.2041\n", " ENCSR962OTG/pearson: 0.6363\n", " ENCSR321PWZ_M/pearson: 0.4085\n", " ENCSR325NFE/pearson: 0.5538\n", " ENCSR249ROI_M/pearson: 0.3667\n", " ENCSR100LIJ_M/pearson: 0.1893\n", " ENCSR114HGS_M/pearson: 0.1571\n", " ENCSR249ROI_P/pearson: 0.4478\n", " ENCSR935RNW_P/pearson: 0.2022\n", " ENCSR046BCI_P/pearson: 0.1716\n", " ENCSR701YIC/pearson: 0.4553\n", " ENCSR484LTQ_P/pearson: 0.3087\n", " ENCSR114HGS_P/pearson: 0.1770\n", "Step 850/3000 | Loss: 4.9122 | Mean Pearson: 0.3390\n", "Step 900/3000 | Loss: 5.0760 | Mean Pearson: 0.3387\n", "\n", "Running validation at step 900...\n", " Validation Loss: 4.9108\n", " Validation Mean Pearson: 0.3579\n", " ENCSR814RGG/pearson: 0.5317\n", " ENCSR100LIJ_P/pearson: 0.2422\n", " ENCSR799DGV_P/pearson: 0.2326\n", " ENCSR321PWZ_P/pearson: 0.4273\n", " ENCSR527JGN_P/pearson: 0.4682\n", " ENCSR046BCI_M/pearson: 0.2227\n", " ENCSR682BFG/pearson: 0.3352\n", " ENCSR935RNW_M/pearson: 0.2212\n", " ENCSR410DWV/pearson: 0.4005\n", " ENCSR862QCH_P/pearson: 0.2793\n", " ENCSR527JGN_M/pearson: 0.4911\n", " ENCSR862QCH_M/pearson: 0.3676\n", " ENCSR628PLS/pearson: 0.3418\n", " ENCSR754DRC/pearson: 0.2971\n", " ENCSR487QSB/pearson: 0.4329\n", " ENCSR863PSM/pearson: 0.4293\n", " ENCSR484LTQ_M/pearson: 0.3159\n", " ENCSR619DQO_P/pearson: 0.4930\n", " ENCSR154HRN_M/pearson: 0.3356\n", " ENCSR154HRN_P/pearson: 0.2925\n", " ENCSR619DQO_M/pearson: 0.4872\n", " ENCSR799DGV_M/pearson: 0.2122\n", " ENCSR962OTG/pearson: 0.6776\n", " ENCSR321PWZ_M/pearson: 0.5122\n", " ENCSR325NFE/pearson: 0.5802\n", " ENCSR249ROI_M/pearson: 0.4127\n", " ENCSR100LIJ_M/pearson: 0.2288\n", " ENCSR114HGS_M/pearson: 0.1899\n", " ENCSR249ROI_P/pearson: 0.3847\n", " ENCSR935RNW_P/pearson: 0.2285\n", " ENCSR046BCI_P/pearson: 0.2115\n", " ENCSR701YIC/pearson: 0.4670\n", " ENCSR484LTQ_P/pearson: 0.2510\n", " ENCSR114HGS_P/pearson: 0.1660\n", "Step 950/3000 | Loss: 5.0368 | Mean Pearson: 0.3445\n", "Step 1000/3000 | Loss: 4.8493 | Mean Pearson: 0.3623\n", "\n", "Running validation at step 1000...\n", " Validation Loss: 4.7640\n", " Validation Mean Pearson: 0.3489\n", " ENCSR814RGG/pearson: 0.5441\n", " ENCSR100LIJ_P/pearson: 0.2150\n", " ENCSR799DGV_P/pearson: 0.2192\n", " ENCSR321PWZ_P/pearson: 0.4647\n", " ENCSR527JGN_P/pearson: 0.4205\n", " ENCSR046BCI_M/pearson: 0.2016\n", " ENCSR682BFG/pearson: 0.3813\n", " ENCSR935RNW_M/pearson: 0.2212\n", " ENCSR410DWV/pearson: 0.3848\n", " ENCSR862QCH_P/pearson: 0.3096\n", " ENCSR527JGN_M/pearson: 0.3937\n", " ENCSR862QCH_M/pearson: 0.2935\n", " ENCSR628PLS/pearson: 0.3452\n", " ENCSR754DRC/pearson: 0.3671\n", " ENCSR487QSB/pearson: 0.4323\n", " ENCSR863PSM/pearson: 0.4269\n", " ENCSR484LTQ_M/pearson: 0.2777\n", " ENCSR619DQO_P/pearson: 0.4822\n", " ENCSR154HRN_M/pearson: 0.2846\n", " ENCSR154HRN_P/pearson: 0.3602\n", " ENCSR619DQO_M/pearson: 0.4362\n", " ENCSR799DGV_M/pearson: 0.2216\n", " ENCSR962OTG/pearson: 0.6538\n", " ENCSR321PWZ_M/pearson: 0.4570\n", " ENCSR325NFE/pearson: 0.5721\n", " ENCSR249ROI_M/pearson: 0.3716\n", " ENCSR100LIJ_M/pearson: 0.2195\n", " ENCSR114HGS_M/pearson: 0.1831\n", " ENCSR249ROI_P/pearson: 0.4312\n", " ENCSR935RNW_P/pearson: 0.2176\n", " ENCSR046BCI_P/pearson: 0.1838\n", " ENCSR701YIC/pearson: 0.4185\n", " ENCSR484LTQ_P/pearson: 0.2792\n", " ENCSR114HGS_P/pearson: 0.1928\n", "Step 1050/3000 | Loss: 4.8513 | Mean Pearson: 0.3557\n", "Step 1100/3000 | Loss: 5.0524 | Mean Pearson: 0.3741\n", "\n", "Running validation at step 1100...\n", " Validation Loss: 4.8799\n", " Validation Mean Pearson: 0.3655\n", " ENCSR814RGG/pearson: 0.5307\n", " ENCSR100LIJ_P/pearson: 0.2228\n", " ENCSR799DGV_P/pearson: 0.2164\n", " ENCSR321PWZ_P/pearson: 0.4822\n", " ENCSR527JGN_P/pearson: 0.3665\n", " ENCSR046BCI_M/pearson: 0.2146\n", " ENCSR682BFG/pearson: 0.4154\n", " ENCSR935RNW_M/pearson: 0.2263\n", " ENCSR410DWV/pearson: 0.3965\n", " ENCSR862QCH_P/pearson: 0.3071\n", " ENCSR527JGN_M/pearson: 0.4424\n", " ENCSR862QCH_M/pearson: 0.3867\n", " ENCSR628PLS/pearson: 0.3570\n", " ENCSR754DRC/pearson: 0.3497\n", " ENCSR487QSB/pearson: 0.4462\n", " ENCSR863PSM/pearson: 0.4687\n", " ENCSR484LTQ_M/pearson: 0.3639\n", " ENCSR619DQO_P/pearson: 0.4834\n", " ENCSR154HRN_M/pearson: 0.3371\n", " ENCSR154HRN_P/pearson: 0.3027\n", " ENCSR619DQO_M/pearson: 0.4960\n", " ENCSR799DGV_M/pearson: 0.2308\n", " ENCSR962OTG/pearson: 0.7364\n", " ENCSR321PWZ_M/pearson: 0.5431\n", " ENCSR325NFE/pearson: 0.5680\n", " ENCSR249ROI_M/pearson: 0.4228\n", " ENCSR100LIJ_M/pearson: 0.2353\n", " ENCSR114HGS_M/pearson: 0.1922\n", " ENCSR249ROI_P/pearson: 0.3893\n", " ENCSR935RNW_P/pearson: 0.2235\n", " ENCSR046BCI_P/pearson: 0.1905\n", " ENCSR701YIC/pearson: 0.4200\n", " ENCSR484LTQ_P/pearson: 0.2918\n", " ENCSR114HGS_P/pearson: 0.1725\n", "Step 1150/3000 | Loss: 5.0831 | Mean Pearson: 0.3596\n", "Step 1200/3000 | Loss: 4.8911 | Mean Pearson: 0.3662\n", "\n", "Running validation at step 1200...\n", " Validation Loss: 4.8787\n", " Validation Mean Pearson: 0.3351\n", " ENCSR814RGG/pearson: 0.5268\n", " ENCSR100LIJ_P/pearson: 0.2205\n", " ENCSR799DGV_P/pearson: 0.2173\n", " ENCSR321PWZ_P/pearson: 0.4148\n", " ENCSR527JGN_P/pearson: 0.4463\n", " ENCSR046BCI_M/pearson: 0.1960\n", " ENCSR682BFG/pearson: 0.3924\n", " ENCSR935RNW_M/pearson: 0.2319\n", " ENCSR410DWV/pearson: 0.3779\n", " ENCSR862QCH_P/pearson: 0.2878\n", " ENCSR527JGN_M/pearson: 0.2865\n", " ENCSR862QCH_M/pearson: 0.3022\n", " ENCSR628PLS/pearson: 0.3338\n", " ENCSR754DRC/pearson: 0.3238\n", " ENCSR487QSB/pearson: 0.4275\n", " ENCSR863PSM/pearson: 0.4703\n", " ENCSR484LTQ_M/pearson: 0.2685\n", " ENCSR619DQO_P/pearson: 0.4848\n", " ENCSR154HRN_M/pearson: 0.2718\n", " ENCSR154HRN_P/pearson: 0.3049\n", " ENCSR619DQO_M/pearson: 0.4059\n", " ENCSR799DGV_M/pearson: 0.2370\n", " ENCSR962OTG/pearson: 0.6867\n", " ENCSR321PWZ_M/pearson: 0.3809\n", " ENCSR325NFE/pearson: 0.5761\n", " ENCSR249ROI_M/pearson: 0.3638\n", " ENCSR100LIJ_M/pearson: 0.2120\n", " ENCSR114HGS_M/pearson: 0.1855\n", " ENCSR249ROI_P/pearson: 0.3759\n", " ENCSR935RNW_P/pearson: 0.2096\n", " ENCSR046BCI_P/pearson: 0.1759\n", " ENCSR701YIC/pearson: 0.3668\n", " ENCSR484LTQ_P/pearson: 0.2570\n", " ENCSR114HGS_P/pearson: 0.1746\n", "Step 1250/3000 | Loss: 4.8003 | Mean Pearson: 0.3634\n", "Step 1300/3000 | Loss: 4.9094 | Mean Pearson: 0.3657\n", "\n", "Running validation at step 1300...\n", " Validation Loss: 4.8345\n", " Validation Mean Pearson: 0.3586\n", " ENCSR814RGG/pearson: 0.5343\n", " ENCSR100LIJ_P/pearson: 0.2194\n", " ENCSR799DGV_P/pearson: 0.2077\n", " ENCSR321PWZ_P/pearson: 0.4371\n", " ENCSR527JGN_P/pearson: 0.4665\n", " ENCSR046BCI_M/pearson: 0.2135\n", " ENCSR682BFG/pearson: 0.4055\n", " ENCSR935RNW_M/pearson: 0.2284\n", " ENCSR410DWV/pearson: 0.3987\n", " ENCSR862QCH_P/pearson: 0.2750\n", " ENCSR527JGN_M/pearson: 0.4898\n", " ENCSR862QCH_M/pearson: 0.3474\n", " ENCSR628PLS/pearson: 0.3424\n", " ENCSR754DRC/pearson: 0.3349\n", " ENCSR487QSB/pearson: 0.4341\n", " ENCSR863PSM/pearson: 0.4722\n", " ENCSR484LTQ_M/pearson: 0.3100\n", " ENCSR619DQO_P/pearson: 0.4601\n", " ENCSR154HRN_M/pearson: 0.3453\n", " ENCSR154HRN_P/pearson: 0.3166\n", " ENCSR619DQO_M/pearson: 0.4823\n", " ENCSR799DGV_M/pearson: 0.2475\n", " ENCSR962OTG/pearson: 0.6866\n", " ENCSR321PWZ_M/pearson: 0.4657\n", " ENCSR325NFE/pearson: 0.5648\n", " ENCSR249ROI_M/pearson: 0.4080\n", " ENCSR100LIJ_M/pearson: 0.2270\n", " ENCSR114HGS_M/pearson: 0.1914\n", " ENCSR249ROI_P/pearson: 0.4106\n", " ENCSR935RNW_P/pearson: 0.1947\n", " ENCSR046BCI_P/pearson: 0.1845\n", " ENCSR701YIC/pearson: 0.4472\n", " ENCSR484LTQ_P/pearson: 0.2675\n", " ENCSR114HGS_P/pearson: 0.1765\n", "Step 1350/3000 | Loss: 5.0808 | Mean Pearson: 0.3679\n", "Step 1400/3000 | Loss: 4.5056 | Mean Pearson: 0.3716\n", "\n", "Running validation at step 1400...\n", " Validation Loss: 4.9810\n", " Validation Mean Pearson: 0.3698\n", " ENCSR814RGG/pearson: 0.5375\n", " ENCSR100LIJ_P/pearson: 0.2446\n", " ENCSR799DGV_P/pearson: 0.2509\n", " ENCSR321PWZ_P/pearson: 0.4214\n", " ENCSR527JGN_P/pearson: 0.4559\n", " ENCSR046BCI_M/pearson: 0.2011\n", " ENCSR682BFG/pearson: 0.4101\n", " ENCSR935RNW_M/pearson: 0.2362\n", " ENCSR410DWV/pearson: 0.4000\n", " ENCSR862QCH_P/pearson: 0.3900\n", " ENCSR527JGN_M/pearson: 0.5061\n", " ENCSR862QCH_M/pearson: 0.3202\n", " ENCSR628PLS/pearson: 0.3644\n", " ENCSR754DRC/pearson: 0.3739\n", " ENCSR487QSB/pearson: 0.4459\n", " ENCSR863PSM/pearson: 0.4560\n", " ENCSR484LTQ_M/pearson: 0.2746\n", " ENCSR619DQO_P/pearson: 0.4794\n", " ENCSR154HRN_M/pearson: 0.3217\n", " ENCSR154HRN_P/pearson: 0.3658\n", " ENCSR619DQO_M/pearson: 0.4693\n", " ENCSR799DGV_M/pearson: 0.2327\n", " ENCSR962OTG/pearson: 0.7243\n", " ENCSR321PWZ_M/pearson: 0.4420\n", " ENCSR325NFE/pearson: 0.5669\n", " ENCSR249ROI_M/pearson: 0.3676\n", " ENCSR100LIJ_M/pearson: 0.2241\n", " ENCSR114HGS_M/pearson: 0.1913\n", " ENCSR249ROI_P/pearson: 0.4345\n", " ENCSR935RNW_P/pearson: 0.2385\n", " ENCSR046BCI_P/pearson: 0.1907\n", " ENCSR701YIC/pearson: 0.4705\n", " ENCSR484LTQ_P/pearson: 0.3555\n", " ENCSR114HGS_P/pearson: 0.2109\n", "Step 1450/3000 | Loss: 4.5895 | Mean Pearson: 0.3741\n", "Step 1500/3000 | Loss: 4.5111 | Mean Pearson: 0.3602\n", "\n", "Running validation at step 1500...\n", " Validation Loss: 4.8934\n", " Validation Mean Pearson: 0.3427\n", " ENCSR814RGG/pearson: 0.5482\n", " ENCSR100LIJ_P/pearson: 0.2641\n", " ENCSR799DGV_P/pearson: 0.2592\n", " ENCSR321PWZ_P/pearson: 0.3875\n", " ENCSR527JGN_P/pearson: 0.3668\n", " ENCSR046BCI_M/pearson: 0.2063\n", " ENCSR682BFG/pearson: 0.4142\n", " ENCSR935RNW_M/pearson: 0.2165\n", " ENCSR410DWV/pearson: 0.3905\n", " ENCSR862QCH_P/pearson: 0.2671\n", " ENCSR527JGN_M/pearson: 0.3843\n", " ENCSR862QCH_M/pearson: 0.2990\n", " ENCSR628PLS/pearson: 0.3526\n", " ENCSR754DRC/pearson: 0.3698\n", " ENCSR487QSB/pearson: 0.4374\n", " ENCSR863PSM/pearson: 0.4682\n", " ENCSR484LTQ_M/pearson: 0.2567\n", " ENCSR619DQO_P/pearson: 0.4683\n", " ENCSR154HRN_M/pearson: 0.3190\n", " ENCSR154HRN_P/pearson: 0.2988\n", " ENCSR619DQO_M/pearson: 0.4260\n", " ENCSR799DGV_M/pearson: 0.2201\n", " ENCSR962OTG/pearson: 0.7092\n", " ENCSR321PWZ_M/pearson: 0.3950\n", " ENCSR325NFE/pearson: 0.5735\n", " ENCSR249ROI_M/pearson: 0.3509\n", " ENCSR100LIJ_M/pearson: 0.2141\n", " ENCSR114HGS_M/pearson: 0.1755\n", " ENCSR249ROI_P/pearson: 0.3818\n", " ENCSR935RNW_P/pearson: 0.2400\n", " ENCSR046BCI_P/pearson: 0.2225\n", " ENCSR701YIC/pearson: 0.3753\n", " ENCSR484LTQ_P/pearson: 0.2293\n", " ENCSR114HGS_P/pearson: 0.1650\n", "Step 1550/3000 | Loss: 5.0046 | Mean Pearson: 0.3701\n", "Step 1600/3000 | Loss: 5.0759 | Mean Pearson: 0.3775\n", "\n", "Running validation at step 1600...\n", " Validation Loss: 5.1288\n", " Validation Mean Pearson: 0.3473\n", " ENCSR814RGG/pearson: 0.5355\n", " ENCSR100LIJ_P/pearson: 0.2199\n", " ENCSR799DGV_P/pearson: 0.2224\n", " ENCSR321PWZ_P/pearson: 0.4073\n", " ENCSR527JGN_P/pearson: 0.4354\n", " ENCSR046BCI_M/pearson: 0.1859\n", " ENCSR682BFG/pearson: 0.4082\n", " ENCSR935RNW_M/pearson: 0.2047\n", " ENCSR410DWV/pearson: 0.4011\n", " ENCSR862QCH_P/pearson: 0.2737\n", " ENCSR527JGN_M/pearson: 0.3564\n", " ENCSR862QCH_M/pearson: 0.3370\n", " ENCSR628PLS/pearson: 0.3557\n", " ENCSR754DRC/pearson: 0.3715\n", " ENCSR487QSB/pearson: 0.4428\n", " ENCSR863PSM/pearson: 0.4684\n", " ENCSR484LTQ_M/pearson: 0.2976\n", " ENCSR619DQO_P/pearson: 0.4506\n", " ENCSR154HRN_M/pearson: 0.3197\n", " ENCSR154HRN_P/pearson: 0.3139\n", " ENCSR619DQO_M/pearson: 0.4448\n", " ENCSR799DGV_M/pearson: 0.2020\n", " ENCSR962OTG/pearson: 0.6735\n", " ENCSR321PWZ_M/pearson: 0.4318\n", " ENCSR325NFE/pearson: 0.5712\n", " ENCSR249ROI_M/pearson: 0.3869\n", " ENCSR100LIJ_M/pearson: 0.2221\n", " ENCSR114HGS_M/pearson: 0.1752\n", " ENCSR249ROI_P/pearson: 0.4234\n", " ENCSR935RNW_P/pearson: 0.1976\n", " ENCSR046BCI_P/pearson: 0.1864\n", " ENCSR701YIC/pearson: 0.4296\n", " ENCSR484LTQ_P/pearson: 0.2590\n", " ENCSR114HGS_P/pearson: 0.1975\n", "Step 1650/3000 | Loss: 4.6462 | Mean Pearson: 0.3810\n", "Step 1700/3000 | Loss: 4.9084 | Mean Pearson: 0.3833\n", "\n", "Running validation at step 1700...\n", " Validation Loss: 5.1583\n", " Validation Mean Pearson: 0.3866\n", " ENCSR814RGG/pearson: 0.5611\n", " ENCSR100LIJ_P/pearson: 0.2388\n", " ENCSR799DGV_P/pearson: 0.2401\n", " ENCSR321PWZ_P/pearson: 0.4737\n", " ENCSR527JGN_P/pearson: 0.3827\n", " ENCSR046BCI_M/pearson: 0.2290\n", " ENCSR682BFG/pearson: 0.3943\n", " ENCSR935RNW_M/pearson: 0.2486\n", " ENCSR410DWV/pearson: 0.4068\n", " ENCSR862QCH_P/pearson: 0.3449\n", " ENCSR527JGN_M/pearson: 0.5334\n", " ENCSR862QCH_M/pearson: 0.4178\n", " ENCSR628PLS/pearson: 0.3534\n", " ENCSR754DRC/pearson: 0.3546\n", " ENCSR487QSB/pearson: 0.4470\n", " ENCSR863PSM/pearson: 0.4610\n", " ENCSR484LTQ_M/pearson: 0.3680\n", " ENCSR619DQO_P/pearson: 0.4883\n", " ENCSR154HRN_M/pearson: 0.3941\n", " ENCSR154HRN_P/pearson: 0.3622\n", " ENCSR619DQO_M/pearson: 0.5315\n", " ENCSR799DGV_M/pearson: 0.2528\n", " ENCSR962OTG/pearson: 0.6996\n", " ENCSR321PWZ_M/pearson: 0.5728\n", " ENCSR325NFE/pearson: 0.5888\n", " ENCSR249ROI_M/pearson: 0.4806\n", " ENCSR100LIJ_M/pearson: 0.2393\n", " ENCSR114HGS_M/pearson: 0.2292\n", " ENCSR249ROI_P/pearson: 0.4459\n", " ENCSR935RNW_P/pearson: 0.2281\n", " ENCSR046BCI_P/pearson: 0.1967\n", " ENCSR701YIC/pearson: 0.4728\n", " ENCSR484LTQ_P/pearson: 0.3126\n", " ENCSR114HGS_P/pearson: 0.1930\n", "Step 1750/3000 | Loss: 4.9105 | Mean Pearson: 0.3842\n", "Step 1800/3000 | Loss: 5.0300 | Mean Pearson: 0.3833\n", "\n", "Running validation at step 1800...\n", " Validation Loss: 5.0044\n", " Validation Mean Pearson: 0.3631\n", " ENCSR814RGG/pearson: 0.5392\n", " ENCSR100LIJ_P/pearson: 0.2311\n", " ENCSR799DGV_P/pearson: 0.2205\n", " ENCSR321PWZ_P/pearson: 0.4309\n", " ENCSR527JGN_P/pearson: 0.3853\n", " ENCSR046BCI_M/pearson: 0.2018\n", " ENCSR682BFG/pearson: 0.4372\n", " ENCSR935RNW_M/pearson: 0.2172\n", " ENCSR410DWV/pearson: 0.3759\n", " ENCSR862QCH_P/pearson: 0.3128\n", " ENCSR527JGN_M/pearson: 0.4553\n", " ENCSR862QCH_M/pearson: 0.3703\n", " ENCSR628PLS/pearson: 0.3491\n", " ENCSR754DRC/pearson: 0.3947\n", " ENCSR487QSB/pearson: 0.4499\n", " ENCSR863PSM/pearson: 0.4762\n", " ENCSR484LTQ_M/pearson: 0.3493\n", " ENCSR619DQO_P/pearson: 0.4961\n", " ENCSR154HRN_M/pearson: 0.3762\n", " ENCSR154HRN_P/pearson: 0.2959\n", " ENCSR619DQO_M/pearson: 0.4967\n", " ENCSR799DGV_M/pearson: 0.2133\n", " ENCSR962OTG/pearson: 0.7180\n", " ENCSR321PWZ_M/pearson: 0.4900\n", " ENCSR325NFE/pearson: 0.5697\n", " ENCSR249ROI_M/pearson: 0.4312\n", " ENCSR100LIJ_M/pearson: 0.2201\n", " ENCSR114HGS_M/pearson: 0.1816\n", " ENCSR249ROI_P/pearson: 0.3949\n", " ENCSR935RNW_P/pearson: 0.2188\n", " ENCSR046BCI_P/pearson: 0.1977\n", " ENCSR701YIC/pearson: 0.4080\n", " ENCSR484LTQ_P/pearson: 0.2646\n", " ENCSR114HGS_P/pearson: 0.1775\n", "Step 1850/3000 | Loss: 4.6549 | Mean Pearson: 0.3803\n", "Step 1900/3000 | Loss: 4.6859 | Mean Pearson: 0.4057\n", "\n", "Running validation at step 1900...\n", " Validation Loss: 5.2865\n", " Validation Mean Pearson: 0.3978\n", " ENCSR814RGG/pearson: 0.5550\n", " ENCSR100LIJ_P/pearson: 0.2499\n", " ENCSR799DGV_P/pearson: 0.2496\n", " ENCSR321PWZ_P/pearson: 0.5227\n", " ENCSR527JGN_P/pearson: 0.4797\n", " ENCSR046BCI_M/pearson: 0.2453\n", " ENCSR682BFG/pearson: 0.3980\n", " ENCSR935RNW_M/pearson: 0.2762\n", " ENCSR410DWV/pearson: 0.4043\n", " ENCSR862QCH_P/pearson: 0.3698\n", " ENCSR527JGN_M/pearson: 0.4878\n", " ENCSR862QCH_M/pearson: 0.3983\n", " ENCSR628PLS/pearson: 0.3680\n", " ENCSR754DRC/pearson: 0.4043\n", " ENCSR487QSB/pearson: 0.4587\n", " ENCSR863PSM/pearson: 0.4659\n", " ENCSR484LTQ_M/pearson: 0.3651\n", " ENCSR619DQO_P/pearson: 0.4974\n", " ENCSR154HRN_M/pearson: 0.3977\n", " ENCSR154HRN_P/pearson: 0.3910\n", " ENCSR619DQO_M/pearson: 0.5147\n", " ENCSR799DGV_M/pearson: 0.2799\n", " ENCSR962OTG/pearson: 0.7004\n", " ENCSR321PWZ_M/pearson: 0.5407\n", " ENCSR325NFE/pearson: 0.5880\n", " ENCSR249ROI_M/pearson: 0.4481\n", " ENCSR100LIJ_M/pearson: 0.2585\n", " ENCSR114HGS_M/pearson: 0.2093\n", " ENCSR249ROI_P/pearson: 0.4643\n", " ENCSR935RNW_P/pearson: 0.2474\n", " ENCSR046BCI_P/pearson: 0.2187\n", " ENCSR701YIC/pearson: 0.5118\n", " ENCSR484LTQ_P/pearson: 0.3472\n", " ENCSR114HGS_P/pearson: 0.2119\n", "Step 1950/3000 | Loss: 5.1680 | Mean Pearson: 0.3896\n", "Step 2000/3000 | Loss: 4.8208 | Mean Pearson: 0.3885\n", "\n", "Running validation at step 2000...\n", " Validation Loss: 4.7021\n", " Validation Mean Pearson: 0.3676\n", " ENCSR814RGG/pearson: 0.5656\n", " ENCSR100LIJ_P/pearson: 0.2735\n", " ENCSR799DGV_P/pearson: 0.2565\n", " ENCSR321PWZ_P/pearson: 0.4114\n", " ENCSR527JGN_P/pearson: 0.4308\n", " ENCSR046BCI_M/pearson: 0.2373\n", " ENCSR682BFG/pearson: 0.3934\n", " ENCSR935RNW_M/pearson: 0.2565\n", " ENCSR410DWV/pearson: 0.4168\n", " ENCSR862QCH_P/pearson: 0.2687\n", " ENCSR527JGN_M/pearson: 0.4660\n", " ENCSR862QCH_M/pearson: 0.3236\n", " ENCSR628PLS/pearson: 0.3618\n", " ENCSR754DRC/pearson: 0.3501\n", " ENCSR487QSB/pearson: 0.4594\n", " ENCSR863PSM/pearson: 0.4689\n", " ENCSR484LTQ_M/pearson: 0.3035\n", " ENCSR619DQO_P/pearson: 0.4324\n", " ENCSR154HRN_M/pearson: 0.3478\n", " ENCSR154HRN_P/pearson: 0.3389\n", " ENCSR619DQO_M/pearson: 0.4787\n", " ENCSR799DGV_M/pearson: 0.2629\n", " ENCSR962OTG/pearson: 0.7107\n", " ENCSR321PWZ_M/pearson: 0.4759\n", " ENCSR325NFE/pearson: 0.5943\n", " ENCSR249ROI_M/pearson: 0.4028\n", " ENCSR100LIJ_M/pearson: 0.2639\n", " ENCSR114HGS_M/pearson: 0.2055\n", " ENCSR249ROI_P/pearson: 0.4359\n", " ENCSR935RNW_P/pearson: 0.2668\n", " ENCSR046BCI_P/pearson: 0.2265\n", " ENCSR701YIC/pearson: 0.3871\n", " ENCSR484LTQ_P/pearson: 0.2322\n", " ENCSR114HGS_P/pearson: 0.1916\n", "Step 2050/3000 | Loss: 4.8282 | Mean Pearson: 0.4070\n", "Step 2100/3000 | Loss: 4.9993 | Mean Pearson: 0.3860\n", "\n", "Running validation at step 2100...\n", " Validation Loss: 4.9323\n", " Validation Mean Pearson: 0.3717\n", " ENCSR814RGG/pearson: 0.5634\n", " ENCSR100LIJ_P/pearson: 0.2540\n", " ENCSR799DGV_P/pearson: 0.2636\n", " ENCSR321PWZ_P/pearson: 0.4115\n", " ENCSR527JGN_P/pearson: 0.3586\n", " ENCSR046BCI_M/pearson: 0.2350\n", " ENCSR682BFG/pearson: 0.4373\n", " ENCSR935RNW_M/pearson: 0.2559\n", " ENCSR410DWV/pearson: 0.4008\n", " ENCSR862QCH_P/pearson: 0.2960\n", " ENCSR527JGN_M/pearson: 0.4200\n", " ENCSR862QCH_M/pearson: 0.3943\n", " ENCSR628PLS/pearson: 0.3542\n", " ENCSR754DRC/pearson: 0.3340\n", " ENCSR487QSB/pearson: 0.4375\n", " ENCSR863PSM/pearson: 0.4583\n", " ENCSR484LTQ_M/pearson: 0.3402\n", " ENCSR619DQO_P/pearson: 0.4323\n", " ENCSR154HRN_M/pearson: 0.3964\n", " ENCSR154HRN_P/pearson: 0.3459\n", " ENCSR619DQO_M/pearson: 0.5180\n", " ENCSR799DGV_M/pearson: 0.2627\n", " ENCSR962OTG/pearson: 0.7172\n", " ENCSR321PWZ_M/pearson: 0.5264\n", " ENCSR325NFE/pearson: 0.5934\n", " ENCSR249ROI_M/pearson: 0.4240\n", " ENCSR100LIJ_M/pearson: 0.2753\n", " ENCSR114HGS_M/pearson: 0.2031\n", " ENCSR249ROI_P/pearson: 0.4446\n", " ENCSR935RNW_P/pearson: 0.2368\n", " ENCSR046BCI_P/pearson: 0.2010\n", " ENCSR701YIC/pearson: 0.3735\n", " ENCSR484LTQ_P/pearson: 0.2687\n", " ENCSR114HGS_P/pearson: 0.2034\n", "Step 2150/3000 | Loss: 4.7588 | Mean Pearson: 0.3859\n", "Step 2200/3000 | Loss: 4.8416 | Mean Pearson: 0.4026\n", "\n", "Running validation at step 2200...\n", " Validation Loss: 4.9921\n", " Validation Mean Pearson: 0.3693\n", " ENCSR814RGG/pearson: 0.5597\n", " ENCSR100LIJ_P/pearson: 0.2576\n", " ENCSR799DGV_P/pearson: 0.2522\n", " ENCSR321PWZ_P/pearson: 0.4578\n", " ENCSR527JGN_P/pearson: 0.4170\n", " ENCSR046BCI_M/pearson: 0.2333\n", " ENCSR682BFG/pearson: 0.4100\n", " ENCSR935RNW_M/pearson: 0.2479\n", " ENCSR410DWV/pearson: 0.3828\n", " ENCSR862QCH_P/pearson: 0.3131\n", " ENCSR527JGN_M/pearson: 0.4371\n", " ENCSR862QCH_M/pearson: 0.3418\n", " ENCSR628PLS/pearson: 0.3408\n", " ENCSR754DRC/pearson: 0.3847\n", " ENCSR487QSB/pearson: 0.4326\n", " ENCSR863PSM/pearson: 0.4629\n", " ENCSR484LTQ_M/pearson: 0.3173\n", " ENCSR619DQO_P/pearson: 0.4779\n", " ENCSR154HRN_M/pearson: 0.3124\n", " ENCSR154HRN_P/pearson: 0.3446\n", " ENCSR619DQO_M/pearson: 0.4613\n", " ENCSR799DGV_M/pearson: 0.2444\n", " ENCSR962OTG/pearson: 0.7228\n", " ENCSR321PWZ_M/pearson: 0.4939\n", " ENCSR325NFE/pearson: 0.5913\n", " ENCSR249ROI_M/pearson: 0.3719\n", " ENCSR100LIJ_M/pearson: 0.2429\n", " ENCSR114HGS_M/pearson: 0.1879\n", " ENCSR249ROI_P/pearson: 0.4289\n", " ENCSR935RNW_P/pearson: 0.2558\n", " ENCSR046BCI_P/pearson: 0.2097\n", " ENCSR701YIC/pearson: 0.4798\n", " ENCSR484LTQ_P/pearson: 0.2889\n", " ENCSR114HGS_P/pearson: 0.1921\n", "Step 2250/3000 | Loss: 4.7273 | Mean Pearson: 0.4001\n", "Step 2300/3000 | Loss: 4.7058 | Mean Pearson: 0.3941\n", "\n", "Running validation at step 2300...\n", " Validation Loss: 5.0703\n", " Validation Mean Pearson: 0.4041\n", " ENCSR814RGG/pearson: 0.5778\n", " ENCSR100LIJ_P/pearson: 0.3089\n", " ENCSR799DGV_P/pearson: 0.2986\n", " ENCSR321PWZ_P/pearson: 0.4490\n", " ENCSR527JGN_P/pearson: 0.4305\n", " ENCSR046BCI_M/pearson: 0.2746\n", " ENCSR682BFG/pearson: 0.4335\n", " ENCSR935RNW_M/pearson: 0.2993\n", " ENCSR410DWV/pearson: 0.4409\n", " ENCSR862QCH_P/pearson: 0.2833\n", " ENCSR527JGN_M/pearson: 0.4685\n", " ENCSR862QCH_M/pearson: 0.4217\n", " ENCSR628PLS/pearson: 0.3965\n", " ENCSR754DRC/pearson: 0.3799\n", " ENCSR487QSB/pearson: 0.4773\n", " ENCSR863PSM/pearson: 0.4831\n", " ENCSR484LTQ_M/pearson: 0.3693\n", " ENCSR619DQO_P/pearson: 0.5021\n", " ENCSR154HRN_M/pearson: 0.4256\n", " ENCSR154HRN_P/pearson: 0.3292\n", " ENCSR619DQO_M/pearson: 0.5031\n", " ENCSR799DGV_M/pearson: 0.3106\n", " ENCSR962OTG/pearson: 0.7469\n", " ENCSR321PWZ_M/pearson: 0.5615\n", " ENCSR325NFE/pearson: 0.6118\n", " ENCSR249ROI_M/pearson: 0.4969\n", " ENCSR100LIJ_M/pearson: 0.3132\n", " ENCSR114HGS_M/pearson: 0.2327\n", " ENCSR249ROI_P/pearson: 0.4305\n", " ENCSR935RNW_P/pearson: 0.2899\n", " ENCSR046BCI_P/pearson: 0.2482\n", " ENCSR701YIC/pearson: 0.4846\n", " ENCSR484LTQ_P/pearson: 0.2572\n", " ENCSR114HGS_P/pearson: 0.2038\n", "Step 2350/3000 | Loss: 4.7640 | Mean Pearson: 0.3923\n", "Step 2400/3000 | Loss: 4.7815 | Mean Pearson: 0.3990\n", "\n", "Running validation at step 2400...\n", " Validation Loss: 4.7539\n", " Validation Mean Pearson: 0.3966\n", " ENCSR814RGG/pearson: 0.5720\n", " ENCSR100LIJ_P/pearson: 0.2935\n", " ENCSR799DGV_P/pearson: 0.3007\n", " ENCSR321PWZ_P/pearson: 0.4540\n", " ENCSR527JGN_P/pearson: 0.5157\n", " ENCSR046BCI_M/pearson: 0.2836\n", " ENCSR682BFG/pearson: 0.4507\n", " ENCSR935RNW_M/pearson: 0.2780\n", " ENCSR410DWV/pearson: 0.4385\n", " ENCSR862QCH_P/pearson: 0.3306\n", " ENCSR527JGN_M/pearson: 0.4222\n", " ENCSR862QCH_M/pearson: 0.3848\n", " ENCSR628PLS/pearson: 0.3709\n", " ENCSR754DRC/pearson: 0.3546\n", " ENCSR487QSB/pearson: 0.4607\n", " ENCSR863PSM/pearson: 0.4543\n", " ENCSR484LTQ_M/pearson: 0.3585\n", " ENCSR619DQO_P/pearson: 0.4871\n", " ENCSR154HRN_M/pearson: 0.3829\n", " ENCSR154HRN_P/pearson: 0.3566\n", " ENCSR619DQO_M/pearson: 0.4914\n", " ENCSR799DGV_M/pearson: 0.2878\n", " ENCSR962OTG/pearson: 0.7439\n", " ENCSR321PWZ_M/pearson: 0.5177\n", " ENCSR325NFE/pearson: 0.6013\n", " ENCSR249ROI_M/pearson: 0.4445\n", " ENCSR100LIJ_M/pearson: 0.2956\n", " ENCSR114HGS_M/pearson: 0.2311\n", " ENCSR249ROI_P/pearson: 0.4334\n", " ENCSR935RNW_P/pearson: 0.2823\n", " ENCSR046BCI_P/pearson: 0.2596\n", " ENCSR701YIC/pearson: 0.4783\n", " ENCSR484LTQ_P/pearson: 0.2744\n", " ENCSR114HGS_P/pearson: 0.1925\n", "Step 2450/3000 | Loss: 5.0673 | Mean Pearson: 0.3995\n", "Step 2500/3000 | Loss: 4.8663 | Mean Pearson: 0.4070\n", "\n", "Running validation at step 2500...\n", " Validation Loss: 4.6556\n", " Validation Mean Pearson: 0.3792\n", " ENCSR814RGG/pearson: 0.5763\n", " ENCSR100LIJ_P/pearson: 0.2707\n", " ENCSR799DGV_P/pearson: 0.2725\n", " ENCSR321PWZ_P/pearson: 0.4325\n", " ENCSR527JGN_P/pearson: 0.3744\n", " ENCSR046BCI_M/pearson: 0.2478\n", " ENCSR682BFG/pearson: 0.4036\n", " ENCSR935RNW_M/pearson: 0.2599\n", " ENCSR410DWV/pearson: 0.4208\n", " ENCSR862QCH_P/pearson: 0.3045\n", " ENCSR527JGN_M/pearson: 0.4415\n", " ENCSR862QCH_M/pearson: 0.3689\n", " ENCSR628PLS/pearson: 0.3668\n", " ENCSR754DRC/pearson: 0.3398\n", " ENCSR487QSB/pearson: 0.4612\n", " ENCSR863PSM/pearson: 0.4706\n", " ENCSR484LTQ_M/pearson: 0.3367\n", " ENCSR619DQO_P/pearson: 0.4749\n", " ENCSR154HRN_M/pearson: 0.3751\n", " ENCSR154HRN_P/pearson: 0.3282\n", " ENCSR619DQO_M/pearson: 0.4696\n", " ENCSR799DGV_M/pearson: 0.2693\n", " ENCSR962OTG/pearson: 0.7187\n", " ENCSR321PWZ_M/pearson: 0.5165\n", " ENCSR325NFE/pearson: 0.6042\n", " ENCSR249ROI_M/pearson: 0.4508\n", " ENCSR100LIJ_M/pearson: 0.2682\n", " ENCSR114HGS_M/pearson: 0.2167\n", " ENCSR249ROI_P/pearson: 0.4250\n", " ENCSR935RNW_P/pearson: 0.2641\n", " ENCSR046BCI_P/pearson: 0.2384\n", " ENCSR701YIC/pearson: 0.4748\n", " ENCSR484LTQ_P/pearson: 0.2481\n", " ENCSR114HGS_P/pearson: 0.2024\n", "Step 2550/3000 | Loss: 4.7079 | Mean Pearson: 0.4091\n", "Step 2600/3000 | Loss: 4.3744 | Mean Pearson: 0.3933\n", "\n", "Running validation at step 2600...\n", " Validation Loss: 4.8455\n", " Validation Mean Pearson: 0.3797\n", " ENCSR814RGG/pearson: 0.5708\n", " ENCSR100LIJ_P/pearson: 0.2756\n", " ENCSR799DGV_P/pearson: 0.2734\n", " ENCSR321PWZ_P/pearson: 0.3936\n", " ENCSR527JGN_P/pearson: 0.4018\n", " ENCSR046BCI_M/pearson: 0.2833\n", " ENCSR682BFG/pearson: 0.4115\n", " ENCSR935RNW_M/pearson: 0.3085\n", " ENCSR410DWV/pearson: 0.4255\n", " ENCSR862QCH_P/pearson: 0.2866\n", " ENCSR527JGN_M/pearson: 0.4719\n", " ENCSR862QCH_M/pearson: 0.3235\n", " ENCSR628PLS/pearson: 0.3870\n", " ENCSR754DRC/pearson: 0.3786\n", " ENCSR487QSB/pearson: 0.4778\n", " ENCSR863PSM/pearson: 0.4692\n", " ENCSR484LTQ_M/pearson: 0.2888\n", " ENCSR619DQO_P/pearson: 0.4548\n", " ENCSR154HRN_M/pearson: 0.3547\n", " ENCSR154HRN_P/pearson: 0.3361\n", " ENCSR619DQO_M/pearson: 0.4924\n", " ENCSR799DGV_M/pearson: 0.3200\n", " ENCSR962OTG/pearson: 0.7591\n", " ENCSR321PWZ_M/pearson: 0.4553\n", " ENCSR325NFE/pearson: 0.6152\n", " ENCSR249ROI_M/pearson: 0.4110\n", " ENCSR100LIJ_M/pearson: 0.3212\n", " ENCSR114HGS_M/pearson: 0.2007\n", " ENCSR249ROI_P/pearson: 0.4280\n", " ENCSR935RNW_P/pearson: 0.2675\n", " ENCSR046BCI_P/pearson: 0.2217\n", " ENCSR701YIC/pearson: 0.3924\n", " ENCSR484LTQ_P/pearson: 0.2666\n", " ENCSR114HGS_P/pearson: 0.1848\n", "Step 2650/3000 | Loss: 4.7751 | Mean Pearson: 0.3844\n", "Step 2700/3000 | Loss: 4.5149 | Mean Pearson: 0.3994\n", "\n", "Running validation at step 2700...\n", " Validation Loss: 5.0411\n", " Validation Mean Pearson: 0.4070\n", " ENCSR814RGG/pearson: 0.5646\n", " ENCSR100LIJ_P/pearson: 0.3368\n", " ENCSR799DGV_P/pearson: 0.3395\n", " ENCSR321PWZ_P/pearson: 0.4708\n", " ENCSR527JGN_P/pearson: 0.5730\n", " ENCSR046BCI_M/pearson: 0.2443\n", " ENCSR682BFG/pearson: 0.4277\n", " ENCSR935RNW_M/pearson: 0.2619\n", " ENCSR410DWV/pearson: 0.4035\n", " ENCSR862QCH_P/pearson: 0.3299\n", " ENCSR527JGN_M/pearson: 0.5957\n", " ENCSR862QCH_M/pearson: 0.3694\n", " ENCSR628PLS/pearson: 0.3536\n", " ENCSR754DRC/pearson: 0.3628\n", " ENCSR487QSB/pearson: 0.4444\n", " ENCSR863PSM/pearson: 0.4900\n", " ENCSR484LTQ_M/pearson: 0.3291\n", " ENCSR619DQO_P/pearson: 0.4874\n", " ENCSR154HRN_M/pearson: 0.3879\n", " ENCSR154HRN_P/pearson: 0.3912\n", " ENCSR619DQO_M/pearson: 0.5379\n", " ENCSR799DGV_M/pearson: 0.2638\n", " ENCSR962OTG/pearson: 0.7243\n", " ENCSR321PWZ_M/pearson: 0.4967\n", " ENCSR325NFE/pearson: 0.5884\n", " ENCSR249ROI_M/pearson: 0.4598\n", " ENCSR100LIJ_M/pearson: 0.2749\n", " ENCSR114HGS_M/pearson: 0.2103\n", " ENCSR249ROI_P/pearson: 0.4954\n", " ENCSR935RNW_P/pearson: 0.3291\n", " ENCSR046BCI_P/pearson: 0.2762\n", " ENCSR701YIC/pearson: 0.5087\n", " ENCSR484LTQ_P/pearson: 0.2986\n", " ENCSR114HGS_P/pearson: 0.2103\n", "Step 2750/3000 | Loss: 5.0177 | Mean Pearson: 0.4221\n", "Step 2800/3000 | Loss: 4.7868 | Mean Pearson: 0.4150\n", "\n", "Running validation at step 2800...\n", " Validation Loss: 4.5684\n", " Validation Mean Pearson: 0.3696\n", " ENCSR814RGG/pearson: 0.5741\n", " ENCSR100LIJ_P/pearson: 0.2223\n", " ENCSR799DGV_P/pearson: 0.2259\n", " ENCSR321PWZ_P/pearson: 0.4199\n", " ENCSR527JGN_P/pearson: 0.4375\n", " ENCSR046BCI_M/pearson: 0.2504\n", " ENCSR682BFG/pearson: 0.4326\n", " ENCSR935RNW_M/pearson: 0.2597\n", " ENCSR410DWV/pearson: 0.4125\n", " ENCSR862QCH_P/pearson: 0.3175\n", " ENCSR527JGN_M/pearson: 0.3312\n", " ENCSR862QCH_M/pearson: 0.3705\n", " ENCSR628PLS/pearson: 0.3568\n", " ENCSR754DRC/pearson: 0.3580\n", " ENCSR487QSB/pearson: 0.4510\n", " ENCSR863PSM/pearson: 0.4754\n", " ENCSR484LTQ_M/pearson: 0.3429\n", " ENCSR619DQO_P/pearson: 0.5008\n", " ENCSR154HRN_M/pearson: 0.3926\n", " ENCSR154HRN_P/pearson: 0.3628\n", " ENCSR619DQO_M/pearson: 0.3942\n", " ENCSR799DGV_M/pearson: 0.2696\n", " ENCSR962OTG/pearson: 0.7221\n", " ENCSR321PWZ_M/pearson: 0.4521\n", " ENCSR325NFE/pearson: 0.5987\n", " ENCSR249ROI_M/pearson: 0.4493\n", " ENCSR100LIJ_M/pearson: 0.2659\n", " ENCSR114HGS_M/pearson: 0.2206\n", " ENCSR249ROI_P/pearson: 0.4332\n", " ENCSR935RNW_P/pearson: 0.2172\n", " ENCSR046BCI_P/pearson: 0.1785\n", " ENCSR701YIC/pearson: 0.4222\n", " ENCSR484LTQ_P/pearson: 0.2668\n", " ENCSR114HGS_P/pearson: 0.1810\n", "Step 2850/3000 | Loss: 4.8059 | Mean Pearson: 0.3931\n", "Step 2900/3000 | Loss: 5.1510 | Mean Pearson: 0.4076\n", "\n", "Running validation at step 2900...\n", " Validation Loss: 4.9329\n", " Validation Mean Pearson: 0.3824\n", " ENCSR814RGG/pearson: 0.5764\n", " ENCSR100LIJ_P/pearson: 0.3215\n", " ENCSR799DGV_P/pearson: 0.3195\n", " ENCSR321PWZ_P/pearson: 0.4346\n", " ENCSR527JGN_P/pearson: 0.3193\n", " ENCSR046BCI_M/pearson: 0.2746\n", " ENCSR682BFG/pearson: 0.4529\n", " ENCSR935RNW_M/pearson: 0.3010\n", " ENCSR410DWV/pearson: 0.4214\n", " ENCSR862QCH_P/pearson: 0.3079\n", " ENCSR527JGN_M/pearson: 0.4452\n", " ENCSR862QCH_M/pearson: 0.3553\n", " ENCSR628PLS/pearson: 0.3608\n", " ENCSR754DRC/pearson: 0.3580\n", " ENCSR487QSB/pearson: 0.4516\n", " ENCSR863PSM/pearson: 0.4659\n", " ENCSR484LTQ_M/pearson: 0.3176\n", " ENCSR619DQO_P/pearson: 0.4899\n", " ENCSR154HRN_M/pearson: 0.3527\n", " ENCSR154HRN_P/pearson: 0.3498\n", " ENCSR619DQO_M/pearson: 0.4860\n", " ENCSR799DGV_M/pearson: 0.2878\n", " ENCSR962OTG/pearson: 0.7188\n", " ENCSR321PWZ_M/pearson: 0.4772\n", " ENCSR325NFE/pearson: 0.5997\n", " ENCSR249ROI_M/pearson: 0.3999\n", " ENCSR100LIJ_M/pearson: 0.2908\n", " ENCSR114HGS_M/pearson: 0.2145\n", " ENCSR249ROI_P/pearson: 0.3933\n", " ENCSR935RNW_P/pearson: 0.3049\n", " ENCSR046BCI_P/pearson: 0.2720\n", " ENCSR701YIC/pearson: 0.4283\n", " ENCSR484LTQ_P/pearson: 0.2643\n", " ENCSR114HGS_P/pearson: 0.1868\n", "Step 2950/3000 | Loss: 4.7318 | Mean Pearson: 0.4145\n", "Step 3000/3000 | Loss: 4.4937 | Mean Pearson: 0.3890\n", "\n", "Running validation at step 3000...\n", " Validation Loss: 4.7401\n", " Validation Mean Pearson: 0.3980\n", " ENCSR814RGG/pearson: 0.5653\n", " ENCSR100LIJ_P/pearson: 0.2883\n", " ENCSR799DGV_P/pearson: 0.3016\n", " ENCSR321PWZ_P/pearson: 0.4218\n", " ENCSR527JGN_P/pearson: 0.4645\n", " ENCSR046BCI_M/pearson: 0.2664\n", " ENCSR682BFG/pearson: 0.4251\n", " ENCSR935RNW_M/pearson: 0.2980\n", " ENCSR410DWV/pearson: 0.4118\n", " ENCSR862QCH_P/pearson: 0.3184\n", " ENCSR527JGN_M/pearson: 0.4557\n", " ENCSR862QCH_M/pearson: 0.3802\n", " ENCSR628PLS/pearson: 0.3641\n", " ENCSR754DRC/pearson: 0.3875\n", " ENCSR487QSB/pearson: 0.4601\n", " ENCSR863PSM/pearson: 0.4876\n", " ENCSR484LTQ_M/pearson: 0.3635\n", " ENCSR619DQO_P/pearson: 0.5037\n", " ENCSR154HRN_M/pearson: 0.4151\n", " ENCSR154HRN_P/pearson: 0.3478\n", " ENCSR619DQO_M/pearson: 0.5198\n", " ENCSR799DGV_M/pearson: 0.2979\n", " ENCSR962OTG/pearson: 0.7440\n", " ENCSR321PWZ_M/pearson: 0.5373\n", " ENCSR325NFE/pearson: 0.5976\n", " ENCSR249ROI_M/pearson: 0.4835\n", " ENCSR100LIJ_M/pearson: 0.2963\n", " ENCSR114HGS_M/pearson: 0.2287\n", " ENCSR249ROI_P/pearson: 0.4488\n", " ENCSR935RNW_P/pearson: 0.2781\n", " ENCSR046BCI_P/pearson: 0.2490\n", " ENCSR701YIC/pearson: 0.4617\n", " ENCSR484LTQ_P/pearson: 0.2697\n", " ENCSR114HGS_P/pearson: 0.1916\n", "\n", "Training completed after 3000 steps.\n" ] } ], "source": [ "# Training loop\n", "print(f\"Starting training for {config['num_steps_training']} steps\\n\")\n", "\n", "# Create iterator for training data (will cycle if needed)\n", "train_iter = iter(train_loader)\n", "model.train()\n", "\n", "# Main training loop\n", "for step_idx in range(config[\"num_steps_training\"]):\n", " try:\n", " batch = next(train_iter)\n", " except StopIteration:\n", " # Restart iterator if we run out of data\n", " train_iter = iter(train_loader)\n", " batch = next(train_iter)\n", " \n", " # Take a training step\n", " train_step(model, optimizer, batch, train_metrics)\n", "\n", " # Logging\n", " if (step_idx + 1) % config[\"log_every_n_steps\"] == 0:\n", " train_metrics.update_mean_metrics(step_idx + 1)\n", " train_metrics.print_metrics()\n", " train_metrics.reset()\n", " \n", " # Validation\n", " if (step_idx + 1) % config[\"validate_every_n_steps\"] == 0:\n", " print(f\"\\nRunning validation at step {step_idx + 1}...\")\n", " model.eval()\n", " \n", " for val_batch in val_loader:\n", " validation_step(model, val_batch, val_metrics)\n", " \n", " val_metrics.update_mean_metrics(step_idx + 1)\n", " val_metrics.print_metrics(print_per_track=True)\n", " val_metrics.reset()\n", "\n", " # Back to training mode\n", " print(\"\\n\" + \"-\"*100 + \"\\nTraining metrics:\")\n", " model.train() \n", "\n", "print(f\"\\nTraining completed after {config['num_steps_training']} steps.\")\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "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OefI2zIz/QqqhkK9pnv1gnyBHD0qXyCeIsMdgm0Wrv7nSE2V8WQAIQc1DotceXDCpk3AihXy8y9GvP7667i6IzvznXfewZ49e7B9+3b885//xO9+9zt86W9fMgDV1dVob29Hv07vLf369cP27dv92sZdd92F/v37O4IY5R113zxtU93W2aJFi7BgwYIu11dVVelassput6O2thZCCNiC6WEWoh57/4teAJrSzkBtVRUaWxvxxy/+CAD45fhf4mh1BOvDWozRc0fB49xZG+fPujh31sW5sy4zzF29nw0QGdQgy4lk+al582RcIj1dJg743Qt08uSuQY0PP5QLFjU1coV06VJg0qSAx6QCC7//PfDmm8CzF/0YZ2Gx7Kvx1FNhXaT3mqmhR+kp5eqrZVCjpAR45hlnbSS9vPyy/CPm5bkHnAx24YXy9IsvZCZB5wONVR/2c8+F7pKTZXKR3S5LUJklqNGzZ3A9571JT3cGNfxRWSn/Jjablz4yYdanj1zUDrIai5uWFufB9JEsP1VSAvz978CdHU3C9w88C4MCeHhXwQQ1iorkurprqaE//rHb1kWRExcHjBoFfPutrD3XKaih/ux9+7oEM3UyerQMamzZIpPkgtbcLAMaCQnA9dfrF4n0g/pft1cvAAl5wHff+d0sPNCgRpd+GnV1zg/kIIMaNTUALrhABjXU/wgxorq6GjkdNdXef/99zJ49GyNGjMD//M//BN0oPFgPP/wwlixZgpUrVyI5OTno7cyfPx/zVGlIyEyNvLw8ZGVlIU2vWoqQXzQ1TUNWVpYhXzS1LesAAEl505CdnY3HVz2OI01HMLT3UNwy+RaWnvLB6Lmj4HHurI3zZ12cO+vi3FmXGebO3//J+V8nWU6kyk/94x/A00/L86+8EkBAo7TUWavmww9lWYlXXpFHsAohj2h9442g6tmUlACvvy7Pt7fLdZCp352P+sRkxJWWytUpH0eohqKtzRlI6nKgtVpxV0fohqKwUDZN37sXePttYM6c0Lep2O3An/4kz99+u/6rhCEYOlSubW7fLsur//SnztuEcGZqhCOooWkydlRfL0vSG00tVOq4BgRALiQePCiDRv5QpadycowpyeWWlRUi1wMdAgpaqZ29qspRHsn5Huw7gFpS4sySmAx51PWiT8/CtBIZbAhUMEGNXbvkW3JcnIwhf/WVzFIwlZNPlkGNrVuBn/zE7SZ1QLie/TRcH7akxGc7D/988IE8PfvsiAY0gE7ZR5n+vUBCzdRwlJ7atUueZmcH/GblFtQomiZ7I334obOTfQzo168ftm7ditzcXCxbtgzPPvssAFkGKi7AN9zMzEzExcWhwiX4CgAVFRWOwIk3jz32GB5++GF89NFHKCgocFyvfq+iogK5Lql6FRUVOOWUUzxuKykpCUkeslVtNpvuXwg1TQvLdrtlbwWqZUkvW7/z0NjehEdXOXtpJMab7Q3WfAybOwoZ587aOH/WxbmzLs6ddRk9d/4+Ll9ZZDlqQaG+Xh59HA7r1wM33yzPP/CArPDkl9JSWZvqnnvk5W3bZBPnP/9ZLlZcdhmwcmXQBfoXLHBf7xACaNJSsSqpoy/Ee+8FtV1/qKNUbTbnYisAeSjx99/LgRUWhv5AmgZcdZU8/8oroW/P1fvvy6hBejpw4436blsHqnrY+++7X79nj1xgT0gAzjgjPI+t1iLN0Cxc7ybhittCoh/KyuRppEtPKXoGNdTfNDXV7/Y9UlaW3Cftdseqbnflp44dA157DbjhBnk5Dm2YBNlU9itMxsKFwTwDZ1Cjpsb/4NvSpfL0hz8EfvxjeT6AqjaRoZqFb9nS5aZwNAlXRo8W3h42MCqoEVK6R3DcMjX8jFaoilghZ2oEWXoK6PRedM45sgTZwYMm6mAfftdddx1mz56NsWPHQtM0R9mnNWvWYNSoUQFtKzExERMnTnQ0+QbgaPpd6OP/kkceeQQPPvggli1bhtNOO83ttiFDhiAnJ8dtm3V1dVizZo3PbUa9o+uB9kYgqS+QPgbPffMcKhsqMSRjCK4uuNro0RERERFRDGFQgywnPd25sK9HWZbOqqvlUcRNTXIR7L77AvxlX3WT77orpJ4TO3e6N7wF5OXXTnSs1r37btDb7o5aXMvM7HTUulohHDtWNgHQgwpqLFsmjxDXy2OPydNf/ML4GkseqKDGf/8r15AVlQhzxhkutdwBZ5NeTwJs0mumoIbbQqWOVEkvf4MaRjUJV8IR1Ag4UBQf74wkd7wJ7N0rL771VjJOPVXD668Da9cCDz4oK+9lZgKzZzvfn8dhE3rhOGqRhi0YE/S6bVqa8zVx6JB/v6OCGjNnyrEB8i2r8/uooVSzcA8pEypTQ88m4YqKpWzdGsLfo7kZ+OQTed7AoEZaGvxO5XGNfQTyvLtkaugV1EhNdWY5fvhhwNuyqgceeAAvvPACbrrpJnz55ZeODIe4uDjcfffdAW9v3rx5eP755/GPf/wD27Ztwy233IKGhgZcd911AIBrrrnGrZH4H//4R9x333148cUXMXjwYJSXl6O8vBzHOz4ENU3D7bffjoceeghvv/02Nm3ahGuuuQb9+/fHpZdeGvofwKoqP5WnWeegsa0Jf/xS9tK499x7kRBnnuxXIiIiIop+LD9FlhMXJ9fOjx6Viwx6Lva0tclqR/v3y3WKf/5T35r+oZaVGDFClpxyXYjRNGDnSRcB226VtVWOHu2USqEPr03C9Sw9pYwaBUycKEt3vfoqcOutoW9z7Vrg00/lIu2vfhX69sJAVW8pLwc2bgQmTJDXey09lZ8vj+xVhxC7CrBJr2pdYoagRrgzNQItPxXTQQ1A7vTV1UBFBUq+H4e//lVeLYSG774THlvTnHyyjIEcOQKcJWQ/jVUohNDiMHJkcM8BkOvW27bJdesRI3zf9/BhYJWskoJLLpF/z/h4mYGzb5+scmcKKrqwbZuziUuHcGZqnHSS/Dytq5NBIhUTCMiXXwKNjfI14lK6J1LcGoX7mamhnueJE3LfcgQpuhG2TA0AmDYN+OgjGdQw6eeTnlpbWzFjxgw899xzmKVq1HW49tprg9rm5ZdfjqqqKtx///0oLy/HKaecgmXLljkafZeWlrqlsT/77LNoaWnBT11rPQIoLi7GAw88AAD47W9/i4aGBtx0002oqanB2WefjWXLloXUd8PyKjv+Ick+F4u/WezI0vhZwc+MHRcRERERxRxmapAl6bnY5+p3v5PrCj16yFrjauHBLIqLuwY0hABu+v0guTBmtztLgegsIk3CXV3dUcbg5Zf12Z7K0rjySmDAAH22qbOkJKCjAodbCSqf/TTy82X0o/NPAAENwJmpYYaeGiw/JZkqqAEAFRVdSuAB8oLNJjPc/vY3WYVv82Zg8WL5/qT6aazCWRBCvo8FK5C+Gm+9JU/PPFPu8ikpzkChqUpQDR0qd/4TJ2S0xUU4MzWSkpzr8UH31VCfN9Om6XwEgH/csrrUi6ObFIykJOfnmGsD+e6ELVMDkM3CAVmeMlx1NU0kISEB3333ne7bve2227B//340NzdjzZo1mDRpkuO2lStX4qWXXnJc3rdvH4QQXX5UQAOQ2RoLFy5EeXk5mpqa8NFHH2FEd9HUaGZvB6rkgSyzP30a8z6UTdFnDJ/BLA0iIiIiijgGNciS1KKCWmTQw2uvAY88Is+/+GLY+m2HpKgIeOEF5+Vx42TwZeZMOAvGh6kElcdMjePHgQ0b5Hm9gxpXXCEXyVavdjZkDdbevc4O63fcEfrYwqhzX43Dh4Hdu+Wf4qyzwve4LD/VFTM1OrgENTyVwANkv5c33pCtatQB80VF8rofJMhMjbKhk53vV0EKJKjhWnpKUSWovvoq+DHoLi5OZqcBXRpchDNTA3BWvgq6r4Yql2RA6SnAS/mphoZu07GCaRYe1kyNggIZaWlocKYXRbmrr74aL7j+Q0PmV/Md0FqH2nbgjfLdjquf/eZZlGwrMXBgRERERBSLGNQgS9IrqFFSApx6qoZBg/phzhx5xPFvfiPrwZuVSmAAZClzx4Kd6ma+bBnQ3q7743rM1Fi9Wj7WoEHOVSK95OQ40xb+9a/QtvXEEzKLZdo0Q0qkBOLCC+Xp6tVyEU1V9zrlFP0zF1yx/FRXKqjBTA1nUGPEiK5V9DTNuSbfWdGkQ+jfuh+w2fC3jWeEFNAA/A9qHDvmbPXgKahhqkwNwGt0IZyZGoB7X42AVVTIOnmAM9MgwtzKT6WmOneaAPpq+MstU6OmxhnlGDbM/410UO2namo6goQ2m/NvGCN9Ndra2vDss8/itNNOwy9+8QvMmzfP7YdMqKP01BdNgEvbL2jQsPDThcaMiYiIiIhiFoMaZEl6LPaVlACzZskeFS0tGoSQK3Wnnx7CwHRs3OxNYqLzqHq3519Y6Gw2snp1yI/TmcdMjXCVnlJcS1AF28n26FFnesudd+ozrjAaOFDGXYSQlV18lp7SkRnLTxmdqaHKTzFTwxnUUCXwNE3uj5omfJeUUikR48frMqH+BjXefVf2SBo71v1AehXU2LTJ/+BWRHiJLpg6U0Mtvp96qoe6hJHRJavLz2hFyJkaKksjJyeo17UKsLa0AE1NHVdOmyZPYySosXnzZkyYMAG9evXCzp07sWHDBsfPRhUsI3PpaBL+2Qn3qwUEdhzZYcCAiIiIiCiWsVE4WZIemRqqNrwKZgDy8u9/D4+Nb/2iY+NmX/r0kUfUuy12xscDM2YA//63XNFTq3c68ZipodIIwhXUmDlTHn37/fey0fcZZwS+jcWL5Up9QYEz88PkfvQj4LvvZAmqTZvkdXr2YffEjOWnjOyp0dbmfM0zqOEMaqiSUgsWADt2CIwcCTzwgI+SUiqooVPtNH+DGiUdlVA6jysnR7aw2LNHxn4NqprUlYfoQlub86MkEpkaMlgVwC+rfhoG/hG7vK4HDgS+/bbbF4j6KPY3qFFSIvu4A8CttwIvX/Q9zgCCKj0FyPdbm00mENbUyH4vjs+ndevkxOtwEISZfaJSqcgahACq5FEWn3cKamjQMLLvSAMGRURERESxzDSZGg8//DA0TcPtt9/u835PPPEERo4ciZSUFOTl5eHXv/41mhyHuVGs0GOxz1NteCFkTCIkOjVu9sXr81clqN57T7fHUrpkarS2OjNCwrXi3rMncMkl8vwrrwT++83NwF/+Is/feWeAK3bGUX013n03NoMaZig/VVkpFxxtNiArS99x+MuMQQ1A9srYsEFg374KbNggfJeUUnWedAqy+hPUaGx0rrd7GpspS1Cp6MK2bfKFB6CqSn4m2WzhW98eMUK29KitdZZb84vdbng/DSAymRoqq7OtTV7etQt474ng+2kA8qNIvR8dO9ZxZf/+MrVICGDFiqC2SxQ2tVuB5iNosyXhG5evXRo0CAgUn+ctXY+IiIiIKDxMEdRYu3YtFi9ejIJuat3/61//wt13343i4mJs27YNL7zwAv7zn//gnnvuidBIySz0yNTwVht+pAUONvO62DljhlwB27QJKC3V9TG7ZGps3ChXD3v3BkaP1vWx3KgSVEuWOFeV/PWvf8mi9AMGAJdfrv/YwqSwUJZKUgvRo0eHf2Fd9dRg+SlJlZ7KyZGLvkZQ+3l9vYwhhiKkv2mnoIbfGhuBDRvkeZ0zNaqqXMr2dPLBB8CJE8DgwbIXTWemDGoMHSprC544AezbB8DZTyMrK3yvwaQkYPhweT6gvhobN8pJ6NlTt7kNlBAesrr8TOUJJKihsjpdH/ckhBbUALxkjqkSVMuXB71dK/nmm2/w29/+FldccQWKiorcfshkOrI04rPOxh2T7wYgAxoF/QpQMrsEM0eH2DCJiIiIiChAhgc1jh8/jquuugrPP/88eqvOiV589dVXmDx5Mq688koMHjwY06ZNw5w5c/D1119HaLRkFnoENVRteKXb2vAmop5/l6BG377AmWfK8zpmawjhzNRwBDVU6anJk2UgJVwuuEAeplxZCXz0kf+/JwTw2GPy/Ny5csHQIuLjnQduA3ItWZXTCRczZWqEu/yUP5ka6qh1o0pPAc7xAi5HcwdJl0wNlb7ir7VrZSCyf3/dMtV69+4o1QPvmQWupac8JWepoMaaNYHHScMmPt7Zbb0juqCCGuHqp6EE1VdDpcL88IeGvbc2NDg/wx3BOhXU8DNT4+BBoL3d9+Ns29Y1qzPsQY0PPwy+j5RFLFmyBGeddRa2bduGpUuXorW1FVu2bMHHH3+MdBWBJvPoaBKO7HMxME3uZ5eOuhQbb97IgAYRERERGcLwoMatt96Kiy66CFP9qHV/1llnYd26dY4gxp49e/D+++/jR6pWC8UMPcqyFBXJ/hmSwLhxcjHMZykVk/D5/H/8Y3mqY1CjtlY2NAVcghqqSXi46yIlJABXXCHPv/yy/7+3bJlcHOzVC7jppvCMLUxKSpytCAC5oD1rVngDG2YKakSi/FR3a/NqwTw3V98xBCIuzpldEmoJqpD+pmqnb2sLLLqiXsSTJ+tW+k3TfB+M39oqy7YB3t/Lx4yRf9eGBtl+wTQ6RRdUYky4+mkoXnqU+2aCfhoq+GmzydZLANyjFT7k5srfc+2d01ljI3DzzZ6zpMIW1DjnHBkkOnBAh1qY5vaHP/wBf/7zn/HOO+8gMTERTz75JLZv347Zs2cjX8dynaQDIRxNwpF9HkprZSZwfjrniYiIiIiMY2ij8CVLlmD9+vVYu3atX/e/8sorUV1djbPPPhtCCLS1teHmm2/2WX6qubkZzc3Njst1HSs7drsd9kCOOO2G3W6HEELXbZJ3MqnHhiNHBOz24I9mHDpUbueMM1rx5Zc22Gy2gA5ENkrv3hoAzfPzv/BC2O65B+LjjyEaGpyHNYdAHjFsQ69eAklJAvZ2Ae2LL6ABsJ91VmBHbwfjyithe+opiKVLIerqHCvwvvY77bHHoAEQN9wA0atX+MeoowULNLcm9rKBr8CCBcCll4bn6F35MrHh+PHQ9qlAeJu/+nr5+u7Rw67rtMmjuW0QAqittcPXwcCHD8sx5OZG7u/hSZ8+GmprNVRXh/a3qKuTz6dnzyC2Ex8PrXdvaMeOwV5WBvTu7ddnnuM9orBQ1/1v4EAN33+vobS063P5+GOgpsaG7GyBM88UXh/2zDM1fPCBhi++sOPUU3UbWmjGjIENgNiyBcJu7yiBZkO/fvq+BjvPnUwQsWHLFj8fp74e2ldfybm94ALD3ltlMEB+LgkhMy3Rv7/8Gx44ANHe7jWYZrMB/ftrOHhQw/799i7ZMJs2AVdeqWHrVg2AAKB1ZHNq6IMj6AMZ3LMPHRr0809Pl/vksWMur+PkZGjnnANtxQrYP/hA1sl0YYb/NfV67N27d+Oijj5giYmJaGhogKZp+PWvf43zzz8fCxYs0OVxSAfHdwMnygBbItD3DByoWwyAQQ0iIiIiMpZhQY0DBw5g7ty5WL58OZKTk/36nZUrV+IPf/gDnnnmGUyaNAm7du3C3Llz8eCDD+K+++7z+DuLFi3y+MWoqqpK1wbjdrsdtbW1EELAFs5SPAQAECIOQBaOHAEqVV2kIOzYkQogDX37nkBlZYNl5i4xUY770KEmVFZ2qqXTrx+y+vdH3OHDOPbmm2iZMiXkx9uxIwFAX2RmtqOyshpxu3Yhq6oKIikJlXl5ztpU4TJ4MDIHD0b8vn2o/ec/0TRrFgDv+138d98h8+OPIeLjUXXVVbCHe3w627GjnyOgoQihYccOEdLr3Zf29iQAvVFT04rKSh06U/vB2/zV1mYD0NDaegSVld3UhglQUlI/NDdr2L27GgMHel+c2707DUAq0tOPo7LSuEYjvXr1BZCAvXtrMXx4c7f39+bo0UwA8bDba1BZ2RLw72f27Yv4Y8dQs2MHWjIzu//Ms9uRvWoVNABHR49Gm46v27590wGkYMeOhi5z869/yXm74IITOHKkzus2xo/vgQ8+6IVPPmnG5Zf7UY8sApIGDEBvAG3ffosjlZXYu7cXgB5IS2tAZaV+KVSd5y43Nx5AJrZsEaioqOw2qSbpww/Ru7UVbYMGoTotLfzv/17s3y/H3aOHHZWVVfLKxETkANAaGlC5axeEj8hlTk4fHDyYiC1bajFkiNy3hAD+8Y8UPPBAGpqbNWRnt+Ovf61Ffb2Gxx/vid2743FB7nZgH9Cem4uq48eDTm9LTpav1YMH3V/HPQoL0WvFCrS89x5qOvWCMsP/mvUqRSZEvXv3dmxrwIAB2Lx5M8aNG4eamho0Njbq8hikE5Wl0XcSEJ/iyNTIS8szcFBEREREFOsMC2qsW7cOlZWVmDBhguO69vZ2fPbZZ3jqqafQ3NyMuE6dMe+77z787Gc/ww033AAAGDduHBoaGnDTTTfhd7/7nccvePPnz8e8efMcl+vq6pCXl4esrCyk6VjbxG63Q9M0ZGVlWWZh3MpUHKypSUOvXtlBJyPU1srVm/z8OGRnZ1tm7lSFjcbGZGRnJ3W5Xbv4YmDxYvT+4guIOXNCfjxVeio3V/6d8M478opJk5CdF5kvtdo11wALFyL9nXeQdsstALzvd9pLL8kzs2cj0zSHYftv5Ehg0ybhFtjQNIFRoyD//mEwYIA8bW5OCNtjdOZp/oQAjh+Xz3vIkL7QeygZGbLcTHx8ps9tHzsmxzBsWA9kZ/fQdxAByM6W42hvTw/pb9HYqN7rMoLajjZgALBrFzKam4Hs7O4/87Ztg+3YMYiUFPT54Q9lGTmdDB8un0tNTU+3ubHbgeXL5W1z5iQjO9v7ARPTpgGPPAKsW+f5PdQQhYUAgPhdu5CdmYm6Ovk/0JAhqcjOTvX1mwHpPHdpaYDNJlBba0N7e3a3fWS0NWsAAHEzZkTsvcIT9ZJKT7e5jUP06QPt6FFkdbxWvRk6VMM33wB1dXLfOnIEuOEGDW+/LV9DF14o8Pe/a8jKygAAXHcdAAjg5d3AtYBt5MiQnn9Ojnyctjb31zFmzgQeeghJX32F7IwMt54lZvhf098Dkbpz7rnnYvny5Rg3bhwuu+wyzJ07Fx9//DGWL1+OKTocjEE6cumnAYDlp4iIiIjIFAwLakyZMgWbNm1yu+66667DqFGjcNddd3UJaABAY2Njly9x6n7CS0PFpKQkJCV1XbCw2Wy6fyHUNC0s26Wu0tNlX1VZ4t2GHkGuOTrr5tstNXeZmfL02DENNpuHw2p//GNg8WJo778PTdNCrmdfXS1P+/XreLyOWvna2WdDi9Tf7OqrgYULoS1fDq2qylFovst+t38/8Oqr8rY774zc+HRUXCx7aMgSVHCUoiouhuf51oFqtHv8uJfXVJh0nr+GBmc1l/R0m+496NPTZVCjrs73tlWT5oED9R9DIPr2lae1taGNQx1cnZER5HY69jdbZSXUBnx+5q1eLe9zxhnQPHwGh0LFUQ8dcn+trlkDlJXJviFTp/p+nmeeKXuWHDwoSxCZooT/SScBiYnQGhuhHTiAysohAIDcXP1fg65zl5oKDB8O7NwJbN9uc/Qs8erDD+U2Zsww9P1VJUikpXV6z8rLA44ehe3QIaCgwOvvq2Td3/7WhqefluWsjh6VwZJHHgHmztXk52dnu3cDALSTTgrp+csymvLgCrfxn3IKkJ0NrbJSBpDOO8/t94z+X1Ovx33qqaccGdO/+93vkJCQgK+++gqzZs3Cvffeq8tjkE5cghpt9jYcqj8EgEENIiIiIjKWYd9Ge/XqhbFjx7r99OjRA3379sXYsWMBANdccw3mz5/v+J2LL74Yzz77LJYsWYK9e/di+fLluO+++3DxxRd7DIJQ9NI0fZqFH5Lfy9C/v74lbsKt2+d+/vkynaW01NF0NhSqkarjoNTPP5en4W4S7uqkk4AzzpAr3v/5j/f7Pfkk0N4OTJkC8xTLD0xREfDGG3I9LjlZnoa7ib1qFN5gXKUlAM6G1m7Nf3Xk2izcFxXw7O6o9XDT433ObncGNYJOUFTdqr11Ve5MNQk/66wgH9A7b43CS0rk6UUXAd3FUXr0cL49fPmlvuMLWny8TNMCgK1bHYG1cDcKB7r0KPduzx5g1y451vPPD/u4fFGvaRWQdfDVSb5DSQnw9tvyfHu7fFpHj8oG4mvWALff7uNYgO9DbxIOeGkUDsg3v6lT5fmOAFI06tOnD/p3vMHabDbcfffdePvtt/GnP/0JvVXEh4zXUAo07AO0OCDzLByuPwy7sCPBloB+PSPw5kRERERE5IWpD2EuLS1FmeyUCQC49957cccdd+Dee+/FmDFjcP3112P69OlYvHixgaMko6gjmI8cCX4bas0jJ8c6TaQBPxY6U1OdC07vvhvy46mS6f36QR4KvXu3XPHpKJcSMVdfLU9fftnz7TU1wPPPy/N33hmRIYVLURGwcSNw4oQ8DWdAA3AGNYIsD68bFdTo1SvkBCOPvC4kumhrc67d5+bqP4ZA6BHUcJ3TiAU1VKRg8uQgH9A7T2vWQgBLl8rz/u4ramimCWoAwMkny9MtWxx/6s5NrMP5sFu3dnPHDz6Qp4WFIbyY9OE1UKdSeQ4c8Pq7CxZ4fn/p29ePWLgKagwf7tc4vfH5XjRtmjxdvjykxzC73bt3495778WcOXMc/aL++9//YosOB2OQTlSWRp+JQEJPHKiV+9XAtIGwaab+GklEREREUc5U/42uXLkSTzzxhNvll1RtfADx8fEoLi7Grl27cOLECZSWluLpp59GhvpmSDEl1MU+u915NHZOjnUzNeze4jEXXSRP33sv5Mdzy9RQK4AFBbKWTyRdfrmsGbN2rayV0tnf/iZXcMeOBaZPj+zYLE6VcGtqkkcuGyXkjIJuqJesr6BGZaVcJI+LA7KywjMOf+kR1FCBooSE7jMYvAokqFFdDezYIc+feWaQD+idCmqUlwOtrfL85s0y1pqUBFx4oX/bMWVQoyNlYt97WxxzPnu2MwslzA/bfaaGCmqY4P3VNQDqxo9MjZ075T7e2a5d3TyoEOHP1ACACy6Qp998E9qRGyb26aefYty4cVizZg1KSkpwvCP6+u2336K4uNjg0ZGDo/SULIPGfhpEREREZBamCmoQBSLUTI3qatkAW9ME+vWzVqaGqszgWlamCxXU+Oqr0FZE0SlTw4jSU0p2tvMI1ldecb+tpUWWngKAO+4Iz2H+UUxlagDGlqBSC5XhCmr4U37KGeyUgQ0j6RnUSEsLYbcIJKixapU8HTXK+Uato8xM2TtZCJk4BjgX/adNc38t+6IqY333nY/30UjrSJmo+syZMrFtm+yxE87AhmumhpcWZTKC9PHH8rwJghpey0/5kakxYkTXfUHTnNW/vKqudr55DBvm91g98RnU6N9fBueFAFasCOlxzOruu+/GQw89hOXLlyPRpRn6+eefj9UdPXnIBCo/ladsEk5EREREJsOgBllWqEEN1U8jO1sukFlJSor8AXwsdg4aJBdF7HZg2bKQHs8tU+OLL+SFs88OaZtBcy1B5br6tmSJXI3OzQXmzDFmbBaWlORcwDeyBJXXhUqd+FN+SgU1jC49Begf1AhaIEEN1U8jDKWnANlyYMAAeV4djB9o6SlAbmPQIPkWaZo11I6UiTHYCg0y2C6EXHBfuDB8DztypPy7HjsGRy+PLlavljtoZiYwYULQj1VSAowfLz/Dxo8PPljj9XXtR6ZGcbHz7wrIUyHk9T6pLI28POeHcJC6fS9S2RpR2ldj06ZNmOlhh83OzkZ1dbUBI6IuTpQD9TsBaECW/J+PQQ0iIiIiMgsGNciyQl3sU+sdav3DalRQx+fz16kElcrUyOlRLxs8AMYFNS65RNZK2rNHdnQF5GrUY4/J87/6VQg1dmKXppmjr0a4MzX8KT+ljv43ukk4YMKghqrN5Yuq5xSGJuGK67r1nj3At9/KoNzFFwe2HTOVoGppARb+azhakIAeaEQ+Sh23CeGs6BUOycnOxAOvfTVU6akLLpARkCCUlMisk02bZKm7TZuCz0LxK1PDy2u1qAh44w1ZRTE5WZ6WlPgRFNOp9BTgHtTwOEyVlfjhh93vcxaUkZHh1jdP2bBhAwaoqCUZS5We6j0eSMwAAByokxlQeWl5Bg2KiIiIiEhiUIMsS69MDTMsXAbDr8VOFdRYtkx2Pw5CU5Oz2kbuvlXysOYhQ5yHSkdajx6OlSdNlaBavlyujvXoAfziF8aMKwqovhrRHNQIpPyUGd4bTBfUaGnxHRFqaZE9b4CwZWoA7kENlaVx7rkyiSAQZglqbNgAnH46UPxgPHZA1kA6Gc4GF36VRgpRt301VFBDLbYHQTXoVmv0oWSheO2/oz6bGhp87uhFRTJGf+KEPPUryycMQY3WVjmGLs49V6aRHjjguYeUxV1xxRW46667UF5eDk3TYLfb8eWXX+LOO+/ENddcY/TwCHAGNbLOdVzFTA0iIiIiMgsGNciyQl3sU0ENqx4Q6NfzLyyUDTiOHg26vkpVlTxNSAB6bjS49JSiSlC9+irQ2grtT3+Sl2+4wdlwhAKmMjWM7KnB8lPu1H5+7JiMJwZDl6BGcrIzzcVXCaoNG2QktG9f2bggTDwFNQIpPaWooMbq1UB7uz5jC0RLC3D//cAZZ8jeHpmZQNtI2eDiZMiUCb9LI4XIta9GF9XVwLp18nwIQQ1PDbqDzULx2ig8NdV51IOPvhpB0TGo0bOnM+HF4/tRaqqzd1UUlqD6wx/+gFGjRiEvLw/Hjx/HmDFjcO655+Kss87Cvffea/TwCACqVJNwBjWIiIiIyHwY1CDLCjVTw1l+ypplHfwKasTHAzNmyPNBlqBy7aehfWmSoMZJJwF9+kCrrkav+++H9tFHcuXvssuMHZfFsfyUZKbyUypGJ4Tv7BJfdPub+tNXQ/XTOOusELqSd08FNb75xvmQl14a+HbGjpV/l+PHZbJXJK1fD5x2GvDggzKR7rLLZJbEqVfJ6MLZvbcEVhopRCpTw2NQY/ly+SIcNy6kHSPoBt0e+AyA+tFXIyi7dslTHYIamuZHkNW1BFWUSUxMxPPPP489e/bg3Xffxcsvv4zt27fjn//8J+JUgycyTvMRoKbjTbEjqHG85TiONR0DAOSls/wUERERERmLQQ2yLJafkqfdPv8Q+2qofhr9M1uc2R7q6FEjlJbKQ4o7ojk9XnpJXi8EMHWqvJ2CYqbyU+HO1LBK+amkJOe8BJuVFtGgRgT6aQDONevPP5e7/umnO1spBCIuDjjzTHk+3CWoVIPs5GT5pzz9dBlIycqSSWevviqDxyq68JPhWwMrjRQilamxZYuHFg6q9NT06SE9hmrQ7SrYLBSv5acA974aehFC10wNwBm07LZZ+CefyLSeKGC32/HHP/4RkydPxumnn46nn34aP/zhDzF79mycpNPflXRQ1XEQS9poIDkLAHCgVu5P6UnpSEsK05EHRERERER+YlCDLCvWG4X7/fxnzJA1LjZtCmrBXwU1zkrZIAt/9+0LjBoV8HZ0U10ty9t40tQkb6egmKn8VLh7alil/BQQ+ntdxIIaQjgjA2HspwF0LRsYyqJ/JPpquDbIbm6W76t2u4z9bNnSKcnMtQ5UsDXHgjBypPyoOHrU+b4PQM6ryhQIMaihGnQnJ8vLSUnBZ6H4DICGI1OjslK+QdlswNChumyy2/ej8eNl1KuhIegSkmbz+9//Hvfccw969uyJAQMG4Mknn8Stt95q9LCos4pP5Wn2eY6rWHqKiIiIiMyEQQ2yLNdMjS5HlfohJnpqAPIPVVgozweRraHWLye1dhy1N3lyWMvKkHFirfyUp/eNtjaX7CQTZGoAzqO5TR/U2L8fKC+XDXhOOy3EB/Ptu+/cL6vXbjBUUkk4gxqdG2QD8nJDg1yzdjNsmPwbNjTo3xPCh5QU51q9W7PwzZtlTbaUFF1KDxYVATk5zscMNiAV8fJTKksjP19GY3TQbVDDZnNma0RJCar/9//+H5555hl88MEHePPNN/HOO+/glVdegT2CATzyA/tpEBEREZHJMahBlqUW9dvaAl+Era93LvRFfVADCKkElVrgHVf7uTxjZOkpCqtYKj/V2uo54aeiQi48x8V5WGw2iGUyNVRUYMIEuVodJiUlwE03uV/3q1/J64MxaZJcOy4t1b8FgxJQg+yyMrlwDgBvvSWbb6xfH5HSeh77aqjSUz/4gTPFIkTHZFl+1NQAjY2B/74Q3byuw1F+SufSU4Dz/Uj9PTyKsr4apaWl+NGPfuS4PHXqVGiahsMqRY6M11oHHNsgzzOoQUREREQmxaAGWVZqqnN9JdC+GipLIy0tfIun4RZUUGPFioBXkOT6pcDQwyZpEk5hEwvlp3r2lAvYgOejo9W6Wk6O835Gs0xQw7VJeBiprAdXmgYsXBjc9nr1klV+gPBlawwa1PU6jw2yS0vllbt3y8tz5wITJ8qfkSPDHthw7avhoFM/DaW93b2nTVlZ4Ns4ccJZmSvimRrDh+u2SX/K4WHqVHn6zTfBNxEzkba2NiR3Co4lJCSgtbXVoBFRF1VfAsIO9BwGpDqP/CmtY1CDiIiIiMwj3ugBEIWib18ZoDhyBBg82P/fs3rpKSDAhc5x4+SRqwcOyIajKsjhh8pKYCR2ILXxiDz6esKE4AZMphcL5ac0TZagOnZMLiR27puhFljNUnoKsFBQI0JNwgPKevDT5MnAhg3yKVx+eWjj82TwYPfxqVJUXRpk+9MzKD98C4pdMjUaG2U3dsCZMRAi9XpUDh+WFbcCoYKfmubMMHPjmqkhhD4lE8OYqeEzqDFggIw2bdkiD0z4wQ90e3wjCCHw85//HEkuJbyamppw8803o4fLZJYEm3pFoavsWnoKcDYKz0vLi/SIiIiIiIi6MMlxqETBCXaxz+pNwoEAn7umBV2CqqICOAcdi1qTJgGJiQH9vu4yM72XQElOlrdTUMwQ1PBZJ18naiHR9WhxRWVqMKjhga+gRl2d7IINhD2oMWKE50yNLlkPAQhns/CqKuDTjp67w4bJt6mCguAbZIeTa6aGEJADb26WQYJRo3R5jM6lloKpOqRe066ZV27UEQsNDZ539GAYFdQAHAEl7aOPdHtso1x77bXIzs5Genq64+fqq69G//793a4jA1V2bRIOsPwUEREREZkLMzXI0lybhQciGjI11HM/etTPA1Evugh47jkZ1AjgyNXKSuBsmKj0VH6+POS5uhp2ux1Hjx5Fnz59YLPZZEAjjEcxRzsz9dQIV6YG4HshUWVqdM7gMJJeQY2QA0WuQY3OqRJr1sh6QIMHhz0iVFwMzJrlzHbwmvUQABXU+PZb+foPpfF4Z88+K5MsTjsN+PprfZIGwmXkSDm+I0dkMCbbtfSUTgPvHNQIpvxUt8HP1FT5IXnkiMzWUDt9sIQAdu2S540Kavz5z8Dy5cCDD+r2+Eb4+9//bvQQyJe2RuDIWnneJVPDLuw4UCczNRjUICIiIiIzYKYGWRozNWTDY796IJx/vjxEuLQU2LzZr8ew2+XClqmCGoAMXEyYAEyYgLaCAsd5BjRCY3RPDbvdGVAJZ6aGOgjYV08NM2Zq+Gwm7IPumRpNTc5VZUX101DRgTAqKgLeeENmO+iV9ZCXJ3/a22XgQS9NTcBTT8nzd9xh7oAGIGMBQ4fK81u2QPd+GoA+mRp+9d7Rs69GWZl8Y7TZgCFDQt9eB7+DGueeCyQmQistRZzqt0IUDtWrAdEGpA4Eegx2XF3ZUImW9hbYNBv69zLRByQRERERxSwGNcjSYjlTIyUFUCWp/QrqpKbKwAbgdwmqo0eB7PbDGIY9EDYbUFgY3GDJEowuP+X6uJHI1IiF8lNC6BjUSE11vkg6l6CKUD8NpagI2LhRNozeuFGfMk7hKEH1z3/KwHB+PvDTn+q33XBSfTVKvygFtm+XC/lTpui2fT3LT/kMfrr21QiVKj01eLCuJRj9DmpUVzu62af8+9/A+vXyJ8yN4ykGuZaeconCqn4auT1zkRCXYMTIiIiIiIjcMKhBlhZsUEMduGnloIamBbHYGWBfjYoKZ5aGNn58eFeayXBGl59SC5UJCc6AXTjEUvmpEydk9gGg0+7rqa9GezuwerU8H4FMjXBR8Ri9ghp2O/CnP8nzv/41EO9PwU8T9AxSfTXiVnwoz0yaBPTurdv2O+93oWRq+Axq6JmpEYZ+GoCfQY3SUlkXbK0sCdTzmWdgO/10YOJEeT0DG6QnL03C2U+DiIiIiMyGQQ2ytGAX+1SmhpXLTwHO5+93UEcFNb76yq9fMl0/DQoro8tPuR59Hc4yPar8VCxkaqi/qaY5g1Yh8RTU2LJFrjL36gWMHavDgxhDxWNWrXIGgkLx3nuy/U96OnD99X7+kuoZtG6d/PnoI5khA8gISQRK7KlMjYFb9C89BTgzNdRTCSVTw2egLhyZGkYENaqrZR0zT5qa5O1EemhvBo50BKizGNQgIiIiInNjUIMsLZhMjZYWuVgPWDtTAwhisXPQILnoaLc7a6X7UFEBnIPP5YVzzglukGQZRpef8qtOvg68LSS2tTnfG8wa1Ojcn7s7roEimx6f+Cqoof5QgDO14cwzgbg4HR7EGAUFMvBTV9fRTyJEKkvjF78IsEeMS88gTJkC3HWXvP7Pf5ZNlMJszBggDm045chH8oowBTVU8MQSmRphaBIOuL8XBbpvE+mmoRQ4uh7Y+zLQ3gQk9gbaGuT1HRjUICIiIiKzYVCDLC2YI5jLyuTiQWJiRCp5hFVQR3AHUIKqZn8tCvCdvGDhsjLkH7OUnzIqqFFRId8b4uPN9d6g9vPW1sCzaHT/m3YENTTXTA3VJDxC/TTCJT5exmWA0EtQrV0LfPqp3OavfhXiwObNA7Ky5ML6Cy+EuLHujR4NnIG1yBA1sKdnAKedpuv2VVBDlbmqrw/8PcevAKiFMjXa2oDGRl03TeSfhlLgnZHAsonA1zfI61qOAR+cJq/vCGwcqJP7UV5anlEjJSIiIiJyw6AGWVowmRqq9FT//joduWygoIIaP/6xPP3vf+VKig8pG1chDnZUpQ0116HrFBZGl5/y6+hrHXgrP6WOGM/JMdd7Q2qqszdxoCWowhXUcCs/pSIAURD41KtZuMrSuPJKHTICe/YE7rtPnl+wIOw7aGoqcHmGzOSrPmWqn81A/Odafkq956heNv7yq1G4a6ZGKGkQdnvYMjVcEyZPPx0oKdF180Tda64G7F7Km9mb5O1gpgYRERERmY+Jlm2IAhdMUENVorB6Pw0gyKDGmWfKpq/Hjjmb+3qRuV320zg8lKWnYoFaYGxujkiVmy6MztRQQQ0zNQkHZD+MYPtq6F7Sq3NQo6wM2LtXDnLSJJ0exDhq7fuVV4Dx44NbZN63D3j9dXl+3jydBvaLXwBDhgDl5cBf/qLTRr2bDrnavmWAvqWnAOd+17u3M1YeaAmqgMpPNTR007SiG4cPAydOyODO4MHBb6eTkhLgpz91Xt6+HZg1i4ENMicGNYiIiIjIbBjUIEtTC33HjsmDKf2hMjWs3k8DCHKhMz4emDFDnu+mBFX+ARnUqBnLJuGxQAU1AGOyNYwOaqijxc2YlBRsUCNsmRqqp4YqPTVuXPgnLsxKSoAHH3Re3rQpuEXmJ5+UjcYvuEAGRnSRmOgc3B//GFzXeH8dO4YRtV8DAD6K0z+ooTI1MjJCD2r4fMmlpDiPfAilr4YqPTV4sK5ZKwsWyFigIoS8vHBhpztmZgLJyZ43kpxsrlp5FJWa2ppQ0SAD2QxqEBEREZFZMKhBlqYW+oTw/0BMtbYRs0ENwFmC6t13vd+nuRknHV0DAGidxKBGLEhMdK7ZGdFXwyzlpxjU8KFTpoa2apW8HAWlp/xeZPbh2DHg+efl+Tvv1Hd8mDNHRklqa4FFi3TeuIsVK2ATdmzFaHx1QP/6+SqoEUqmhl/lpwB9+mqEqZ/Gzp1dq2IJAezY0emO+fnyynXrYF+7FtUffAD72rXAunXy+nwuMlN4HayT/zinxKegT0ofg0dDRERERCQxqEGWlpjoPLrc38U+lakRDeWn1EGoAQc1ZsyQTQM2bwZKSz3fZ/16JIsmVCETqaeODGmcZB1G9tUwOlPDrOWnAPMGNaKlSTgQwCKzD3/7m9x3xo2TmRq6stmcwYy//lWfBtiedDR6+ADTsWWL/pt3DWqofS0s5acA974awQpTUGPECPcgGiAvj/T0cZufD0yYAEyYgLaCAsd5BjQoEg7Uyvea/PR8aJ1ftEREREREBmFQgywv0L4aMV9+Sv1iYaE8760E1Rey9NQXOBv9cvglNlaooIYRmRp+H30dIpWp0dDg3jvEzOWneveWp2YJamgNDdCOHgXWr5fXR0GmhqdFZkC+XfrTZ7qlxdnu4o47PG8rZDNmAOeeKxvfPPCA/tsXwi2oUVUFVFXpu3k9emr4/bo2cVCjuNhzEK24WNeHIfItKROweSlvZksGkjLZT4OIiIiITIlBDbK8QIMaMd8oXLnoInnqJajRtvJzADKokZ0dxPbJknr0kKdGlp8Kd6aGCmoAzsVRgOWn/NKzp+xVACDpo4+gtbYCOTm6NlA2ilpk7hyMOHwYuOEGGUfwZckSed/+/WWlqLDQNNlTAwBeegnYtk3f7W/fLjNAkpKwP/9cAMDWrfpt/vhx2W8EiECjcMDU5aeKioA33nAeYJGeLvu3zJyp68MQ+dYjH7h4BzBjXdefi3cAPfIZ1CAiIiIiU2JQgywvkMU+u925eBLTmRqAs6/GihVAY6P7bXY7tK++BACsTTrHrYE0RbdYKD8VH+98nq4lqFh+yg+a5sjWSH7/fXnd5MlhSkuILLXIXFAg+y+PHw/8/Oey6tOLLwLnnw+Ul3v+XSGAxx6T53/5S1kaMWzOPBO49FL5gfa73+m77Y4sDZxzDoaNSwWgb1BDlZ5KTJR/YxXUUFlS/vI7ABpqpobdDuzeLc/rHNQA5Gvuqafk+ZEjGdAgg/TIB/pM6PrTQwYxVFAjL03/HjtERERERMFiUIMsL5BMjepqWSIEMOfCZaDUQmdTU9e4RLfGjpVHsTY1AZ984n7b9u2IqzmKBqTicL9To2G9kvwUC+WnAGe2hgpqtLY6y+wwU6MbHUGNpE8/lZejoJ+GUlQEbNwInDghT//+d+D99+Xr5auvgNNPl/2ZO1u+HNi0SWY6/eIXERjoH/4goy1LlwKrV+u3XRXUmD4dY8bIs3r21XDtp6Fp7pka/pT4AuT9ItYo/MABmaKTkBC2/hV6VMgiCqcDdc6eGkREREREZsGgBlleIIt9qp9Gv35hPpI2Qnr2lEedA0Fka2ia9xJUn8vSU6txJvrmJIQ2SLKUWCg/BTibhdfWytOKCrlYGh8PZGaG//EDZcaghtbUJC9HQT8NX6ZPB77+Wh5Jf/AgcPbZstSUqz/9SZ7ecIOz/0lYjR4t00gA4O67/Y8I+NLUBKhA1fTpOPlkeTYcmRrqb6QOLmhocO7/3WluBtra5PmAGoUH8zdSpaeGDnV+2OpMDbGszL3HD5FZsPwUEREREZkRgxpkeYFkaqgjIaOh9BQg4xK6lKB69133BR+XJuHspxFbYqH8FOAMaqhMDVV6KidHHgBvNmYMagCASEoCTj1Vx42b04gRwJo1wI9+JNf+58wB5s+X/SG++w748EP5upk7N4KDeuABIClJBiKWLQt9e198IVNU+vcHxo5FRYW8+pNPZCmukpLQH8K1STggg6gqa8rfvhqufXC6LY2oIgYNDe615vy1a5c8DUPpKSU7WyaCCBF4GS6icBNCMKhBRERERKZkwqUbosCooEYgmRrR0CRcCSmo8cMfysLmBw4Amzc7r3cJarisX1IMMLL8lN/Nf3XQufyUWkw0Y+kpwLmfqyPd/aV7UKO0VPYZUEaPlu8dpaU6PYB5pacDb78N3HWXvPzww8AZZwDnyn7a6NUL2LAhggPKywNuu02enz/ffV6CoUpPTZuGkqWa43kCsrTWrFmhBzbU61cFFQFntoa/QQ31PtGjBxAX182dU1Kc/yQEU98pTE3CXdlszgMtWIKKzOZY0zE0tMqjHAamRdE/z0RERERkeQxqkOWpxT5/MjVUUCNaMjWAEIMaqamy+y3gLEF18CCwbx/atTisxpnM1IgxZuipYUT5KbWgavaghqGZGqWlsgbTCy84rtI2bgQmTpTXx0BgIy5OBjNeflkeXb9+vfM1VFenz8J/QObPl5P77bdda2IFyqWfxoIF7r3fhZCXFy4M7SE6l58C3Ptq+CPg4GcofTUiENQA2FeDzOtArdxvslKzkJKQYvBoiIiIiIicGNQgywum/BQzNVy4lqACHFka+zJOwXH0YlAjxhjVU6OtTVa+ASKTqeGt/JQ6atxs1H7e2CjLH/lL16BGdbX3B29qkrfHiKuuAgYNcr9Or4X/gPTt60wdue8+oKUluO0cPizTMTQNuOAC7NzZtQWFEMCOHaENV4+gRsCv6VAiBhEOagTbz5ykp59+GoMHD0ZycjImTZqEr7/+2ut9t2zZglmzZmHw4MHQNA1PPPFEl/s88MAD0DTN7WfUqFFhfAbmw9JTRERERGRWDGqQ5QXTKJyZGi5Us/BVq2RkqCOosSH1bABg+akYY1RPDdcmwSw/1VVamrPXh78lqFpanDGISGS/xBpPa+R6LPwHbO5c2Qxmzx7gb38LbhsffihPTzsN6NsXI0a4Z2oA8vLIkaEN1VdQw99+EhHL1Ghvl39TABg+PLDfDZAaIjM1gvef//wH8+bNQ3FxMdavX4/x48dj+vTpqKys9Hj/xsZGDB06FA8//DBycnK8bvfkk09GWVmZ4+eLjv+RYgWDGkRERERkVgxqkOXFcqNwQIegRn4+MHasrMf+wQfA558DAL7QzgEAZmrEGKPKT6mjr5OTgcTE8D+e1cpP2WzOhWB/9/VIB4piTbgW/gPWowdQXCzPP/hgcDuvSz8NQG7ONVND0+Rl9TDB6twoHAi+/FTYMzVKS2VkMDHRGXUIE5afCt3jjz+OG2+8Eddddx3GjBmD5557DqmpqXjxxRc93v/000/Ho48+iiuuuAJJSUletxsfH4+cnBzHT2ZmZriegikxqEFEREREZhVv9ACIQqWCGnV1QGurrHPuTTQ2Cg+kUbpXP/6xbPb7yiuyBAmADxsmA2CmRqwxqvyUCmpEavHdauWnABnAPHLE/31d/U1TUoB4ftrrrrhY9tBQC/56LfwH5frrgT/9Cdi1C3j8ceD++/3/3fZ2YPlyeX76dABAURHwxhvAzTcDVVXyc+ZvfwNmzgxtmJ4ahQdbfirsmRqq9NSwYX50JA8Ny0+FpqWlBevWrcP8+fMd19lsNkydOhWrVq0Kadvff/89+vfvj+TkZBQWFmLRokXIz/e8wN/c3Izm5mbH5bqOF6vdbofdbg9pHK7sdjuEELpu05v9tfsBAAN7DYzI40W7SM4d6YtzZ22cP+vi3FkX5866zDB3/j42lznI8jIynItJx455zyyor3cuhjBTo5PTTpOn778PABADByL54GHkoQXZ2Tw6L5YYXX4qUmWSrFZ+Cgh8X49k4/VYpBb+Fy6UJadGjpQBjVAX/oOSkAA89BBwxRXAY48Bt9wCZGX597vr18toWa9ewJlnOq4uKpLVl37zG2DGDH2elyGNwoNNg4hQPw2A5adCVV1djfb2dvTrdBRGv379sH379qC3O2nSJLz00ksYOXIkysrKsGDBApxzzjnYvHkzenl4AS5atAgLFizocn1VVRWaAmmG1A273Y7a2loIIWCzhTfpfs8RWYItHeleS3mR/yI5d6Qvzp21cf6si3NnXZw76zLD3NW7lp3wgUENsry4OBnYOHZMrst4C2qoLI20tOgqxRJyUKO0FLj6arertIMHsR4TcQLJSGzYAYCBjVhhdPmpSC3Au5afam0F1FoNgxo+ZGbK+mCeFueSk+XtMaaoSP6YwmWXAY88IoMUf/gD8Oc/+/d7qp/GlCldUh3VlOrVA95TUENlRx0+7Mx48SXg17VrpoY/D6BEMKih4i5lZUBbGzOrzOLCCy90nC8oKMCkSZMwaNAgvPrqq7j++uu73H/+/PmYN2+e43JdXR3y8vKQlZWFNB0/3Ox2OzRNQ1ZWVti/aJY3lgMAxuaPRTbrkYYsknNH+uLcWRvnz7o4d9bFubMuM8xdcnKyX/fj1yaKCn36yMUSX4t90dgkHNAhqFFd7XmREkAKmoBj1cAQBjVihVHlpwI++jpEruWnyuWaDeLjneXczCjQfX3ZMnm6axcwfrzMIghpAT4/X6YkVFfDbrfj6NGj6NOnj/xHJzNT3k7GsdmAhx+WfTGeeQa4/XZg0KDuf0/10+goPeUqkkGNpia5P7re5knA7xXqQ7+x0b8HUCIY1MjOlu8/bW3y/SiaSmRGQmZmJuLi4lBRUeF2fUVFhc8m4IHKyMjAiBEjsGvXLo+3JyUleezPYbPZdP9CqGlaWLbrqs3ehkP18p/nwRmDuSChk0jMHYUH587aOH/WxbmzLs6ddRk9d/4+Ll9ZFBX8aRauyjpE22KBWuj0p1E6UXeMKj8V6UwN1/JTqvRUbq5cFzarQIIaJSXyYH1AHpy+aZPs/1BSEuIg8vOBCROACRPQVlDgOM+AhklccIHMuGhp8a+vRl0doHoORCCo4alReEqK87I/JagCLlWXkuJ8IoE0rYhgUCMuzpklxr4agUtMTMTEiROxYsUKx3V2ux0rVqxAYWGhbo9z/Phx7N69G7lmbr6ko8P1h2EXdiTYEtCvJxusEREREZG5mHj5hsh//jTLZqYGUfdirfxUXZ0z4Gnm0lOAc+HXn329c1l3VXVn4UL9x0Ums2iRPP3nP2U0y5ePP5bpASedBAwZ0uVmFQuoqgp9WCdOAKqHsmujcMC576kAoy8BNwoHAu+r0dYG7N0rz0cgqAGwr0ao5s2bh+effx7/+Mc/sG3bNtxyyy1oaGjAddddBwC45ppr3BqJt7S0YOPGjdi4cSNaWlpw6NAhbNy40S0L484778Snn36Kffv24auvvsLMmTMRFxeHOXPmRPz5GeFArYywDUwbCJvGr4xEREREZC78D5Wigj/ZCmqhIFqDGo2NXqtIEfnNqKCGUeWn7HbnAdlmP/g2kACmp964QsjqURTlTj8d+OlP5YTfc4/v+/ooPQU4e403NMigRChU6am4uK77eSDNwoN6rwg0qLFvnwxsJCdH7J+GYPuZk3T55Zfjsccew/33349TTjkFGzduxLJlyxzNw0tLS1HmEjU7fPgwTj31VJx66qkoKyvDY489hlNPPRU33HCD4z4HDx7EnDlzMHLkSMyePRt9+/bF6tWrkaV2jChXWlsKAMhPZyYeEREREZkPe2pQVPCn/JTK1Ii28lNpabJkjt0uF43MvjBL5qZ6arS2ygo2iYmRedxIZ2okJ8vn1tICbNsmrzN7poa/QY09e4D29q7XaxowcqT+4yIT+v3vgaVLgXffBb74Ajj77K73EcIZ1Jg2zeNm0tKcvR6OHAnt81MFNTIyuvbqDiaoEdB7hWuzcH+oo/WHD49YTToGNUJ322234bbbbvN428qVK90uDx48GEIIn9tbsmSJXkOzJAY1iIiIiMjMmKlBUcGfxb5ozdSw2QIrS9NFZqZc4fWgLT7ZWX+EYoIKagCR7asRVEmZEKlsja1b5Wk0BDVqaoCLLnIGNdTisabJNezi4rAOkcxixAjg+uvl+bvvlpPf2a5dssRSQgLwwx963Iym6ddXw1OTcCWQoEZEyk9FsJ+GoobInhpkFiqokZeWZ/BIiIiIiIi6YlCDokIsZ2oAIfbVyM+XNWnWrXP8/PKsdZiAdXjjDzvYADjGJCY6szMiWYIqqKOvQ6SCGipTw+xZTt3t562twGWXydJTAwcCzz8PFBTImGVBgWwSPnNm5MZLBisulk2yv/xSZmx0tny5PJ082Vl3zgO9ghqqSXjnfhqAc98LW/mpQDM1DAhqsKcGmc2BOrm/MFODiIiIiMyI5acoKnTXKLylBaislOejLVMD0KFZeH6+W/BiVTOwAUCP0SEPjSyoRw+5z0QyqBHp8lMAkJ4uT9XztHKmhhDAL38JfPSRnL933gFOOQVwKQ9PsaZ/f2DuXODhh4H584Ef/Ug2tOigddNPQzFrpkZA7xXBZmoMHx7Ag4SG5afIbFh+ioiIiIjMjJkaFBW6axReViYX/RISorOaUndBnUBVVMjTjv6aFGPUQduxUn5KsUpQo65OZmW4euIJYPFiWS7o3/+WAQ0i/Pa38oW+ZQvw8svO61taANVjwM+gRlVVaEPRK6gRcqZGN30UABhafurwYc89cYgijUENIiIiIjIzBjUoKnRXfkqVnhowIGI9PyMq5EwNF0I4s1qys0PfHlmPCmrESvkpxezlp1wXg1UpH0BmZdxxhzz/2GPAxRdHdFhkZr17yywNALj/fqC5GQCQ+M030I4fl2/y48f73ERWljyNRKaGOgDBm+ZmGY8BAnyvUCmajY3uO48nra3Avn3yfASDGjk5MpGmvR0oL4/YwxJ5VN9cj2NNcqfNS2dPDSIiIiIynyhc3qVY1N2ifrQ2CVf0DGrU1joXjRjUiE2qWXislJ8CZBaXCo6aVXy88++jFog3bgTmzJELwTfdBPz614YNj8zql7+UH36lpcCzzwIAEj/5RN42bVq3kf5IlJ/KyZGnLS2+P8dU8BPw2Qakq5QU5xPprq/G3r0yspCaGtH0rbg458OxBBUZTfXTSE9KR1pSBD+YiYiIiIj8xKAGRQW1GNnYCDQ1db09mpuEA/oGNVSWRq9ech2IYo8R5aeCKikTItdMjdxca2Rxue7rZWUyK6OhAZg6FXjqKVl+ishNSgrwwAPy/O9/D9TVIcnP0lNAZBqFJyU5H8dXCSr1PpGSIoN8AfG3aYVrP40I71Dsq0FmcaCWTcKJiIiIyNwssIRD1L20NGf/U08L+7GSqeGt/FYg2E+DjCg/ZUSmRueghhWoff3gQeAnP5Gno0YBr70ms02IPPr5z4Fhw4DqamjXX4+EzZvl9f36yQwOHyKRqQH411cjpDJ1rn01fDGgn4bCoAaZBftpEBEREZHZMahBUUHTfC/sM1PDf+ynQZEOarjWyY9kpoZr+SmzNwkHgJISYOdOeX7OHOCbb2SW2rvvej76ncjh8GFH8EIrKXFeP20aMHKkz8BGJBqFA87Aoq+ghgp+BvU+EWimhgFBDX/jLkThxqAGEREREZkdgxoUNXw1C3dtFB6N9AxqqEwNBjViV6R7arjWyTeq/JTZgxolJcCsWc45aWuTp7/+tTwAn8in6mrZANuTpiafaRhmzNQI6n2CmRpEfiutk0GNvDQ2CSciIiIic2JQg6KGCmrEcvkpPTM1WH4qdkW6p4Y6+rpHD2cZuUiwUvmpBQu6lvfXNFl2iiicsrLkaXW1bEgfLD2CGiGVqbNApgaDGmQW7KlBRERERGbHoAZFDW/lp+x25yIJy091j5kaFOnyUyGVlAmBlcpP7dzZdUFZCGDHDmPGQ7FDHTDQ2uqeVRUoX43CAZNkajQ3O0txMahBMYzlp4iIiIjI7BjUoKjhLVOjutpZr9/sR2MHSwU16uu9VxjxFzM1yKjyU5FsEg7InhTKgw/KEk9mNWKE50yNkSONGQ/FjtRU+QMEX4KqtdWZ+dVdpkZZmffthPRe4Rox8JZysnevPBKiZ09DPgRV3OXQIaC9PeIPTwQAsAs7DtQxU4OIiIiIzI1BDYoa3jI1VD+Nfv2AxMTIjilSMjKcC56qxEew2CicjCo/FcmgRkkJMG+e8/K+fbJnhVkDG8XFch1W7eeaJi8XFxs7LooNofbVcP1ccs2QchVI+amQGoU3Nnr/oFSlp4YP7xpFjICcHMBmkz1z1GcxUaRVNlSipb0FGjT072XyNEYiIiIiilkMalDU8NYoPNr7aQCyD4Eq6RFqCSpVfoqZGrEr0uWnQiopE6TOPSpUwGDhwsiNIRBFRcAbbwAFBUBysjwtKQFmzjR6ZGQJmZnyheNJcrIzauHj1wGgqiq4h1cxhPR0731zXDM17HbP9wnpvcL1eXqr72RgPw0AiI93ZpSyBBUZRfXT6N+rPxLiEgweDRERERGRZ/FGD4BIL97KT6lMjWgOagAyU+XYsdCDGszUoEiXnzIiU8OKPSqKiuQPUcDy8+WLu7oadrsdR48eRZ8+fWCz2eRCf77vEjOuzcKD0V0/DUAG0jVNZilUV3v+DAr5vSIvT2784EEZGezM4KAGIBNKDh2SrT9OP92wYVAMYz8NIiIiIrICZmpQ1Oiu/FS0NglX9GgW3tQE1NbK88zUiF2RLj9lRE8N9qigmJOfD0yYAEyYgLaCAsf57gIagH7lp7z10wCAhARn8MRbCaqQs7rUPwLemoWbIKih+mowU4OMwqAGEREREVkBgxoUNbxlasRC+SlAn6CGKi0SH+/7iFqKbpEvPyWjC5EsP8UeFUT+i0RQA+i+r4ZuQQ2Tlp8Cuh8iUbipoEZeWp7BIyEiIiIi8o5BDYoazNSQp6EENVQ/jexsQ3qkkklEOqhhRPkp9qgg8p9Zghq6lJ8CPGdqNDU5r2dQg2JYaR0zNYiIiIjI/NhTg6KGa6Nw1yOwYy1To3NQJxCqnwZLT8U2o3pqRDJTA2CPCiJ/RTqoUVbm+fawZmrs3i3/eUhLc9bBMkB3FbKIwk01CmdQg4iIiIjMjJkaFDVUUKO11b0XADM1/OeaqUGxy7WnRudm2uFgRE8NIvKfCmqoEoWB8qdROOB/+amwZGq4lp4yMFWRPTXIaOypQURERERWwKAGRY2UFCApSZ5X2Qr19c6jwGMlUyOUoAYzNQhwBjXa2oCWlvA/nhHlp4jIfypxwSzlp3TJ1OgcsTVBPw3AOcRDhwC73dChUAxqamtCRYM8wiUvnT01iIiIiMi8GNSgqKFpXZuFqyyNXr0iX9om0pipQXpR5aeAyJSgCrmkDBGFlVl6auhWfqqx0TkoxSRBjdxc+f9Ma2vwmTFEwTpYJ1OEUuJT0Delr8GjISIiIiLyjkENiiqd+0rESukpgJkapJ/4eGfWk2spt3Bh+Skic1NBjaNHgfb2wH/f36BGbq489RTUaG2VvbyBEN4rkpOdT6ZzfSeTBDUSEpx/B/bVoEhz7aehGViGjYiIiIioOwxqUFRxbRYOxE6TcICZGqQvVYIqEpkaLD9FZG7q80WIrgkO/gg0U6O8vGvwRAU/gRCzurz11di1S54aHNQAfPczJwon9tMgIiIiIqtgUIOiirfyU7GQqdH5uQeDmRqkqBJULD9FRAkJzibfwZSg8rdReHY2YLPJXhLq80hR7xPJyXI8QfMUMWhsdF4ePjyEjeuDQQ0yigpq5KWxnwYRERERmRuDGhRVOpefisVMjZqa4MqDlJQAW7fK87/8pbxMsUtlaoS7/JQQzNQgsgJVtSmYPg/+ZmrExzuD6mVl7reF3CRc8ZSpsXu3PM3IcB4hYCAGNcgozNQgIiIiIqtgUIOiirdMjVgIarguFqmjYv1VUgLMmgW0tcnLu3bJywxsxK5IlZ86cQJob5d1u5mpQWReWVnyNNBMjfZ2oLZWnu8uqAF4bxauW0aXp4iBaz8NE/QR8FYhiyjcDtQ5e2oQEREREZkZgxoUVbxlasRC+an4eOeR7oGWoFqwwH0dRwh5eeFC/cZH1hKp8lMNDfJjSNOcj0lE5qMyNQINaqiABtB9+Smg+6BGyBldniIGJmkSrjBTg4zCTA0iIiIisgoGNSiqdG4UHkuZGkDwzcJ37pSBDFdCADt26DMusp5IZWrU1zuzNGz8RCIyrWCDGqr0VGoqkJjY/f29BTV0Kz/VXaaGCTCoQUYQQjCoQURERESWYZolpIcffhiapuH222/3eb+amhrceuutyM3NRVJSEkaMGIH3338/MoMk03MtP9XS4mw0GguZGkDXTBV/jRjRteKGpgEjR+ozLrKeSPXUcA1qEJF5BRvUUOUQ/Sk9BQC5ufI0bOWnXDM1VDTfxEGNzgccEIXLsaZjaGiVH/oD02LkH2ciIiIisqx4owcAAGvXrsXixYtRUFDg834tLS244IILkJ2djddffx0DBgzA/v37keFPPQOKCa6L+mVlcjEgIcG5GBPtgs3UKC6WPTQUTZN/u+Ji/cZG1hKpTA1VfopNwonMLdRMDX+DGt1laoT8XqFSN0+ckIPr08d0QY3+/eXncEuLbMyenW30iCgWqCyNrNQspCSkGDwaIiIiIiLfDM/UOH78OK666io8//zz6N3NN94XX3wRR48exZtvvonJkydj8ODBOO+88zB+/PgIjZbMzjVTw7X0VKyUtQk2qFFUBKjdKD4eKCiQTcJnztR3fGQdkeqpoTI1GNQgMjfVKLyqKrDf0yuooVumRnKy88kcPCjf5MrK5GWTBDUSE4F+/eR5lqCiSDlQyybhRERERGQdhmdq3HrrrbjoooswdepUPPTQQz7v+/bbb6OwsBC33nor3nrrLWRlZeHKK6/EXXfdhbi4OI+/09zcjObmZsfluo5D/ex2O+x2u27Pw263Qwih6zYpcDJpx4ajRwX27xcAbBgwQMBu916/IZrmrndvDYCGI0d8P2dPqqrk737yiR1nnSWvM/ufJJrmzmx69JCvh+PHA38t+ctutzuCGj17hu9xSH/c96wr2LmTQXMbqqsD21dlOUQbMjL8+72cHHn/sjL3+9fVyfekXr1Cf6/QBg6EVlUF+/79QFsbbABE374Q6emm+eAbOFBDebmG0lI7TjlFXmeG/Y77fPRiPw0iIiIishJDgxpLlizB+vXrsXbtWr/uv2fPHnz88ce46qqr8P7772PXrl343//9X7S2tqLYS52cRYsWYcGCBV2ur6qqQlNTU0jjd2W321FbWwshBGyxkhZgQu3tAJADu13D2rUNAHqib98mVFbWev2daJq7pKSeAHri0KFGVFbW+/17tbUaDh+Wh4VmZVWhstIai8vRNHfm0wNAL1RXn0BlZV1YHsFut3cE0zKQlNSMysqasDwO6Y/7nnUFO3dxcQkA+qKioh2Vlf7XoDp4UL6XJCf7/ixWEhNtALJRUQEcPlyJ+I7/VCsq0gCkwmY7jsrK0Jr9ZGRlIRlA/bZtsJeXozeA1sGDcVQ14jKBzMwMAMnYtu04zjyzEYA59rv6ev//tyBrUUGNvLQ8g0dCRERERNQ9w4IaBw4cwNy5c7F8+XIkJyf79Tt2ux3Z2dn429/+hri4OEycOBGHDh3Co48+6jWoMX/+fMybN89xua6uDnl5ecjKykKajvVO7HY7NE1DVlYWF3gM1rOnwPHjGnbvlvVzhg1LRnZ2ktf7R9Pcqf6nJ06kIjvb/3rIqpz4wIECJ52UFYaRhUc0zZ3ZqNInbW0pyM727z06UHa7HW1tcrEuMzMJ2Swcbxnc96wr2LlTlZmOHYsLaF9ta5PZWLm5vj+LlcxMIC5OoL1dgxDZjn4Sajs5OT2Qnd3D78f3RBs2DACQVlsL0doKAEgYPdpU70HDh8vnW1vbC9nZssmRGfY7f/9nJ2sp2VaCxesWAwBe2/oazht8HopGFxk8KiIiIiIi7wwLaqxbtw6VlZWYMGGC47r29nZ89tlneOqpp9Dc3NylpFRubi4SEhLcrh89ejTKy8vR0tKCxMTELo+TlJSEpKSuX6JtNpvuXwg1TQvLdikwffrIEtmbN8sFgYEDNdhsms/fiZa5U41cjx3r/jm72rZNnp58cmC/ZwbRMndmo+rWNzb6/5ooKQEWLAB27gRGjJCN5ou6WRNRjcLT06332ot13PesK5i5U+v99fUaWls1ePjXyqOaGnnap49/+7jNBuTmyl4S5eU2R7Be9fdJT7eF3ierY6PaoUPQOjamjRjhOG8G6nkfOuT+dzN6v+P+Hn1KtpVg1quzHJfLj5dj1quz8MbsNxjYICIiIiLTMuybyZQpU7Bp0yZs3LjR8XPaaafhqquuwsaNGz32yJg8eTJ27drlVs93586dyM3N9RjQoNikmoXv2SNPBw40biyRFmyj8C1b5OnJJ+s7HrKunvLAYL8bhZeUALNmAZs2AU1N8nTWLHm9L8ePs1E4kRWkpwPqX7Nq/6tPBdwoHJBBDcC9WXhHS7TQG4UDzojBgQPOVMXhw3XYsH7U/y5sFE7htuDTBdDgDJwJCGjQsPDThQaOioiIiIjIN8OCGr169cLYsWPdfnr06IG+ffti7NixAIBrrrkG8+fPd/zOLbfcgqNHj2Lu3LnYuXMn3nvvPfzhD3/ArbfeatTTIBNSC/vKgAHGjMMIDGqQXnp0VHfxN6ihWhcJ4TzVNGBhN2si9fXyY0iXhUoiChubzZkNGO6gRv/+8tQ1qKFaOejyXuEaMVBBDVVfyyRc4y5E4bSzeicE3HupCQjsOLLDoBEREREREXXP0Ebh3SktLXVLc8/Ly8MHH3yAX//61ygoKMCAAQMwd+5c3HXXXQaOksxGZWoozNToHoMa1FmgmRo7d3a9TghgRzdrIszUILKOzEygoiK4oEZGhv+/4ymooTI1dHmvUBGDvXuBjp4aZgtquMZdVJCYKBxGZI7ApopNboENDRpG9h1p4KiIiIiIiHwzVVBj5cqVPi8DQGFhIVavXh2ZAZEldQ5qqDIWsUAFNY4dA+x2+FV3/MgRoLxcnh8zJnxjI2tRQY2GBv/uP3gwsH27+3WaBozsZk2EQQ0i6wgmU0P11AgmU6OszHmdrpkaKoVTBTSysmR9LRNRf4PmZvk5rf72RHorPq/YraeGBg0CAsXnFRs4KiIiIiIi39jtj6KOa/mp7GwgltqtqEUju915VGt3VJZGfj5LAJFToJkahYVdrxNCNgv3pb5eBjX42iMyPzOUn9IlAJqcLAMZismyNAAgKcnZnJ19NSicikYX4Zdn/BIAYNNsKOhXgJLZJZg5eqbBIyMiIiIi8o5BDYo6rpkasVR6CpCLIKoXwpEj/v0OS0+RJ649NYTwfV8A2LPH/fcSE4E33gBmdrMmcvy4/BhipgaR+QUa1BAitEwNFdRoawMaG+V53QKgrv8gmDCoAbCvBkVOVqoM8v18/M+x8eaNDGgQERERkekxqEFRxzVTI5aahCuB9tVQQY2xY8MzHrImlalht8vyJ75UVwOffy7Pr10LpKYCLS0y+6c7LD9FZB0qqFFV5d/96+uB9nZ5PpSeGq4ZY7oFNVTEADBtUMO1rwZROO2v3Q8AGJQxyOCREBERERH5h0ENijqxnKkBBB/UYKYGuVIZF0D3JajefVcGP049FRg9Grj4Ynn9q692/zgqqMHyU0Tmpyo2+ZupobI0EhOBlBT/H0f1wqqqkgFSVXoqMVFmJIastNR9Q3FxwPr18noTYVCDIsUR1EhnUIOIiIiIrIFBDYo6rkENZmp0j0EN8iQuTpadB7oPaixdKk8vvVSeXnaZPH3tNd+lq+x2ZmoQWUmg5adc+2lomv+P07cvkJAgz5eXO3tE6RL8LC0FRo6Ub1DK/PnAxInyehMFNhjUoEjZX8NMDSIiIiKyFgY1KOp8843z/HPPASUlxo3FCIEENaqqnGVERo8O35jImlQJqoYG7/dpaAA+/FCeV0GNCy+UmR779rnvj55+VwhmahBZRShBjUDYbM5sjcOHnZkaurxPVFcDTU2eb2tqCqwLepixpwZFgl3YmalBRERERJbDoAZFlZIS4Fe/cl4+dAiYNSu2AhsqU8WfoIbK0hgyxL3cEBHgDGr4ytT48EO5DjhkCDBunLwuNdW/ElRqoTIuTgRUmoaIjBGpoAbg7KtRVubM1Ii1jC5malAkVByvQEt7C2yaDQPTYrBuKxERERFZEoMaFFUWLHAvcSGEvLxwoXFjirRAMjU2b5anLD1FnqhAl6+gxptvytNLL3Xf9/wpQeW6UBlIaRoiMoZrUMNXaTlFBTUCaRKuuDYL1zVTw0Jcgxr+/L1j3dNPP43BgwcjOTkZkyZNwtdff+31vlu2bMGsWbMwePBgaJqGJ554IuRtWpXK0ujfqz8S4hIMHg0RERERkX8Y1KCosnNn1y/+QgA7dhgzHiMEEtRgPw3ypbtMjbY24J135HlVekpRJaj27wfWrvX8+7rWySeisFONwpubu++1AzgbhYeSqeEa1Ii1TA3VF+zECWeAiDz7z3/+g3nz5qG4uBjr16/H+PHjMX36dFRWVnq8f2NjI4YOHYqHH34YOTk5umzTqhz9NFh6ioiIiIgshEENiiojRnQ94lvTZO/PWBFMUGPs2PCNh6yru54an38uF9oyM4HJk91vS0kBfvITed5bCapYXagksqrUVDhKxflTgkqP8lOHD8duADQ52RlIYl8N3x5//HHceOONuO666zBmzBg899xzSE1NxYsvvujx/qeffjoeffRRXHHFFUhKStJlm1bl6KfBJuFEREREZCHxRg+ASE/FxbKHhqY5S08JIa+PFf4GNYRgpgb51l2mxtKl8vQnPwHi4rrePns28O9/y6DGo492DTjGap18IivLzJQL7NXVspeOL6EENVwbhQ8fLs/rEtTIzJTRAk/NwpOTnTW2TGLgQKCqSpagUn2LyF1LSwvWrVuH+fPnO66z2WyYOnUqVq1aFbFtNjc3o7m52XG5ruNDzm63w263BzUOT+x2O4QQum1zX80+AEB+Wr6u46Su9J47ihzOnbVx/qyLc2ddnDvrMsPc+fvYDGpQVCkqAt54Q/bQ2LFDZmgUFwMzZxo9ssjxN6hRUSHvY7MBo0aFf1xkPb56agjh3k/Dk+nTZWDkwAFgzRrgzDPdb1dBDRU8ISLzcw1qdEfvTA1dAqD5+fIfBE9PIDNT3m4iAwcCGzawWbgv1dXVaG9vR79+/dyu79evH7Zv3x6xbS5atAgLFizocn1VVRWaPAXRgmS321FbWwshBGy20JPuv6/8HgDQx9Yn6kprmY3ec0eRw7mzNs6fdXHurItzZ11mmLt6VdajGwxqUNQpKpI/sUoFNY4c8X0/laUxdKiznAiRK1/lpzZskAubqanA1Kmef1+VoPrXv2TD8M5BDRUsYaYGkXW4Ngvvjmkbhefnmy544U1enjxl+Snzmz9/PubNm+e4XFdXh7y8PGRlZSFNxw86u90OTdOQlZWlyxfN8hPlAICxeWORnZ0d8vbIO73njiKHc2dtnD/r4txZF+fOuswwd8nJyX7dj0ENoijjmqmhSnB5wtJT1B1f5adUlsaMGb6DYrNnO4Majz4qM4OUWK2TT2RlgQQ19GgUfvSo87Fi8b1i4EB5ykwN7zIzMxEXF4eKigq36ysqKrw2AQ/HNpOSkjz257DZbLp/IdQ0TZftCiEcPTWG9B7CRYcI0GvuKPI4d9bG+bMuzp11ce6sy+i58/dx+coiijIqqNHe7jy61RMGNag7vspPdVd6Spk+XS5EqhJUrurrZcSNmRpE1qEaV1dVdX/fUMpP9e4NqPXhHTvkaSy+VzCo0b3ExERMnDgRK1ascFxnt9uxYsUKFBYWmmabZlTTVIP6FvnPYn66NbKXiIiIiIgABjWIok5Kiux1Cvjuq7F5szxlUIO88VZ+avduYNMm2Rz8xz/2vY3kZFmCCpANw12xUTiR9QRTfiqYoIamObM1du6Up8zUIG/mzZuH559/Hv/4xz+wbds23HLLLWhoaMB1110HALjmmmvcmn63tLRg48aN2LhxI1paWnDo0CFs3LgRu3bt8nub0UBlaWSlZiE1IdXg0RARERER+Y/lp4iiUJ8+sg750aPA4MFdbxeCmRrUPW/lp1SWxg9+4N9i5ezZwCuvAK+/DvzpT84SVM7yUwKAlzppRGQq/gY1hAitpwYggxp79wKqx3IsBkBde2oIYexYzOzyyy9HVVUV7r//fpSXl+OUU07BsmXLHI2+S0tL3dLYDx8+jFNPPdVx+bHHHsNjjz2G8847DytXrvRrm9Fgf40MagzKGGTwSIiIiIiIAsOgBlEU6tvXGdTw5PBhoLZWHmk/cmRkx0bW4a38lL+lp5Rp0+Ri5MGDwOrVwFlnyet1b/5LRGHnb1DjxAmgpUWeDyZTAwByc90vx+J7xYAB8rSx0dmjhDy77bbbcNttt3m8TQUqlMGDB0P4ESXytc1osK9mHwBgUDqDGkRERERkLSw/RRSFXJuFe6KyNIYPd5aqIurMU6ZGZSXw5Zfy/CWX+LcdbyWoVFAjFo++JrIqf4MaagE+Li74YIQqP6XEYlAjJUUeqACwBBXpT5WfYlCDiIiIiKyGQQ2iKORvUIOlp8gXTz013nlHlkCZONFZFsUfs2fL09deA+x2ed5Zfir0sRJRZPjbKNy19JQWZHW5zkGNWA2Asq8GhYsjqMHyU0RERERkMQxqEEUhBjVID54yNQItPaWoElSHDwOrVsnrmKlBZD0qU+PoUaC93fv9QmkSrjBTQ3Ltq0GkJ0dPDWZqEBEREZHFMKhBFIUY1CA9dO6pUV8PLF8uz8+cGdi2kpKcgRBVgkplajCoQWQdqhSS3e67x0OoTcIBZmooKlPj0KEgU16IvFCZGoMzBhs7ECIiIiKiADGoQRSFfAU1hGBQg/zTufzUBx8Azc2yF8uYMYFv77LL5KkqQcVG4UTWk5AApKfL8776auidqREfL4OjsYjlpygcGloaUN0od2KWnyIiIiIiq2FQgygK+QpqHDggF5Pj44ERIyI7LrIW1/JTQriXngqmRv4FF8jF0LIy4LPPgIYGuZFYPfqayKr8aRausjj0Cmr06hV8bw6rU+WnGNQgPZXWlgIA0pLSkJGcYexgiIiIiIgCxKAGURRSQY0jR7reprI0RowAEhMjNyayHlV+SghZKurdd+XlQPtpKK4lqF580Xk9MzWIrMWfoIYemRppaUBKivN8rGKmBoWDo0k4+2kQERERkQUxqEEUhXxlarD0FPkrNdV5/v33gdpaIDsbOPPM4LepSlC9/ro8TUwUMVtShsiqsrLkaVWV9/voEdTQNGe2RiwHP1VQ48ABGWQm0oOjSThLTxERERGRBTGoQRSFGNQgPcTFOQMbL78sTy+5RF4fLFWC6sQJeblnT67QEVlNIJkaoTQKB5wZhVu2AOPHAyUloW3PilRQo6FBQ319jNbgIt0xU4OIiIiIrIxBDaIo5BrU6HxUJ4MaFAhVguqDD+RpsKWnlMREYOZM5+WePe2hbZCIIi5S5adKSoBt2+R5IYBNm4BZs2IvsJGa6vxcLysLIapM5IJBDSIiIiKyMgY1iKJQ377ytKUFaGx0Xm+3A1u3yvMMapA/VLPw9nZ5/vzzQ9/m7NnO8wcOxOHUU7WYW6QksrJINQpfsMD9shCyJNXChcFv06pUtsahQ/zXnfTB8lNEREREZGX8ZkQUhVJTnSU7XEtQlZYCDQ1AQgIwfLgxYyNrUUENALjwQiA5OfRt1tc7zwuhxezR10RWFalMjZ07u14nBLBjR/DbtCoV1GCmBullX80+AMzUICIiIiJrYlCDKAppmue+Gps3y9ORI2Vgg8iXkhJg927n5QED9Nnu73/vflkILWaPviayokj11BgxQn6eudI0+RkWaxjUID21tLfgcP1hAMzUICIiIiJrYlCDKEp5Cmqwnwb5q6REZk+4li974gl9sil49DWRtWVlydOqKu/30SNTo7jYWXIKkKdCyOtjTV6ePC0r47/uFLqDdQchIJAUl4TsHtlGD4eIiIiIKGD8ZkQUpXwFNcaOjfx4yFoWLPB8hLQe2RQ8+prI2rrL1HDt5xRKUKOoCHjjDaCgQJa+KyiQgdWZM4PfplU5e2owU4NC59pPw6bx6yARERERWU+80QMgovBgpgaFYudOeUS0K72yKYqLZRaIpomO0lPyNBaPviayIhXUqKuTAQzVw0lRTcIBID09tMcqKpI/sc5ZfooL0BS6/bUdQQ320yAiIiIii+I3I6Io1TmoYbcD27bJ8wxqUHfCmU2hjr4eNw5IShIYNy52j74msqKMDMDW8R/kkSNdb1elp9LTgTgmFuiCPTVIT45MDQY1iIiIiMiiGNQgilIqqKEWnPbuBU6cAJKSgGHDjBsXWUO4a9kXFQEbNgjs21eBDRsEAxpEFmKzAX37yvOeSlDp0SSc3K1bJ0/r620oKNB06W9EscuRqcEm4URERERkUQxqEEWpzpkaqvTUqFE8cpa6x1r2ROSLahbuK6gRSj8NciopAa6+GgBkTcCtW2UJPwY2KFgsP0VEREREVseeGkRRqnNQY/NmecrSU+Qv1rInIm9UX42qqq63qZ4aDGroY8EClS0nU+dkLyJg4UK+R1NwXBuFExERERFZETM1iKKUt0wNBjWIiChUKqjBTI3w27lTlv9zJQSwY4cx4yFrsws7DtQdAMBMDSIiIiKyLgY1iKKUqnfeOagxdqwx4yEioujBoEbkjBjh7G+kaBowcqQx4yFrKz9ejpb2FsRpcRiQNsDo4RARERERBYVBDaIo5Zqp0d4ObN8uLzNTg4iIQuVPUIONwvVRXCwzMzRNpmtomoAQ8nqiQKnSUwPSBiDexkrERERERGRNDGoQRSnXoMbu3UBzM5CSAgwZYuy4iIjI+pipETlFRcAbbwDjxgFJSQLjxskm4TNnGj0ysqJ9NfsAsPQUEREREVkbD88hilIqqHHiBLBunTw/ejRgYyiTiIhClJUlT9koPDKKioBLLxWorKxEdnY2bDat+18i8mB/LZuEExEREZH1cXmTKEr16gXExcnzn38uT1l6ioiI9MBMDSJrUuWnBqcPNnYgREREREQhYFCDKEppmjNbg0ENIiLSE3tqEFkTMzWIiIiIKBowqEEUxVRQY/NmecqgBhER6cE1qCGE+23M1CAyL0dQgz01iIiIiMjCGNQgimIqqKEwqEFERHpQQY2mJqCx0f02BjWIzEkI4Sg/xUwNIiIiIrIyBjWIophrUKNHD2AQv78SEZEOevQAkpLkedcSVO3tQF2dPM+gBpG5HD1xFA2tDQCA/PR8g0dDRERERBQ8BjWIophrUGPMGMDGPZ6IiHSgaUBWljxfVeW8vrbWeZ49NYjMRZWe6tejH5Ljkw0eDRERERFR8LjESRTFXIMaLD1FRER68tQsXJWeSk0FEhMjPyYi8o6lp4iIiIgoWjCoQRTF+vZ1nmdQg4iI9OQrqMHSU0TmwybhRERERBQtGNQgimKlpc7zzzwDlJQYNxYiIoouDGoQWYsjU4NBDSIiIiKyOAY1iKJUSQnwf//nvLxvHzBrFgMbRESkD09BjZoaecqgBpH57KvdB4Dlp4iIiIjI+hjUIIpSCxbIRq6KEPLywoXGjYmIiKKHahTOTA0ia2CmBhERERFFCwY1iKLUzp0ykOFKCGDHDmPGQ0RE0UVlalRVOa9TQY2MjIgPh4i6oXpqDM4YbOxAiIiIiIhCxKAGUZQaMcI9UwOQl0eONGY8REQUXdhTg8g6jrccx9ETRwGw/BQRERERWR+DGkRRqrjYWXIKkKdCyOuJiIhCxaAGkXWo0lMZyRlIS0ozeDRERERERKFhUIMoShUVAW+8ARQUAMnJ8rSkBJg50+iRERFRNGCjcCLrUKWn2E+DiIiIiKJBvNEDIKLwKSqSP0RERHpTQY0jRwC7HbDZ2FODyKwcTcJZeoqIiIiIogAzNYiIiIgoYCqo0d4O1NbK8yw/RWROzNQgIiIiomjCoAYRERERBSwxEUjrKM1fVSVPGdQgMicGNYiIiIgomjCoQURERERB6dxXgz01iMyJ5aeIiIiIKJowqEFEREREQXENagjBoAaRWTFTg4iIiIiiCYMaRERERBQU16BGfb3srwGwUTiRmTS3NaOsvgwAMzWIiIiIKDowqEFEREREQcnKkqfV1c5+GomJQEqKcWMiIncH6g5AQCAlPgVZqVlGD4eIiIiIKGQMahARERFRUFwzNVybhGuacWMiIneu/TQ07pxEREREFAUY1CAiIiKioKigRlUV+2mQsZ5++mkMHjwYycnJmDRpEr7++muf93/ttdcwatQoJCcnY9y4cXj//ffdbv/5z38OTdPcfmbMmBHOpxA27KdBRERERNGGQQ0iIiIiCoq3TA2iSPrPf/6DefPmobi4GOvXr8f48eMxffp0VFZWerz/V199hTlz5uD666/Hhg0bcOmll+LSSy/F5s2b3e43Y8YMlJWVOX7+/e9/R+Lp6M6RqcGgBhERERFFCQY1iIiIiCgonoIabBJOkfb444/jxhtvxHXXXYcxY8bgueeeQ2pqKl588UWP93/yyScxY8YM/OY3v8Ho0aPx4IMPYsKECXjqqafc7peUlIScnBzHT2+LRuwcmRpsEk5EREREUSLe6AEQERERkTUxU4OM1tLSgnXr1mH+/PmO62w2G6ZOnYpVq1Z5/J1Vq1Zh3rx5btdNnz4db775ptt1K1euRHZ2Nnr37o3zzz8fDz30EPr27etxm83NzWhubnZcrqurAwDY7XbY7fZgnppHdrsdQoiAtqkyNfLS8nQdCwUmmLkjc+DcWRvnz7o4d9bFubMuM8ydv4/NoAYRERERBSUrS54yqEFGqa6uRnt7O/r16+d2fb9+/bB9+3aPv1NeXu7x/uXl5Y7LM2bMQFFREYYMGYLdu3fjnnvuwYUXXohVq1YhLi6uyzYXLVqEBQsWdLm+qqoKTU1NwTw1j+x2O2prayGEgM3mX9L9nqN7AABp9jSvJbko/IKZOzIHzp21cf6si3NnXZw76zLD3NXX1/t1PwY1iIiIiCgoKlOjpkY2CwcY1KDocMUVVzjOjxs3DgUFBRg2bBhWrlyJKVOmdLn//Pnz3bI/6urqkJeXh6ysLKSlpek2LrvdDk3TkJWV5dcXzXZ7Ow43HAYAnDL4FGSnZ+s2FgpMoHNH5sG5szbOn3Vx7qyLc2ddZpi75ORkv+7HoAYRERERBSUjA7DZALsd2LXLeR1RpGRmZiIuLg4VFRVu11dUVCAnJ8fj7+Tk5AR0fwAYOnQoMjMzsWvXLo9BjaSkJCQlJXW53maz6f6FUNM0v7d7+PhhtNnbEG+Lx8D0gVxYMFggc0fmwrmzNs6fdXHurItzZ11Gz52/j2uaV9bDDz8MTdNw++23+3X/JUuWQNM0XHrppWEdFxERERF5FhcH9Okjz3//vTxlpgZFUmJiIiZOnIgVK1Y4rrPb7VixYgUKCws9/k5hYaHb/QFg+fLlXu8PAAcPHsSRI0eQm5urz8AjRPXTGJg2EHG2rmWziIiIiIisyBRBjbVr12Lx4sUoKCjw6/779u3DnXfeiXPOOSfMIyMiIiIiX1QJqgMH5CmDGhRp8+bNw/PPP49//OMf2LZtG2655RY0NDTguuuuAwBcc801bo3E586di2XLluFPf/oTtm/fjgceeADffPMNbrvtNgDA8ePH8Zvf/AarV6/Gvn37sGLFClxyySUYPnw4pk+fbshzDNb+WhnUGJQ+yOCREBERERHpx/CgxvHjx3HVVVfh+eefR28/vgW3t7fjqquuwoIFCzB06NAIjJCIiIiIvFFBDYVBDYq0yy+/HI899hjuv/9+nHLKKdi4cSOWLVvmaAZeWlqKsrIyx/3POuss/Otf/8Lf/vY3jB8/Hq+//jrefPNNjB07FgAQFxeH7777Dj/5yU8wYsQIXH/99Zg4cSI+//xzjyWmzExlagzOGGzsQIiIiIiIdGR4T41bb70VF110EaZOnYqHHnqo2/svXLgQ2dnZuP766/H5559HYIRERERE5E1WlvtlBjXICLfddpsj06KzlStXdrnusssuw2WXXebx/ikpKfjggw/0HJ5h9tXsA8BMDSIiIiKKLoYGNZYsWYL169dj7dq1ft3/iy++wAsvvICNGzf6/RjNzc1obm52XK6rqwMga+3a7faAxuuL3W6HEELXbVJkcO6si3NnbZw/6+LcWVc45q5vXw2A5riclmYHXxr6M8N+x33eehzlpzIY1CAiIiKi6GFYUOPAgQOYO3culi9fjuTk5G7vX19fj5/97Gd4/vnnkdm5zoEPixYtwoIFC7pcX1VVhaampoDG7IvdbkdtbS2EEIZ1h6fgcO6si3NnbZw/6+LcWVc45i4lpSeAno7LbW1VqKwUumybnMyw39XX1xvyuBQ89tQgIiIiomhkWFBj3bp1qKysxIQJExzXtbe347PPPsNTTz2F5uZmxMXFOW7bvXs39u3bh4svvthxnTpaLD4+Hjt27MCwYcO6PM78+fMxb948x+W6ujrk5eUhKysLaWlpuj0fu90OTdOQlZXFBR6L4dxZF+fO2jh/1sW5s65wzN0gl7XSuDiBoUOzoGne70/BMcN+58+BSGQeQghHTw1mahARERFRNDEsqDFlyhRs2rTJ7brrrrsOo0aNwl133eUW0ACAUaNGdbn/vffei/r6ejz55JPIy8vz+DhJSUkeG/rZbDbdvxBqmhaW7VL4ce6si3NnbZw/6+LcWZfec+faUyMjQ0NcHCMa4WL0fsf93VqqG6txou0EACAvzfN3JSIiIiIiKzIsqNGrVy+MHTvW7boePXqgb9++juuvueYaDBgwAIsWLUJycnKX+2dkZABAl+uJiIiIKDJcgxpsEk5kHqr0VG7PXCTFdz3Ii4iIiIjIqgxtFN6d0tJSHhFGREREZGKurc46jjchIhNg6SkiIiIiilamCmqsXLnS5+XOXnrppbCNhYiIiIi65xrUYKYGkXmwSTgRERERRSumQRARERFR0BjUIDInR6YGgxpEREREFGUY1CAiIiKioPXsCSQmyvMMahCZhyNTg+WniIiIiCjKMKhBREREREFbuhSw2+X5khL5Q0TGKtlWgg92fwAAePSrR1GyjTsmEREREUUPBjWIiIiIKCglJcCsWUBbm7xcVSUvM7BBZJySbSWY9eosNLU1AZBlqGa9OouBDSIiIiKKGgxqEBEREVFQFiwANM39Ok0DFi40ZjxEBCz4dAE0OHdMAQENGhZ+yh2TiIiIiKIDgxpEREREFJSdOwEh3K8TAtixw5jxEBGws3onBNx3TAGBHUe4YxIRERFRdGBQg4iIiIiCMmKE50yNkSONGQ8RASMyR7hlagCABg0j+3LHJCIiIqLowKAGEREREQWluFhmZqjAhqbJy8XFxo6LKJYVn1fsKDkFyICGgEDxedwxiYiIiCg6MKhBREREREEpKgLeeAMoKACSk+VpSQkwc6bRIyOKXUWji/DG7DdQ0K8AyfHJKOhXgJLZJZg5mjsmEREREUWHeKMHQERERETWVVQkf4jIPIpGF6FoNHdMIiIiIopOzNQgIiIiIiIiIiIiIiJLYFCDiIiIiIiIiIiIiIgsgUENIiIiIiIiIiIiIiKyBAY1iIiIiIiIiIiIiIjIEhjUICIiIiIiIiIiIiIiS2BQg4iIiIiIiIiIiIiILIFBDSIiIiIiIiIiIiIisgQGNYiIiIiIiIiIiIiIyBIY1CAiIiIiIiIiIiIiIktgUIOIiIiIiIiIiIiIiCyBQQ0iIiIiIiIiIiIiIrIEBjWIiIiIiIiIiIiIiMgSGNQgIiIiIiIiIiIiIiJLYFCDiIiIiIiIiIiIiIgsgUENIiIiIiIiIiIiIiKyBAY1iIiIiIiIiIiIiIjIEhjUICIiIiIiIiIiIiIiS4g3egCRJoQAANTV1em6Xbvdjvr6eiQnJ8NmY6zISjh31sW5szbOn3Vx7qyLc2ddZpg79f+z+n+avON3DuqMc2ddnDtr4/xZF+fOujh31mWGufP3O0fMBTXq6+sBAHl5eQaPhIiIiIjIeurr65Genm70MEyN3zmIiIiIiILX3XcOTcTYoVZ2ux2HDx9Gr169oGmabtutq6tDXl4eDhw4gLS0NN22S+HHubMuzp21cf6si3NnXZw76zLD3AkhUF9fj/79+/Oou27wOwd1xrmzLs6dtXH+rItzZ12cO+syw9z5+50j5jI1bDYbBg4cGLbtp6WlcYe1KM6ddXHurI3zZ12cO+vi3FmX0XPHDA3/8DsHecO5sy7OnbVx/qyLc2ddnDvrMnru/PnOwUOsiIiIiIiIiIiIiIjIEhjUICIiIiIiIiIiIiIiS2BQQydJSUkoLi5GUlKS0UOhAHHurItzZ22cP+vi3FkX5866OHcE8HVgZZw76+LcWRvnz7o4d9bFubMuK81dzDUKJyIiIiIiIiIiIiIia2KmBhERERERERERERERWQKDGkREREREREREREREZAkMahARERERERERERERkSUwqKGDp59+GoMHD0ZycjImTZqEr7/+2ughxbwHHngAmqa5/YwaNcpxe1NTE2699Vb07dsXPXv2xKxZs1BRUeG2jdLSUlx00UVITU1FdnY2fvOb36CtrS3STyXqffbZZ7j44ovRv39/aJqGN9980+12IQTuv/9+5ObmIiUlBVOnTsX333/vdp+jR4/iqquuQlpaGjIyMnD99dfj+PHjbvf57rvvcM455yA5ORl5eXl45JFHwv3UYkJ38/fzn/+8y744Y8YMt/tw/iJv0aJFOP3009GrVy9kZ2fj0ksvxY4dO9zuo9f75MqVKzFhwgQkJSVh+PDheOmll8L99KKeP/P3gx/8oMu+d/PNN7vdh/MXec8++ywKCgqQlpaGtLQ0FBYW4r///a/jdu535Au/c5gPv3NYB79zWBu/c1gTv3NYF79vWFvMfOcQFJIlS5aIxMRE8eKLL4otW7aIG2+8UWRkZIiKigqjhxbTiouLxcknnyzKysocP1VVVY7bb775ZpGXlydWrFghvvnmG3HmmWeKs846y3F7W1ubGDt2rJg6darYsGGDeP/990VmZqaYP3++EU8nqr3//vvid7/7nSgpKREAxNKlS91uf/jhh0V6erp48803xbfffit+8pOfiCFDhogTJ0447jNjxgwxfvx4sXr1avH555+L4cOHizlz5jhur62tFf369RNXXXWV2Lx5s/j3v/8tUlJSxOLFiyP1NKNWd/N37bXXihkzZrjti0ePHnW7D+cv8qZPny7+/ve/i82bN4uNGzeKH/3oRyI/P18cP37ccR893if37NkjUlNTxbx588TWrVvFX//6VxEXFyeWLVsW0ecbbfyZv/POO0/ceOONbvtebW2t43bOnzHefvtt8d5774mdO3eKHTt2iHvuuUckJCSIzZs3CyG435F3/M5hTvzOYR38zmFt/M5hTfzOYV38vmFtsfKdg0GNEJ1xxhni1ltvdVxub28X/fv3F4sWLTJwVFRcXCzGjx/v8baamhqRkJAgXnvtNcd127ZtEwDEqlWrhBDynyabzSbKy8sd93n22WdFWlqaaG5uDuvY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m/Hss8867nPmmWdiwoQJeOaZZyLz5IiIiIiIyHD8zkFEFJuYqUFERGExa9YsHD58GG+//TZmzJiBlStXYsKECXjppZe8/s63336LhQsXOo666tmzJ2688UaUlZWhsbHRcb/CwkK33yssLORRU0REREREMYbfOYiIYhMbhRMRUdgkJyfjggsuwAUXXID77rsPN9xwA4qLi/Hzn//c4/2PHz+OBQsWoKioyOO2iIiIiIiIXPE7BxFR7GGmBhERRcyYMWPQ0NAAAEhISEB7e7vb7RMmTMCOHTswfPjwLj82m/Mja/Xq1W6/t3r1aowePTr8T4CIiIiIiEyN3zmIiKIfMzWIiEh3R44cwWWXXYb/+Z//QUFBAXr16oVvvvkGjzzyCC655BIAwODBg7FixQpMnjwZSUlJ6N27N+6//378+Mc/Rn5+Pn7605/CZrPh22+/xebNm/HQQw85tv/aa6/htNNOw9lnn41XXnkFX3/9NV544QWjni4REREREUUYv3MQEcUuNgonIiLdNTc344EHHsCHH36I3bt3o7W1FXl5ebjssstwzz33ICUlBe+88w7mzZuHffv2YcCAAdi3bx8A4IMPPsDChQuxYcMGJCQkYNSoUbjhhhtw4403ApBN+55++mm8+eab+Oyzz5Cbm4s//vGPmD17toHPmIiIiIiIIonfOYiIYheDGkREZCmapmHp0qW49NJLjR4KERERERFFIX7nICIyN/bUICIiIiIiIiIiIiIiS2BQg4iIiIiIiIiIiIiILIHlp4iIiIiIiIiIiIiIyBKYqUFERERERERERERERJbAoAYREREREREREREREVkCgxpERERERERERERERGQJDGoQEREREREREREREZElMKhBRERERERERERERESWwKAGERERERERERERERFZAoMaRERERERERERERERkCQxqEBERERERERERERGRJTCoQURERERERERERERElvD/ARxrxzhcRZYbAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot training results\n", "fig, axes = plt.subplots(1, 2, figsize=(12, 5))\n", "\n", "df_train = pd.read_csv(\"metrics_train.csv\")\n", "df_val = pd.read_csv(\"metrics_val.csv\")\n", "\n", "# Plot Loss\n", "axes[0].plot(df_train[\"step\"], df_train[\"mean_loss\"], 'b-o', label='Train Loss', markersize=4, linewidth=1.5)\n", "axes[0].plot(df_val[\"step\"], df_val[\"mean_loss\"], 'r-s', label='Val Loss', markersize=4, linewidth=1.5)\n", "axes[0].set_xlabel('Step')\n", "axes[0].set_ylabel('Loss')\n", "axes[0].set_title('Loss')\n", "axes[0].legend()\n", "axes[0].grid(True, alpha=0.3)\n", "\n", "# Plot Pearson Correlation\n", "axes[1].plot(df_train[\"step\"], df_train[\"mean_pearson\"], 'g-o', label='Train Pearson', markersize=4, linewidth=1.5)\n", "axes[1].plot(df_val[\"step\"], df_val[\"mean_pearson\"], 'orange', marker='s', label='Val Pearson', markersize=4, linewidth=1.5)\n", "axes[1].set_xlabel('Step')\n", "axes[1].set_ylabel('Pearson Correlation')\n", "axes[1].set_title('Mean Pearson Correlation')\n", "axes[1].legend()\n", "axes[1].grid(True, alpha=0.3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 9. ๐Ÿงช Test evaluation\n", "\n", "Evaluate the fine-tuned model on the held-out test set to assess final performance. This provides an unbiased estimate of how well the model generalizes to unseen genomic regions." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Running test evaluation with 312 steps (10000 samples)\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "1b3a925603fb4be5bc15c337654b4056", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Test evaluation: 0%| | 0/312 [00:00 **Note:** Results may vary depending on:\n", "> - Configuration hyperparameters\n", "> - Hardware configuration\n", "> - Number of tracks used (subset vs. all available functional tracks)\n", "> - Training duration\n", "> \n", "> For reference, NTv3-benchmark models on human data were trained for **20.9B tokens** before test set evaluation and achieved better performance than reported here." ] }, { "cell_type": "markdown", "metadata": {}, "source": [] } ], "metadata": { "kernelspec": { "display_name": ".venv", "language": "python", "name": "python3" }, "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.11.14" } }, "nbformat": 4, "nbformat_minor": 2 }