AdapTrans showcase: Transformer on CRCNS AA1

Open In Colab

This notebook trains a small Transformer on the CRCNS AA1 auditory dataset (zebra finch primary auditory and midbrain neurons, Theunissen group; auto-downloaded via deepSTRF’s CRCNS helper) twice — once without any prefiltering, once with an AdapTrans prefilter (Rancon et al. 2022) — to demonstrate the prefilter’s contribution. AdapTrans is a learnable cochlear-adaptation front-end: it implements per-band sliding-window subtractive adaptation that mimics divisive cortical adaptation observed in auditory neurons, and is a drop-in prefiltering= argument on every audio model in the deepSTRF zoo.

The configuration below mirrors Rançon et al. 2025 (the deepSTRF paper): Field L cells only, conspecific natural-sound stimuli only, millisecond temporal resolution (dt_ms=1), a 41-step band-causal attention window, and validation-cc_norm early stopping with patience 50 (no fixed epoch budget).

What you’ll see:

  1. Auto-load AA1, restrict to the Field L cells and the conspecific stimuli (the bidirectional rule from data_paradigm.md §8 drops any cell with no conspecific data).

  2. Per-band stim standardization — required because AA1 spectrograms span ~0–24 in raw amplitude and Transformer attention saturates on those values.

  3. Train two Transformers with identical hyperparameters except for the prefiltering= argument.

  4. Compare validation curves, predicted vs recorded responses on a held-out test stimulus, per-cell test cc_norm (AdapTrans vs plain), and peek at the learned AdapTrans gain envelopes.

Setup — Google Colab

If you’re running this notebook on Google Colab, run the cell below once to install deepSTRF from source. On a local install (pip install -e .) it’s a no-op.

Note on data: CRCNS AA1 is an authenticated dataset. To auto-download it, set $CRCNS_USERNAME and $CRCNS_PASSWORD (free account at https://crcns.org/) before running the dataset cell. On a local machine that already has the data extracted, it’s picked up from the cache automatically.

[1]:
import sys
if 'google.colab' in sys.modules:
    !pip install -q git+https://github.com/urancon/deepSTRF.git
    print("deepSTRF installed from GitHub.")
else:
    print("Local environment — assuming deepSTRF is already importable.")

Local environment — assuming deepSTRF is already importable.

Imports

[2]:
%matplotlib inline
import time
import matplotlib.pyplot as plt
import numpy as np
import torch
from torch.utils.data import DataLoader, Subset

from deepSTRF.datasets.audio.crcns_aa1 import CRCNSAA1Dataset
from deepSTRF.models.audio import Transformer
from deepSTRF.models.prefiltering import make_prefiltering
from deepSTRF.training import Fitter, set_random_seed
from deepSTRF.utils.data import neural_collate

device = "cuda" if torch.cuda.is_available() else "cpu"
print(f"Using device: {device}")

Using device: cuda

1. Load CRCNS AA1 — Field L cells, conspecific stimuli

CRCNSAA1Dataset ships 100 cells (50 Field L + 50 MLd) responding to 20 conspecific natural-sound stimuli plus 10 broadband “flatrip” noise stimuli; ~34% of (stim, cell) pairs are NaN-padded (cells that only saw a subset of stims). We pass areas=('Field_L',) at construction to load only the Field L cells, then narrow to conspecific stimuli with select_stims_by_attr — the bidirectional rule from `data_paradigm.md <../docs/_source/md/data_paradigm.md>`__ §8 drops the one Field L cell that has no conspecific data (pipu1018_2_B).

[ ]:
ds = CRCNSAA1Dataset(download=True, dt_ms=1, areas=('Field_L',))
print(f"Field L only: N={ds.N_neurons} cells, S={len(ds.stims)} stims, "
      f"F={ds.F} bands, dt={ds.dt} ms")

ds.select_stims_by_attr("type", "conspecific")
S_sel = list(ds.S_sel)
N_sel = len(ds._selected())
print(f"After select_stims_by_attr('type', 'conspecific'): "
      f"{len(S_sel)} stims, {N_sel} visible cells")

2. Per-band stim standardization

AA1 spectrograms are large-amplitude (raw values up to ~24). The Transformer’s attention softmax becomes unstable on those scales — without standardization, the loss diverges to NaN within a few gradient steps. We compute per-band mean and std from the train+val subset (stims 0..16 in the conspecific selection) and apply them to all stims, so the held-out test stims are transformed with the same statistics — the workflow standardize_stims is built for.

[4]:
trainval_subset = S_sel[:17]   # 14 train + 3 val
stats = ds.standardize_stims(stim_indices=trainval_subset, per_band=True)
print(f"per-band mean range: [{stats['mean'].min():.3f}, {stats['mean'].max():.3f}]")
print(f"per-band std range:  [{stats['std'].min():.3f}, {stats['std'].max():.3f}]")
print(f"After standardization, stim 0 range: "
      f"[{ds.stims[S_sel[0]].min():.2f}, {ds.stims[S_sel[0]].max():.2f}]")

per-band mean range: [0.004, 0.465]
per-band std range:  [0.001, 0.501]
After standardization, stim 0 range: [-2.99, 12.70]

3. Train / val / test split

14 train / 3 val / 3 test, all conspecific.

[5]:
train_idx = S_sel[:14]
val_idx   = S_sel[14:17]
test_idx  = S_sel[17:20]

train_loader = DataLoader(Subset(ds, train_idx), batch_size=1, shuffle=True,
                          collate_fn=neural_collate)
val_loader   = DataLoader(Subset(ds, val_idx),   batch_size=1, shuffle=False,
                          collate_fn=neural_collate)
test_loader  = DataLoader(Subset(ds, test_idx),  batch_size=1, shuffle=False,
                          collate_fn=neural_collate)
print(f"train: {len(train_idx)} stims | val: {len(val_idx)} | test: {len(test_idx)}")

train: 14 stims | val: 3 | test: 3

4. Fit-and-evaluate helper

One function builds a Transformer with the requested prefiltering, fits it with early stopping on val cc_norm (patience 50, no fixed epoch budget) — matching the Rançon et al. 2025 schedule — and returns history + test metrics + (when applicable) the trained prefilter for inspection. Each model uses a 41-step band-causal attention window, the longest used in that paper. Per-epoch logs are printed so you can watch training progress.

[6]:
def fit_transformer(name, prefilt_factory, max_epochs=2000, patience=50, seed=0):
    set_random_seed(seed)
    pre = prefilt_factory() if prefilt_factory is not None else None
    model = Transformer(
        n_frequency_bands=ds.F,
        embedding_dim=48, n_heads=2, n_layers=1,
        out_neurons=N_sel,
        freq_patch_size=ds.F, time_patch_size=1,
        context_window=41,
        prefiltering=pre,
    )
    n_params = model.count_trainable_params()
    print(f"\n=== {name} — params: {n_params:,} ===", flush=True)
    optimizer = torch.optim.AdamW(model.parameters(), lr=1e-3, weight_decay=0.0)
    fitter = Fitter(
        model, train_loader, val_loader,
        optimizer=optimizer, device=device,
        max_epochs=max_epochs, patience=patience,
        monitor="val_cc_norm", mode="max",
        # default log_fn prints per-epoch lines to stdout
    )
    t0 = time.time()
    history = fitter.fit()
    elapsed = time.time() - t0
    test = fitter.evaluate(test_loader)
    print(f"=== {name} — stopped after {len(history)} epochs in {elapsed:.0f}s ===", flush=True)
    return {
        "name": name,
        "model": model,
        "history": history,
        "test_cc": test["cc"].cpu(),
        "test_cc_norm": test["cc_norm"].cpu(),
        "n_params": n_params,
        "elapsed": elapsed,
        "n_epochs": len(history),
    }

5. Two fits — without vs with AdapTrans

Same Transformer architecture (1-layer, 2-head, embedding 48, 41-step causal context), same data, same early-stopping schedule. The only difference is the prefiltering= argument. Each fit runs until val cc_norm has not improved for 50 consecutive epochs — typically a few hundred epochs on a single GPU. Per-epoch lines appear below.

[7]:
print("Fitting two Transformers on AA1 Field L conspecific ...")
result_plain     = fit_transformer("Transformer (no prefilter)", None)
result_adaptrans = fit_transformer("Transformer + AdapTrans",
                                   lambda: make_prefiltering("adaptrans", ds.F, dt=ds.dt))

Fitting two Transformers on AA1 Field L conspecific ...

=== Transformer (no prefilter) — params: 32,257 ===
epoch    0 | train_loss=0.2263 | train_cc=0.0141 | train_cc_norm=0.0180 | val_loss=0.1207 | val_cc=0.0337 | val_cc_norm=0.0451
epoch    1 | train_loss=0.0777 | train_cc=0.0550 | train_cc_norm=0.0723 | val_loss=0.0471 | val_cc=0.0559 | val_cc_norm=0.0723
epoch    2 | train_loss=0.0449 | train_cc=0.0711 | train_cc_norm=0.0900 | val_loss=0.0302 | val_cc=0.0735 | val_cc_norm=0.0938
epoch    3 | train_loss=0.0376 | train_cc=0.0809 | train_cc_norm=0.1029 | val_loss=0.0256 | val_cc=0.0931 | val_cc_norm=0.1195
epoch    4 | train_loss=0.0349 | train_cc=0.0907 | train_cc_norm=0.1154 | val_loss=0.0238 | val_cc=0.1080 | val_cc_norm=0.1392
epoch    5 | train_loss=0.0329 | train_cc=0.0985 | train_cc_norm=0.1254 | val_loss=0.0229 | val_cc=0.1200 | val_cc_norm=0.1544
epoch    6 | train_loss=0.0313 | train_cc=0.1073 | train_cc_norm=0.1367 | val_loss=0.0223 | val_cc=0.1328 | val_cc_norm=0.1709
epoch    7 | train_loss=0.0299 | train_cc=0.1220 | train_cc_norm=0.1556 | val_loss=0.0220 | val_cc=0.1448 | val_cc_norm=0.1870
epoch    8 | train_loss=0.0285 | train_cc=0.1331 | train_cc_norm=0.1700 | val_loss=0.0214 | val_cc=0.1562 | val_cc_norm=0.2014
epoch    9 | train_loss=0.0273 | train_cc=0.1405 | train_cc_norm=0.1794 | val_loss=0.0211 | val_cc=0.1689 | val_cc_norm=0.2184
epoch   10 | train_loss=0.0262 | train_cc=0.1564 | train_cc_norm=0.2002 | val_loss=0.0207 | val_cc=0.1812 | val_cc_norm=0.2343
epoch   11 | train_loss=0.0251 | train_cc=0.1718 | train_cc_norm=0.2199 | val_loss=0.0205 | val_cc=0.1927 | val_cc_norm=0.2495
epoch   12 | train_loss=0.0241 | train_cc=0.1841 | train_cc_norm=0.2355 | val_loss=0.0200 | val_cc=0.2033 | val_cc_norm=0.2635
epoch   13 | train_loss=0.0233 | train_cc=0.1947 | train_cc_norm=0.2491 | val_loss=0.0198 | val_cc=0.2164 | val_cc_norm=0.2807
epoch   14 | train_loss=0.0225 | train_cc=0.2110 | train_cc_norm=0.2704 | val_loss=0.0194 | val_cc=0.2247 | val_cc_norm=0.2920
epoch   15 | train_loss=0.0218 | train_cc=0.2207 | train_cc_norm=0.2830 | val_loss=0.0193 | val_cc=0.2347 | val_cc_norm=0.3049
epoch   16 | train_loss=0.0211 | train_cc=0.2348 | train_cc_norm=0.3016 | val_loss=0.0191 | val_cc=0.2444 | val_cc_norm=0.3184
epoch   17 | train_loss=0.0206 | train_cc=0.2435 | train_cc_norm=0.3129 | val_loss=0.0189 | val_cc=0.2514 | val_cc_norm=0.3273
epoch   18 | train_loss=0.0201 | train_cc=0.2514 | train_cc_norm=0.3228 | val_loss=0.0187 | val_cc=0.2576 | val_cc_norm=0.3354
epoch   19 | train_loss=0.0196 | train_cc=0.2641 | train_cc_norm=0.3395 | val_loss=0.0184 | val_cc=0.2685 | val_cc_norm=0.3506
epoch   20 | train_loss=0.0191 | train_cc=0.2729 | train_cc_norm=0.3516 | val_loss=0.0183 | val_cc=0.2757 | val_cc_norm=0.3601
epoch   21 | train_loss=0.0187 | train_cc=0.2849 | train_cc_norm=0.3674 | val_loss=0.0181 | val_cc=0.2811 | val_cc_norm=0.3680
epoch   22 | train_loss=0.0184 | train_cc=0.2904 | train_cc_norm=0.3749 | val_loss=0.0180 | val_cc=0.2885 | val_cc_norm=0.3774
epoch   23 | train_loss=0.0180 | train_cc=0.3006 | train_cc_norm=0.3880 | val_loss=0.0178 | val_cc=0.2943 | val_cc_norm=0.3861
epoch   24 | train_loss=0.0177 | train_cc=0.3088 | train_cc_norm=0.3992 | val_loss=0.0178 | val_cc=0.3008 | val_cc_norm=0.3953
epoch   25 | train_loss=0.0174 | train_cc=0.3180 | train_cc_norm=0.4121 | val_loss=0.0178 | val_cc=0.3056 | val_cc_norm=0.4017
epoch   26 | train_loss=0.0172 | train_cc=0.3252 | train_cc_norm=0.4216 | val_loss=0.0175 | val_cc=0.3134 | val_cc_norm=0.4124
epoch   27 | train_loss=0.0170 | train_cc=0.3319 | train_cc_norm=0.4308 | val_loss=0.0174 | val_cc=0.3184 | val_cc_norm=0.4194
epoch   28 | train_loss=0.0167 | train_cc=0.3432 | train_cc_norm=0.4459 | val_loss=0.0173 | val_cc=0.3240 | val_cc_norm=0.4276
epoch   29 | train_loss=0.0165 | train_cc=0.3480 | train_cc_norm=0.4522 | val_loss=0.0173 | val_cc=0.3296 | val_cc_norm=0.4353
epoch   30 | train_loss=0.0163 | train_cc=0.3538 | train_cc_norm=0.4599 | val_loss=0.0172 | val_cc=0.3318 | val_cc_norm=0.4388
epoch   31 | train_loss=0.0162 | train_cc=0.3625 | train_cc_norm=0.4723 | val_loss=0.0169 | val_cc=0.3379 | val_cc_norm=0.4470
epoch   32 | train_loss=0.0161 | train_cc=0.3650 | train_cc_norm=0.4754 | val_loss=0.0169 | val_cc=0.3396 | val_cc_norm=0.4496
epoch   33 | train_loss=0.0160 | train_cc=0.3707 | train_cc_norm=0.4833 | val_loss=0.0169 | val_cc=0.3437 | val_cc_norm=0.4552
epoch   34 | train_loss=0.0158 | train_cc=0.3757 | train_cc_norm=0.4899 | val_loss=0.0169 | val_cc=0.3469 | val_cc_norm=0.4598
epoch   35 | train_loss=0.0158 | train_cc=0.3786 | train_cc_norm=0.4942 | val_loss=0.0169 | val_cc=0.3489 | val_cc_norm=0.4631
epoch   36 | train_loss=0.0157 | train_cc=0.3828 | train_cc_norm=0.4999 | val_loss=0.0169 | val_cc=0.3511 | val_cc_norm=0.4657
epoch   37 | train_loss=0.0156 | train_cc=0.3876 | train_cc_norm=0.5060 | val_loss=0.0168 | val_cc=0.3547 | val_cc_norm=0.4710
epoch   38 | train_loss=0.0155 | train_cc=0.3914 | train_cc_norm=0.5114 | val_loss=0.0167 | val_cc=0.3551 | val_cc_norm=0.4717
epoch   39 | train_loss=0.0154 | train_cc=0.3936 | train_cc_norm=0.5144 | val_loss=0.0167 | val_cc=0.3594 | val_cc_norm=0.4776
epoch   40 | train_loss=0.0153 | train_cc=0.3974 | train_cc_norm=0.5196 | val_loss=0.0167 | val_cc=0.3606 | val_cc_norm=0.4791
epoch   41 | train_loss=0.0152 | train_cc=0.4018 | train_cc_norm=0.5250 | val_loss=0.0166 | val_cc=0.3620 | val_cc_norm=0.4812
epoch   42 | train_loss=0.0152 | train_cc=0.4014 | train_cc_norm=0.5251 | val_loss=0.0166 | val_cc=0.3642 | val_cc_norm=0.4844
epoch   43 | train_loss=0.0152 | train_cc=0.4046 | train_cc_norm=0.5291 | val_loss=0.0165 | val_cc=0.3660 | val_cc_norm=0.4868
epoch   44 | train_loss=0.0151 | train_cc=0.4089 | train_cc_norm=0.5349 | val_loss=0.0165 | val_cc=0.3667 | val_cc_norm=0.4878
epoch   45 | train_loss=0.0150 | train_cc=0.4125 | train_cc_norm=0.5399 | val_loss=0.0165 | val_cc=0.3693 | val_cc_norm=0.4916
epoch   46 | train_loss=0.0149 | train_cc=0.4152 | train_cc_norm=0.5433 | val_loss=0.0166 | val_cc=0.3715 | val_cc_norm=0.4946
epoch   47 | train_loss=0.0149 | train_cc=0.4177 | train_cc_norm=0.5467 | val_loss=0.0166 | val_cc=0.3735 | val_cc_norm=0.4972
epoch   48 | train_loss=0.0149 | train_cc=0.4191 | train_cc_norm=0.5484 | val_loss=0.0165 | val_cc=0.3732 | val_cc_norm=0.4968
epoch   49 | train_loss=0.0148 | train_cc=0.4221 | train_cc_norm=0.5525 | val_loss=0.0164 | val_cc=0.3754 | val_cc_norm=0.4998
epoch   50 | train_loss=0.0147 | train_cc=0.4262 | train_cc_norm=0.5581 | val_loss=0.0164 | val_cc=0.3758 | val_cc_norm=0.5004
epoch   51 | train_loss=0.0146 | train_cc=0.4281 | train_cc_norm=0.5604 | val_loss=0.0164 | val_cc=0.3784 | val_cc_norm=0.5041
epoch   52 | train_loss=0.0146 | train_cc=0.4306 | train_cc_norm=0.5637 | val_loss=0.0164 | val_cc=0.3779 | val_cc_norm=0.5034
epoch   53 | train_loss=0.0145 | train_cc=0.4333 | train_cc_norm=0.5677 | val_loss=0.0163 | val_cc=0.3811 | val_cc_norm=0.5078
epoch   54 | train_loss=0.0145 | train_cc=0.4361 | train_cc_norm=0.5711 | val_loss=0.0163 | val_cc=0.3793 | val_cc_norm=0.5054
epoch   55 | train_loss=0.0144 | train_cc=0.4356 | train_cc_norm=0.5705 | val_loss=0.0163 | val_cc=0.3825 | val_cc_norm=0.5097
epoch   56 | train_loss=0.0144 | train_cc=0.4407 | train_cc_norm=0.5770 | val_loss=0.0165 | val_cc=0.3819 | val_cc_norm=0.5089
epoch   57 | train_loss=0.0143 | train_cc=0.4400 | train_cc_norm=0.5760 | val_loss=0.0164 | val_cc=0.3842 | val_cc_norm=0.5123
epoch   58 | train_loss=0.0143 | train_cc=0.4448 | train_cc_norm=0.5831 | val_loss=0.0164 | val_cc=0.3853 | val_cc_norm=0.5134
epoch   59 | train_loss=0.0142 | train_cc=0.4438 | train_cc_norm=0.5812 | val_loss=0.0163 | val_cc=0.3856 | val_cc_norm=0.5138
epoch   60 | train_loss=0.0142 | train_cc=0.4480 | train_cc_norm=0.5868 | val_loss=0.0162 | val_cc=0.3880 | val_cc_norm=0.5173
epoch   61 | train_loss=0.0142 | train_cc=0.4482 | train_cc_norm=0.5871 | val_loss=0.0161 | val_cc=0.3880 | val_cc_norm=0.5173
epoch   62 | train_loss=0.0141 | train_cc=0.4481 | train_cc_norm=0.5869 | val_loss=0.0162 | val_cc=0.3904 | val_cc_norm=0.5206
epoch   63 | train_loss=0.0141 | train_cc=0.4539 | train_cc_norm=0.5951 | val_loss=0.0162 | val_cc=0.3905 | val_cc_norm=0.5207
epoch   64 | train_loss=0.0140 | train_cc=0.4536 | train_cc_norm=0.5942 | val_loss=0.0163 | val_cc=0.3890 | val_cc_norm=0.5186
epoch   65 | train_loss=0.0139 | train_cc=0.4584 | train_cc_norm=0.6008 | val_loss=0.0162 | val_cc=0.3914 | val_cc_norm=0.5219
epoch   66 | train_loss=0.0140 | train_cc=0.4561 | train_cc_norm=0.5977 | val_loss=0.0164 | val_cc=0.3904 | val_cc_norm=0.5204
epoch   67 | train_loss=0.0139 | train_cc=0.4592 | train_cc_norm=0.6019 | val_loss=0.0162 | val_cc=0.3911 | val_cc_norm=0.5213
epoch   68 | train_loss=0.0138 | train_cc=0.4617 | train_cc_norm=0.6049 | val_loss=0.0161 | val_cc=0.3935 | val_cc_norm=0.5247
epoch   69 | train_loss=0.0138 | train_cc=0.4641 | train_cc_norm=0.6083 | val_loss=0.0162 | val_cc=0.3936 | val_cc_norm=0.5248
epoch   70 | train_loss=0.0138 | train_cc=0.4635 | train_cc_norm=0.6079 | val_loss=0.0161 | val_cc=0.3968 | val_cc_norm=0.5289
epoch   71 | train_loss=0.0137 | train_cc=0.4665 | train_cc_norm=0.6116 | val_loss=0.0160 | val_cc=0.3952 | val_cc_norm=0.5267
epoch   72 | train_loss=0.0137 | train_cc=0.4657 | train_cc_norm=0.6107 | val_loss=0.0161 | val_cc=0.3949 | val_cc_norm=0.5268
epoch   73 | train_loss=0.0138 | train_cc=0.4656 | train_cc_norm=0.6106 | val_loss=0.0160 | val_cc=0.3988 | val_cc_norm=0.5316
epoch   74 | train_loss=0.0137 | train_cc=0.4675 | train_cc_norm=0.6130 | val_loss=0.0161 | val_cc=0.3998 | val_cc_norm=0.5331
epoch   75 | train_loss=0.0136 | train_cc=0.4709 | train_cc_norm=0.6173 | val_loss=0.0160 | val_cc=0.3988 | val_cc_norm=0.5315
epoch   76 | train_loss=0.0135 | train_cc=0.4741 | train_cc_norm=0.6217 | val_loss=0.0160 | val_cc=0.3994 | val_cc_norm=0.5326
epoch   77 | train_loss=0.0135 | train_cc=0.4751 | train_cc_norm=0.6233 | val_loss=0.0159 | val_cc=0.4004 | val_cc_norm=0.5339
epoch   78 | train_loss=0.0135 | train_cc=0.4760 | train_cc_norm=0.6242 | val_loss=0.0161 | val_cc=0.4006 | val_cc_norm=0.5343
epoch   79 | train_loss=0.0134 | train_cc=0.4786 | train_cc_norm=0.6275 | val_loss=0.0159 | val_cc=0.4024 | val_cc_norm=0.5366
epoch   80 | train_loss=0.0134 | train_cc=0.4759 | train_cc_norm=0.6240 | val_loss=0.0161 | val_cc=0.4004 | val_cc_norm=0.5339
epoch   81 | train_loss=0.0134 | train_cc=0.4781 | train_cc_norm=0.6269 | val_loss=0.0160 | val_cc=0.4043 | val_cc_norm=0.5393
epoch   82 | train_loss=0.0134 | train_cc=0.4801 | train_cc_norm=0.6299 | val_loss=0.0160 | val_cc=0.4040 | val_cc_norm=0.5385
epoch   83 | train_loss=0.0133 | train_cc=0.4829 | train_cc_norm=0.6335 | val_loss=0.0158 | val_cc=0.4061 | val_cc_norm=0.5416
epoch   84 | train_loss=0.0133 | train_cc=0.4845 | train_cc_norm=0.6358 | val_loss=0.0160 | val_cc=0.4048 | val_cc_norm=0.5399
epoch   85 | train_loss=0.0132 | train_cc=0.4869 | train_cc_norm=0.6389 | val_loss=0.0159 | val_cc=0.4095 | val_cc_norm=0.5461
epoch   86 | train_loss=0.0133 | train_cc=0.4850 | train_cc_norm=0.6362 | val_loss=0.0158 | val_cc=0.4088 | val_cc_norm=0.5451
epoch   87 | train_loss=0.0132 | train_cc=0.4867 | train_cc_norm=0.6387 | val_loss=0.0161 | val_cc=0.4093 | val_cc_norm=0.5462
epoch   88 | train_loss=0.0132 | train_cc=0.4897 | train_cc_norm=0.6428 | val_loss=0.0159 | val_cc=0.4086 | val_cc_norm=0.5448
epoch   89 | train_loss=0.0131 | train_cc=0.4915 | train_cc_norm=0.6450 | val_loss=0.0160 | val_cc=0.4091 | val_cc_norm=0.5454
epoch   90 | train_loss=0.0131 | train_cc=0.4928 | train_cc_norm=0.6471 | val_loss=0.0158 | val_cc=0.4129 | val_cc_norm=0.5507
epoch   91 | train_loss=0.0131 | train_cc=0.4926 | train_cc_norm=0.6468 | val_loss=0.0157 | val_cc=0.4130 | val_cc_norm=0.5509
epoch   92 | train_loss=0.0130 | train_cc=0.4942 | train_cc_norm=0.6491 | val_loss=0.0160 | val_cc=0.4124 | val_cc_norm=0.5498
epoch   93 | train_loss=0.0130 | train_cc=0.4964 | train_cc_norm=0.6517 | val_loss=0.0159 | val_cc=0.4142 | val_cc_norm=0.5523
epoch   94 | train_loss=0.0130 | train_cc=0.4954 | train_cc_norm=0.6504 | val_loss=0.0158 | val_cc=0.4153 | val_cc_norm=0.5538
epoch   95 | train_loss=0.0129 | train_cc=0.4994 | train_cc_norm=0.6560 | val_loss=0.0160 | val_cc=0.4148 | val_cc_norm=0.5532
epoch   96 | train_loss=0.0129 | train_cc=0.5006 | train_cc_norm=0.6572 | val_loss=0.0159 | val_cc=0.4150 | val_cc_norm=0.5533
epoch   97 | train_loss=0.0128 | train_cc=0.5018 | train_cc_norm=0.6591 | val_loss=0.0158 | val_cc=0.4187 | val_cc_norm=0.5582
epoch   98 | train_loss=0.0128 | train_cc=0.5035 | train_cc_norm=0.6613 | val_loss=0.0158 | val_cc=0.4175 | val_cc_norm=0.5564
epoch   99 | train_loss=0.0129 | train_cc=0.5023 | train_cc_norm=0.6597 | val_loss=0.0157 | val_cc=0.4193 | val_cc_norm=0.5589
epoch  100 | train_loss=0.0128 | train_cc=0.5034 | train_cc_norm=0.6609 | val_loss=0.0157 | val_cc=0.4175 | val_cc_norm=0.5564
epoch  101 | train_loss=0.0128 | train_cc=0.5042 | train_cc_norm=0.6622 | val_loss=0.0156 | val_cc=0.4174 | val_cc_norm=0.5565
epoch  102 | train_loss=0.0128 | train_cc=0.5066 | train_cc_norm=0.6658 | val_loss=0.0159 | val_cc=0.4183 | val_cc_norm=0.5574
epoch  103 | train_loss=0.0127 | train_cc=0.5055 | train_cc_norm=0.6636 | val_loss=0.0156 | val_cc=0.4232 | val_cc_norm=0.5635
epoch  104 | train_loss=0.0127 | train_cc=0.5081 | train_cc_norm=0.6674 | val_loss=0.0156 | val_cc=0.4224 | val_cc_norm=0.5629
epoch  105 | train_loss=0.0127 | train_cc=0.5095 | train_cc_norm=0.6695 | val_loss=0.0159 | val_cc=0.4239 | val_cc_norm=0.5649
epoch  106 | train_loss=0.0127 | train_cc=0.5089 | train_cc_norm=0.6683 | val_loss=0.0157 | val_cc=0.4250 | val_cc_norm=0.5661
epoch  107 | train_loss=0.0126 | train_cc=0.5114 | train_cc_norm=0.6719 | val_loss=0.0156 | val_cc=0.4218 | val_cc_norm=0.5620
epoch  108 | train_loss=0.0126 | train_cc=0.5121 | train_cc_norm=0.6731 | val_loss=0.0156 | val_cc=0.4262 | val_cc_norm=0.5680
epoch  109 | train_loss=0.0126 | train_cc=0.5121 | train_cc_norm=0.6729 | val_loss=0.0157 | val_cc=0.4246 | val_cc_norm=0.5659
epoch  110 | train_loss=0.0126 | train_cc=0.5108 | train_cc_norm=0.6711 | val_loss=0.0156 | val_cc=0.4279 | val_cc_norm=0.5700
epoch  111 | train_loss=0.0126 | train_cc=0.5128 | train_cc_norm=0.6736 | val_loss=0.0155 | val_cc=0.4282 | val_cc_norm=0.5704
epoch  112 | train_loss=0.0125 | train_cc=0.5161 | train_cc_norm=0.6784 | val_loss=0.0157 | val_cc=0.4268 | val_cc_norm=0.5682
epoch  113 | train_loss=0.0125 | train_cc=0.5178 | train_cc_norm=0.6805 | val_loss=0.0156 | val_cc=0.4280 | val_cc_norm=0.5703
epoch  114 | train_loss=0.0125 | train_cc=0.5179 | train_cc_norm=0.6809 | val_loss=0.0155 | val_cc=0.4320 | val_cc_norm=0.5754
epoch  115 | train_loss=0.0124 | train_cc=0.5195 | train_cc_norm=0.6830 | val_loss=0.0155 | val_cc=0.4302 | val_cc_norm=0.5730
epoch  116 | train_loss=0.0125 | train_cc=0.5176 | train_cc_norm=0.6802 | val_loss=0.0157 | val_cc=0.4295 | val_cc_norm=0.5720
epoch  117 | train_loss=0.0124 | train_cc=0.5209 | train_cc_norm=0.6849 | val_loss=0.0155 | val_cc=0.4305 | val_cc_norm=0.5733
epoch  118 | train_loss=0.0124 | train_cc=0.5187 | train_cc_norm=0.6817 | val_loss=0.0156 | val_cc=0.4300 | val_cc_norm=0.5727
epoch  119 | train_loss=0.0124 | train_cc=0.5207 | train_cc_norm=0.6841 | val_loss=0.0155 | val_cc=0.4300 | val_cc_norm=0.5726
epoch  120 | train_loss=0.0123 | train_cc=0.5227 | train_cc_norm=0.6871 | val_loss=0.0153 | val_cc=0.4341 | val_cc_norm=0.5782
epoch  121 | train_loss=0.0123 | train_cc=0.5235 | train_cc_norm=0.6880 | val_loss=0.0156 | val_cc=0.4327 | val_cc_norm=0.5762
epoch  122 | train_loss=0.0123 | train_cc=0.5230 | train_cc_norm=0.6874 | val_loss=0.0155 | val_cc=0.4352 | val_cc_norm=0.5792
epoch  123 | train_loss=0.0123 | train_cc=0.5251 | train_cc_norm=0.6902 | val_loss=0.0155 | val_cc=0.4311 | val_cc_norm=0.5745
epoch  124 | train_loss=0.0123 | train_cc=0.5265 | train_cc_norm=0.6922 | val_loss=0.0155 | val_cc=0.4362 | val_cc_norm=0.5807
epoch  125 | train_loss=0.0123 | train_cc=0.5261 | train_cc_norm=0.6920 | val_loss=0.0154 | val_cc=0.4339 | val_cc_norm=0.5775
epoch  126 | train_loss=0.0122 | train_cc=0.5288 | train_cc_norm=0.6956 | val_loss=0.0152 | val_cc=0.4390 | val_cc_norm=0.5842
epoch  127 | train_loss=0.0122 | train_cc=0.5279 | train_cc_norm=0.6941 | val_loss=0.0156 | val_cc=0.4348 | val_cc_norm=0.5791
epoch  128 | train_loss=0.0122 | train_cc=0.5283 | train_cc_norm=0.6947 | val_loss=0.0153 | val_cc=0.4369 | val_cc_norm=0.5816
epoch  129 | train_loss=0.0121 | train_cc=0.5310 | train_cc_norm=0.6982 | val_loss=0.0152 | val_cc=0.4381 | val_cc_norm=0.5833
epoch  130 | train_loss=0.0121 | train_cc=0.5319 | train_cc_norm=0.6995 | val_loss=0.0154 | val_cc=0.4383 | val_cc_norm=0.5837
epoch  131 | train_loss=0.0121 | train_cc=0.5317 | train_cc_norm=0.6993 | val_loss=0.0153 | val_cc=0.4407 | val_cc_norm=0.5866
epoch  132 | train_loss=0.0121 | train_cc=0.5335 | train_cc_norm=0.7018 | val_loss=0.0152 | val_cc=0.4419 | val_cc_norm=0.5882
epoch  133 | train_loss=0.0121 | train_cc=0.5324 | train_cc_norm=0.7000 | val_loss=0.0153 | val_cc=0.4411 | val_cc_norm=0.5870
epoch  134 | train_loss=0.0121 | train_cc=0.5339 | train_cc_norm=0.7021 | val_loss=0.0153 | val_cc=0.4396 | val_cc_norm=0.5851
epoch  135 | train_loss=0.0120 | train_cc=0.5345 | train_cc_norm=0.7029 | val_loss=0.0154 | val_cc=0.4417 | val_cc_norm=0.5880
epoch  136 | train_loss=0.0120 | train_cc=0.5352 | train_cc_norm=0.7040 | val_loss=0.0151 | val_cc=0.4436 | val_cc_norm=0.5904
epoch  137 | train_loss=0.0120 | train_cc=0.5353 | train_cc_norm=0.7040 | val_loss=0.0152 | val_cc=0.4425 | val_cc_norm=0.5892
epoch  138 | train_loss=0.0121 | train_cc=0.5337 | train_cc_norm=0.7021 | val_loss=0.0152 | val_cc=0.4442 | val_cc_norm=0.5912
epoch  139 | train_loss=0.0121 | train_cc=0.5344 | train_cc_norm=0.7028 | val_loss=0.0150 | val_cc=0.4449 | val_cc_norm=0.5921
epoch  140 | train_loss=0.0119 | train_cc=0.5392 | train_cc_norm=0.7095 | val_loss=0.0152 | val_cc=0.4428 | val_cc_norm=0.5894
epoch  141 | train_loss=0.0119 | train_cc=0.5391 | train_cc_norm=0.7092 | val_loss=0.0151 | val_cc=0.4483 | val_cc_norm=0.5965
epoch  142 | train_loss=0.0119 | train_cc=0.5401 | train_cc_norm=0.7104 | val_loss=0.0153 | val_cc=0.4430 | val_cc_norm=0.5896
epoch  143 | train_loss=0.0119 | train_cc=0.5398 | train_cc_norm=0.7104 | val_loss=0.0151 | val_cc=0.4493 | val_cc_norm=0.5979
epoch  144 | train_loss=0.0119 | train_cc=0.5433 | train_cc_norm=0.7151 | val_loss=0.0153 | val_cc=0.4431 | val_cc_norm=0.5895
epoch  145 | train_loss=0.0119 | train_cc=0.5429 | train_cc_norm=0.7145 | val_loss=0.0151 | val_cc=0.4462 | val_cc_norm=0.5937
epoch  146 | train_loss=0.0119 | train_cc=0.5430 | train_cc_norm=0.7144 | val_loss=0.0150 | val_cc=0.4475 | val_cc_norm=0.5956
epoch  147 | train_loss=0.0118 | train_cc=0.5426 | train_cc_norm=0.7136 | val_loss=0.0152 | val_cc=0.4491 | val_cc_norm=0.5972
epoch  148 | train_loss=0.0118 | train_cc=0.5463 | train_cc_norm=0.7189 | val_loss=0.0150 | val_cc=0.4470 | val_cc_norm=0.5947
epoch  149 | train_loss=0.0118 | train_cc=0.5451 | train_cc_norm=0.7171 | val_loss=0.0150 | val_cc=0.4489 | val_cc_norm=0.5973
epoch  150 | train_loss=0.0118 | train_cc=0.5451 | train_cc_norm=0.7173 | val_loss=0.0151 | val_cc=0.4487 | val_cc_norm=0.5967
epoch  151 | train_loss=0.0118 | train_cc=0.5458 | train_cc_norm=0.7181 | val_loss=0.0151 | val_cc=0.4513 | val_cc_norm=0.6004
epoch  152 | train_loss=0.0117 | train_cc=0.5483 | train_cc_norm=0.7215 | val_loss=0.0150 | val_cc=0.4488 | val_cc_norm=0.5969
epoch  153 | train_loss=0.0117 | train_cc=0.5466 | train_cc_norm=0.7194 | val_loss=0.0152 | val_cc=0.4521 | val_cc_norm=0.6015
epoch  154 | train_loss=0.0117 | train_cc=0.5493 | train_cc_norm=0.7229 | val_loss=0.0150 | val_cc=0.4496 | val_cc_norm=0.5980
epoch  155 | train_loss=0.0117 | train_cc=0.5496 | train_cc_norm=0.7233 | val_loss=0.0149 | val_cc=0.4520 | val_cc_norm=0.6014
epoch  156 | train_loss=0.0117 | train_cc=0.5490 | train_cc_norm=0.7224 | val_loss=0.0150 | val_cc=0.4527 | val_cc_norm=0.6023
epoch  157 | train_loss=0.0116 | train_cc=0.5506 | train_cc_norm=0.7246 | val_loss=0.0150 | val_cc=0.4524 | val_cc_norm=0.6019
epoch  158 | train_loss=0.0116 | train_cc=0.5511 | train_cc_norm=0.7254 | val_loss=0.0150 | val_cc=0.4521 | val_cc_norm=0.6016
epoch  159 | train_loss=0.0116 | train_cc=0.5511 | train_cc_norm=0.7254 | val_loss=0.0151 | val_cc=0.4531 | val_cc_norm=0.6028
epoch  160 | train_loss=0.0116 | train_cc=0.5522 | train_cc_norm=0.7272 | val_loss=0.0149 | val_cc=0.4549 | val_cc_norm=0.6051
epoch  161 | train_loss=0.0116 | train_cc=0.5537 | train_cc_norm=0.7287 | val_loss=0.0150 | val_cc=0.4545 | val_cc_norm=0.6045
epoch  162 | train_loss=0.0116 | train_cc=0.5521 | train_cc_norm=0.7264 | val_loss=0.0149 | val_cc=0.4545 | val_cc_norm=0.6046
epoch  163 | train_loss=0.0116 | train_cc=0.5530 | train_cc_norm=0.7279 | val_loss=0.0149 | val_cc=0.4526 | val_cc_norm=0.6018
epoch  164 | train_loss=0.0116 | train_cc=0.5540 | train_cc_norm=0.7293 | val_loss=0.0149 | val_cc=0.4587 | val_cc_norm=0.6098
epoch  165 | train_loss=0.0115 | train_cc=0.5560 | train_cc_norm=0.7320 | val_loss=0.0150 | val_cc=0.4551 | val_cc_norm=0.6052
epoch  166 | train_loss=0.0115 | train_cc=0.5561 | train_cc_norm=0.7320 | val_loss=0.0148 | val_cc=0.4576 | val_cc_norm=0.6086
epoch  167 | train_loss=0.0115 | train_cc=0.5580 | train_cc_norm=0.7348 | val_loss=0.0149 | val_cc=0.4560 | val_cc_norm=0.6064
epoch  168 | train_loss=0.0115 | train_cc=0.5583 | train_cc_norm=0.7351 | val_loss=0.0148 | val_cc=0.4570 | val_cc_norm=0.6073
epoch  169 | train_loss=0.0114 | train_cc=0.5589 | train_cc_norm=0.7357 | val_loss=0.0149 | val_cc=0.4596 | val_cc_norm=0.6112
epoch  170 | train_loss=0.0114 | train_cc=0.5598 | train_cc_norm=0.7369 | val_loss=0.0149 | val_cc=0.4588 | val_cc_norm=0.6100
epoch  171 | train_loss=0.0114 | train_cc=0.5593 | train_cc_norm=0.7360 | val_loss=0.0149 | val_cc=0.4585 | val_cc_norm=0.6096
epoch  172 | train_loss=0.0114 | train_cc=0.5587 | train_cc_norm=0.7354 | val_loss=0.0148 | val_cc=0.4610 | val_cc_norm=0.6129
epoch  173 | train_loss=0.0114 | train_cc=0.5614 | train_cc_norm=0.7392 | val_loss=0.0148 | val_cc=0.4604 | val_cc_norm=0.6123
epoch  174 | train_loss=0.0114 | train_cc=0.5623 | train_cc_norm=0.7406 | val_loss=0.0148 | val_cc=0.4595 | val_cc_norm=0.6108
epoch  175 | train_loss=0.0113 | train_cc=0.5633 | train_cc_norm=0.7418 | val_loss=0.0147 | val_cc=0.4606 | val_cc_norm=0.6125
epoch  176 | train_loss=0.0113 | train_cc=0.5635 | train_cc_norm=0.7415 | val_loss=0.0148 | val_cc=0.4596 | val_cc_norm=0.6110
epoch  177 | train_loss=0.0113 | train_cc=0.5628 | train_cc_norm=0.7408 | val_loss=0.0149 | val_cc=0.4623 | val_cc_norm=0.6146
epoch  178 | train_loss=0.0113 | train_cc=0.5634 | train_cc_norm=0.7416 | val_loss=0.0148 | val_cc=0.4589 | val_cc_norm=0.6098
epoch  179 | train_loss=0.0113 | train_cc=0.5637 | train_cc_norm=0.7425 | val_loss=0.0147 | val_cc=0.4627 | val_cc_norm=0.6151
epoch  180 | train_loss=0.0113 | train_cc=0.5660 | train_cc_norm=0.7454 | val_loss=0.0146 | val_cc=0.4643 | val_cc_norm=0.6173
epoch  181 | train_loss=0.0112 | train_cc=0.5668 | train_cc_norm=0.7466 | val_loss=0.0147 | val_cc=0.4630 | val_cc_norm=0.6153
epoch  182 | train_loss=0.0112 | train_cc=0.5675 | train_cc_norm=0.7475 | val_loss=0.0147 | val_cc=0.4633 | val_cc_norm=0.6159
epoch  183 | train_loss=0.0113 | train_cc=0.5668 | train_cc_norm=0.7463 | val_loss=0.0146 | val_cc=0.4633 | val_cc_norm=0.6159
epoch  184 | train_loss=0.0112 | train_cc=0.5678 | train_cc_norm=0.7478 | val_loss=0.0147 | val_cc=0.4636 | val_cc_norm=0.6162
epoch  185 | train_loss=0.0112 | train_cc=0.5681 | train_cc_norm=0.7482 | val_loss=0.0145 | val_cc=0.4623 | val_cc_norm=0.6144
epoch  186 | train_loss=0.0112 | train_cc=0.5677 | train_cc_norm=0.7476 | val_loss=0.0148 | val_cc=0.4641 | val_cc_norm=0.6172
epoch  187 | train_loss=0.0112 | train_cc=0.5683 | train_cc_norm=0.7482 | val_loss=0.0146 | val_cc=0.4652 | val_cc_norm=0.6182
epoch  188 | train_loss=0.0112 | train_cc=0.5699 | train_cc_norm=0.7506 | val_loss=0.0146 | val_cc=0.4666 | val_cc_norm=0.6204
epoch  189 | train_loss=0.0112 | train_cc=0.5699 | train_cc_norm=0.7508 | val_loss=0.0146 | val_cc=0.4658 | val_cc_norm=0.6193
epoch  190 | train_loss=0.0111 | train_cc=0.5716 | train_cc_norm=0.7527 | val_loss=0.0147 | val_cc=0.4660 | val_cc_norm=0.6193
epoch  191 | train_loss=0.0111 | train_cc=0.5725 | train_cc_norm=0.7542 | val_loss=0.0146 | val_cc=0.4679 | val_cc_norm=0.6219
epoch  192 | train_loss=0.0111 | train_cc=0.5715 | train_cc_norm=0.7527 | val_loss=0.0147 | val_cc=0.4671 | val_cc_norm=0.6208
epoch  193 | train_loss=0.0111 | train_cc=0.5720 | train_cc_norm=0.7535 | val_loss=0.0147 | val_cc=0.4656 | val_cc_norm=0.6188
epoch  194 | train_loss=0.0111 | train_cc=0.5731 | train_cc_norm=0.7548 | val_loss=0.0147 | val_cc=0.4690 | val_cc_norm=0.6234
epoch  195 | train_loss=0.0110 | train_cc=0.5744 | train_cc_norm=0.7566 | val_loss=0.0147 | val_cc=0.4684 | val_cc_norm=0.6226
epoch  196 | train_loss=0.0111 | train_cc=0.5720 | train_cc_norm=0.7531 | val_loss=0.0145 | val_cc=0.4681 | val_cc_norm=0.6219
epoch  197 | train_loss=0.0111 | train_cc=0.5734 | train_cc_norm=0.7553 | val_loss=0.0145 | val_cc=0.4685 | val_cc_norm=0.6224
epoch  198 | train_loss=0.0110 | train_cc=0.5748 | train_cc_norm=0.7572 | val_loss=0.0146 | val_cc=0.4676 | val_cc_norm=0.6215
epoch  199 | train_loss=0.0111 | train_cc=0.5745 | train_cc_norm=0.7567 | val_loss=0.0146 | val_cc=0.4676 | val_cc_norm=0.6212
epoch  200 | train_loss=0.0111 | train_cc=0.5743 | train_cc_norm=0.7567 | val_loss=0.0145 | val_cc=0.4667 | val_cc_norm=0.6201
epoch  201 | train_loss=0.0110 | train_cc=0.5754 | train_cc_norm=0.7581 | val_loss=0.0144 | val_cc=0.4685 | val_cc_norm=0.6225
epoch  202 | train_loss=0.0110 | train_cc=0.5767 | train_cc_norm=0.7597 | val_loss=0.0147 | val_cc=0.4695 | val_cc_norm=0.6237
epoch  203 | train_loss=0.0110 | train_cc=0.5754 | train_cc_norm=0.7581 | val_loss=0.0147 | val_cc=0.4714 | val_cc_norm=0.6265
epoch  204 | train_loss=0.0110 | train_cc=0.5770 | train_cc_norm=0.7603 | val_loss=0.0145 | val_cc=0.4693 | val_cc_norm=0.6236
epoch  205 | train_loss=0.0110 | train_cc=0.5771 | train_cc_norm=0.7603 | val_loss=0.0147 | val_cc=0.4692 | val_cc_norm=0.6234
epoch  206 | train_loss=0.0109 | train_cc=0.5781 | train_cc_norm=0.7613 | val_loss=0.0144 | val_cc=0.4714 | val_cc_norm=0.6262
epoch  207 | train_loss=0.0109 | train_cc=0.5802 | train_cc_norm=0.7645 | val_loss=0.0145 | val_cc=0.4704 | val_cc_norm=0.6250
epoch  208 | train_loss=0.0109 | train_cc=0.5808 | train_cc_norm=0.7653 | val_loss=0.0144 | val_cc=0.4713 | val_cc_norm=0.6261
epoch  209 | train_loss=0.0109 | train_cc=0.5805 | train_cc_norm=0.7647 | val_loss=0.0144 | val_cc=0.4717 | val_cc_norm=0.6267
epoch  210 | train_loss=0.0109 | train_cc=0.5809 | train_cc_norm=0.7654 | val_loss=0.0146 | val_cc=0.4715 | val_cc_norm=0.6264
epoch  211 | train_loss=0.0109 | train_cc=0.5802 | train_cc_norm=0.7643 | val_loss=0.0144 | val_cc=0.4708 | val_cc_norm=0.6252
epoch  212 | train_loss=0.0109 | train_cc=0.5811 | train_cc_norm=0.7657 | val_loss=0.0145 | val_cc=0.4713 | val_cc_norm=0.6260
epoch  213 | train_loss=0.0109 | train_cc=0.5817 | train_cc_norm=0.7663 | val_loss=0.0145 | val_cc=0.4727 | val_cc_norm=0.6279
epoch  214 | train_loss=0.0109 | train_cc=0.5817 | train_cc_norm=0.7663 | val_loss=0.0146 | val_cc=0.4726 | val_cc_norm=0.6280
epoch  215 | train_loss=0.0109 | train_cc=0.5811 | train_cc_norm=0.7655 | val_loss=0.0145 | val_cc=0.4721 | val_cc_norm=0.6269
epoch  216 | train_loss=0.0108 | train_cc=0.5824 | train_cc_norm=0.7674 | val_loss=0.0144 | val_cc=0.4722 | val_cc_norm=0.6271
epoch  217 | train_loss=0.0108 | train_cc=0.5833 | train_cc_norm=0.7684 | val_loss=0.0144 | val_cc=0.4745 | val_cc_norm=0.6305
epoch  218 | train_loss=0.0108 | train_cc=0.5831 | train_cc_norm=0.7682 | val_loss=0.0146 | val_cc=0.4729 | val_cc_norm=0.6282
epoch  219 | train_loss=0.0108 | train_cc=0.5842 | train_cc_norm=0.7698 | val_loss=0.0146 | val_cc=0.4737 | val_cc_norm=0.6291
epoch  220 | train_loss=0.0108 | train_cc=0.5837 | train_cc_norm=0.7689 | val_loss=0.0144 | val_cc=0.4754 | val_cc_norm=0.6315
epoch  221 | train_loss=0.0108 | train_cc=0.5842 | train_cc_norm=0.7698 | val_loss=0.0144 | val_cc=0.4748 | val_cc_norm=0.6306
epoch  222 | train_loss=0.0108 | train_cc=0.5859 | train_cc_norm=0.7721 | val_loss=0.0144 | val_cc=0.4739 | val_cc_norm=0.6296
epoch  223 | train_loss=0.0107 | train_cc=0.5857 | train_cc_norm=0.7718 | val_loss=0.0145 | val_cc=0.4734 | val_cc_norm=0.6288
epoch  224 | train_loss=0.0107 | train_cc=0.5880 | train_cc_norm=0.7750 | val_loss=0.0144 | val_cc=0.4742 | val_cc_norm=0.6299
epoch  225 | train_loss=0.0107 | train_cc=0.5864 | train_cc_norm=0.7728 | val_loss=0.0145 | val_cc=0.4771 | val_cc_norm=0.6337
epoch  226 | train_loss=0.0108 | train_cc=0.5841 | train_cc_norm=0.7698 | val_loss=0.0145 | val_cc=0.4727 | val_cc_norm=0.6278
epoch  227 | train_loss=0.0107 | train_cc=0.5866 | train_cc_norm=0.7730 | val_loss=0.0145 | val_cc=0.4738 | val_cc_norm=0.6293
epoch  228 | train_loss=0.0107 | train_cc=0.5870 | train_cc_norm=0.7734 | val_loss=0.0146 | val_cc=0.4741 | val_cc_norm=0.6294
epoch  229 | train_loss=0.0107 | train_cc=0.5869 | train_cc_norm=0.7733 | val_loss=0.0145 | val_cc=0.4741 | val_cc_norm=0.6300
epoch  230 | train_loss=0.0107 | train_cc=0.5850 | train_cc_norm=0.7704 | val_loss=0.0144 | val_cc=0.4746 | val_cc_norm=0.6300
epoch  231 | train_loss=0.0106 | train_cc=0.5888 | train_cc_norm=0.7756 | val_loss=0.0144 | val_cc=0.4767 | val_cc_norm=0.6334
epoch  232 | train_loss=0.0106 | train_cc=0.5902 | train_cc_norm=0.7779 | val_loss=0.0145 | val_cc=0.4763 | val_cc_norm=0.6326
epoch  233 | train_loss=0.0106 | train_cc=0.5878 | train_cc_norm=0.7743 | val_loss=0.0145 | val_cc=0.4751 | val_cc_norm=0.6310
epoch  234 | train_loss=0.0106 | train_cc=0.5892 | train_cc_norm=0.7765 | val_loss=0.0146 | val_cc=0.4767 | val_cc_norm=0.6332
epoch  235 | train_loss=0.0106 | train_cc=0.5890 | train_cc_norm=0.7760 | val_loss=0.0146 | val_cc=0.4757 | val_cc_norm=0.6318
epoch  236 | train_loss=0.0106 | train_cc=0.5888 | train_cc_norm=0.7757 | val_loss=0.0145 | val_cc=0.4752 | val_cc_norm=0.6313
epoch  237 | train_loss=0.0106 | train_cc=0.5893 | train_cc_norm=0.7767 | val_loss=0.0146 | val_cc=0.4763 | val_cc_norm=0.6325
epoch  238 | train_loss=0.0106 | train_cc=0.5894 | train_cc_norm=0.7769 | val_loss=0.0145 | val_cc=0.4752 | val_cc_norm=0.6310
epoch  239 | train_loss=0.0106 | train_cc=0.5904 | train_cc_norm=0.7781 | val_loss=0.0143 | val_cc=0.4749 | val_cc_norm=0.6305
epoch  240 | train_loss=0.0106 | train_cc=0.5898 | train_cc_norm=0.7771 | val_loss=0.0145 | val_cc=0.4762 | val_cc_norm=0.6326
epoch  241 | train_loss=0.0106 | train_cc=0.5919 | train_cc_norm=0.7802 | val_loss=0.0145 | val_cc=0.4743 | val_cc_norm=0.6298
epoch  242 | train_loss=0.0106 | train_cc=0.5923 | train_cc_norm=0.7805 | val_loss=0.0144 | val_cc=0.4773 | val_cc_norm=0.6338
epoch  243 | train_loss=0.0106 | train_cc=0.5925 | train_cc_norm=0.7809 | val_loss=0.0144 | val_cc=0.4764 | val_cc_norm=0.6325
epoch  244 | train_loss=0.0106 | train_cc=0.5903 | train_cc_norm=0.7779 | val_loss=0.0143 | val_cc=0.4776 | val_cc_norm=0.6342
epoch  245 | train_loss=0.0106 | train_cc=0.5919 | train_cc_norm=0.7799 | val_loss=0.0143 | val_cc=0.4773 | val_cc_norm=0.6339
epoch  246 | train_loss=0.0106 | train_cc=0.5910 | train_cc_norm=0.7786 | val_loss=0.0143 | val_cc=0.4783 | val_cc_norm=0.6351
epoch  247 | train_loss=0.0105 | train_cc=0.5932 | train_cc_norm=0.7816 | val_loss=0.0146 | val_cc=0.4770 | val_cc_norm=0.6335
epoch  248 | train_loss=0.0106 | train_cc=0.5912 | train_cc_norm=0.7790 | val_loss=0.0144 | val_cc=0.4792 | val_cc_norm=0.6366
epoch  249 | train_loss=0.0105 | train_cc=0.5938 | train_cc_norm=0.7827 | val_loss=0.0145 | val_cc=0.4780 | val_cc_norm=0.6352
epoch  250 | train_loss=0.0105 | train_cc=0.5939 | train_cc_norm=0.7828 | val_loss=0.0146 | val_cc=0.4772 | val_cc_norm=0.6338
epoch  251 | train_loss=0.0105 | train_cc=0.5931 | train_cc_norm=0.7815 | val_loss=0.0144 | val_cc=0.4791 | val_cc_norm=0.6361
epoch  252 | train_loss=0.0105 | train_cc=0.5949 | train_cc_norm=0.7839 | val_loss=0.0144 | val_cc=0.4765 | val_cc_norm=0.6326
epoch  253 | train_loss=0.0105 | train_cc=0.5953 | train_cc_norm=0.7847 | val_loss=0.0144 | val_cc=0.4769 | val_cc_norm=0.6334
epoch  254 | train_loss=0.0105 | train_cc=0.5953 | train_cc_norm=0.7845 | val_loss=0.0145 | val_cc=0.4774 | val_cc_norm=0.6340
epoch  255 | train_loss=0.0104 | train_cc=0.5961 | train_cc_norm=0.7857 | val_loss=0.0143 | val_cc=0.4789 | val_cc_norm=0.6361
epoch  256 | train_loss=0.0104 | train_cc=0.5975 | train_cc_norm=0.7876 | val_loss=0.0145 | val_cc=0.4788 | val_cc_norm=0.6361
epoch  257 | train_loss=0.0104 | train_cc=0.5967 | train_cc_norm=0.7864 | val_loss=0.0144 | val_cc=0.4773 | val_cc_norm=0.6336
epoch  258 | train_loss=0.0104 | train_cc=0.5966 | train_cc_norm=0.7863 | val_loss=0.0144 | val_cc=0.4767 | val_cc_norm=0.6327
epoch  259 | train_loss=0.0104 | train_cc=0.5979 | train_cc_norm=0.7884 | val_loss=0.0146 | val_cc=0.4771 | val_cc_norm=0.6332
epoch  260 | train_loss=0.0104 | train_cc=0.5974 | train_cc_norm=0.7874 | val_loss=0.0144 | val_cc=0.4777 | val_cc_norm=0.6342
epoch  261 | train_loss=0.0104 | train_cc=0.5969 | train_cc_norm=0.7867 | val_loss=0.0145 | val_cc=0.4780 | val_cc_norm=0.6346
epoch  262 | train_loss=0.0104 | train_cc=0.5972 | train_cc_norm=0.7872 | val_loss=0.0144 | val_cc=0.4793 | val_cc_norm=0.6363
epoch  263 | train_loss=0.0104 | train_cc=0.5974 | train_cc_norm=0.7876 | val_loss=0.0145 | val_cc=0.4779 | val_cc_norm=0.6345
epoch  264 | train_loss=0.0104 | train_cc=0.5971 | train_cc_norm=0.7868 | val_loss=0.0144 | val_cc=0.4797 | val_cc_norm=0.6370
epoch  265 | train_loss=0.0104 | train_cc=0.5992 | train_cc_norm=0.7901 | val_loss=0.0143 | val_cc=0.4785 | val_cc_norm=0.6354
epoch  266 | train_loss=0.0104 | train_cc=0.5986 | train_cc_norm=0.7890 | val_loss=0.0144 | val_cc=0.4784 | val_cc_norm=0.6351
epoch  267 | train_loss=0.0104 | train_cc=0.5980 | train_cc_norm=0.7883 | val_loss=0.0144 | val_cc=0.4791 | val_cc_norm=0.6361
epoch  268 | train_loss=0.0104 | train_cc=0.5973 | train_cc_norm=0.7871 | val_loss=0.0144 | val_cc=0.4794 | val_cc_norm=0.6368
epoch  269 | train_loss=0.0103 | train_cc=0.5998 | train_cc_norm=0.7906 | val_loss=0.0144 | val_cc=0.4787 | val_cc_norm=0.6354
epoch  270 | train_loss=0.0103 | train_cc=0.6001 | train_cc_norm=0.7908 | val_loss=0.0143 | val_cc=0.4795 | val_cc_norm=0.6366
epoch  271 | train_loss=0.0103 | train_cc=0.6009 | train_cc_norm=0.7920 | val_loss=0.0143 | val_cc=0.4788 | val_cc_norm=0.6355
epoch  272 | train_loss=0.0103 | train_cc=0.5995 | train_cc_norm=0.7901 | val_loss=0.0145 | val_cc=0.4775 | val_cc_norm=0.6342
epoch  273 | train_loss=0.0103 | train_cc=0.6009 | train_cc_norm=0.7920 | val_loss=0.0144 | val_cc=0.4791 | val_cc_norm=0.6362
epoch  274 | train_loss=0.0103 | train_cc=0.6001 | train_cc_norm=0.7910 | val_loss=0.0143 | val_cc=0.4775 | val_cc_norm=0.6338
epoch  275 | train_loss=0.0103 | train_cc=0.6005 | train_cc_norm=0.7916 | val_loss=0.0145 | val_cc=0.4790 | val_cc_norm=0.6357
epoch  276 | train_loss=0.0103 | train_cc=0.6011 | train_cc_norm=0.7924 | val_loss=0.0142 | val_cc=0.4800 | val_cc_norm=0.6376
epoch  277 | train_loss=0.0103 | train_cc=0.6018 | train_cc_norm=0.7934 | val_loss=0.0143 | val_cc=0.4791 | val_cc_norm=0.6360
epoch  278 | train_loss=0.0103 | train_cc=0.6014 | train_cc_norm=0.7929 | val_loss=0.0143 | val_cc=0.4781 | val_cc_norm=0.6347
epoch  279 | train_loss=0.0102 | train_cc=0.6033 | train_cc_norm=0.7953 | val_loss=0.0145 | val_cc=0.4797 | val_cc_norm=0.6369
epoch  280 | train_loss=0.0103 | train_cc=0.6015 | train_cc_norm=0.7926 | val_loss=0.0143 | val_cc=0.4799 | val_cc_norm=0.6370
epoch  281 | train_loss=0.0102 | train_cc=0.6021 | train_cc_norm=0.7932 | val_loss=0.0145 | val_cc=0.4783 | val_cc_norm=0.6350
epoch  282 | train_loss=0.0102 | train_cc=0.6043 | train_cc_norm=0.7965 | val_loss=0.0144 | val_cc=0.4779 | val_cc_norm=0.6344
epoch  283 | train_loss=0.0102 | train_cc=0.6026 | train_cc_norm=0.7942 | val_loss=0.0143 | val_cc=0.4787 | val_cc_norm=0.6353
epoch  284 | train_loss=0.0102 | train_cc=0.6034 | train_cc_norm=0.7954 | val_loss=0.0143 | val_cc=0.4794 | val_cc_norm=0.6364
epoch  285 | train_loss=0.0102 | train_cc=0.6023 | train_cc_norm=0.7939 | val_loss=0.0145 | val_cc=0.4785 | val_cc_norm=0.6348
epoch  286 | train_loss=0.0102 | train_cc=0.6039 | train_cc_norm=0.7960 | val_loss=0.0143 | val_cc=0.4779 | val_cc_norm=0.6346
epoch  287 | train_loss=0.0102 | train_cc=0.6040 | train_cc_norm=0.7962 | val_loss=0.0143 | val_cc=0.4812 | val_cc_norm=0.6388
epoch  288 | train_loss=0.0102 | train_cc=0.6040 | train_cc_norm=0.7961 | val_loss=0.0145 | val_cc=0.4811 | val_cc_norm=0.6390
epoch  289 | train_loss=0.0102 | train_cc=0.6038 | train_cc_norm=0.7959 | val_loss=0.0144 | val_cc=0.4792 | val_cc_norm=0.6363
epoch  290 | train_loss=0.0102 | train_cc=0.6034 | train_cc_norm=0.7952 | val_loss=0.0143 | val_cc=0.4784 | val_cc_norm=0.6349
epoch  291 | train_loss=0.0102 | train_cc=0.6062 | train_cc_norm=0.7994 | val_loss=0.0143 | val_cc=0.4784 | val_cc_norm=0.6349
epoch  292 | train_loss=0.0102 | train_cc=0.6053 | train_cc_norm=0.7980 | val_loss=0.0144 | val_cc=0.4782 | val_cc_norm=0.6347
epoch  293 | train_loss=0.0101 | train_cc=0.6072 | train_cc_norm=0.8004 | val_loss=0.0144 | val_cc=0.4785 | val_cc_norm=0.6351
epoch  294 | train_loss=0.0101 | train_cc=0.6067 | train_cc_norm=0.8000 | val_loss=0.0144 | val_cc=0.4791 | val_cc_norm=0.6360
epoch  295 | train_loss=0.0101 | train_cc=0.6067 | train_cc_norm=0.7997 | val_loss=0.0144 | val_cc=0.4808 | val_cc_norm=0.6383
epoch  296 | train_loss=0.0101 | train_cc=0.6064 | train_cc_norm=0.7994 | val_loss=0.0144 | val_cc=0.4805 | val_cc_norm=0.6377
epoch  297 | train_loss=0.0102 | train_cc=0.6039 | train_cc_norm=0.7959 | val_loss=0.0142 | val_cc=0.4780 | val_cc_norm=0.6343
epoch  298 | train_loss=0.0101 | train_cc=0.6069 | train_cc_norm=0.7999 | val_loss=0.0145 | val_cc=0.4786 | val_cc_norm=0.6351
epoch  299 | train_loss=0.0102 | train_cc=0.6060 | train_cc_norm=0.7990 | val_loss=0.0145 | val_cc=0.4806 | val_cc_norm=0.6379
epoch  300 | train_loss=0.0101 | train_cc=0.6069 | train_cc_norm=0.8000 | val_loss=0.0143 | val_cc=0.4807 | val_cc_norm=0.6378
epoch  301 | train_loss=0.0101 | train_cc=0.6059 | train_cc_norm=0.7987 | val_loss=0.0144 | val_cc=0.4787 | val_cc_norm=0.6352
epoch  302 | train_loss=0.0101 | train_cc=0.6077 | train_cc_norm=0.8011 | val_loss=0.0143 | val_cc=0.4785 | val_cc_norm=0.6348
epoch  303 | train_loss=0.0101 | train_cc=0.6079 | train_cc_norm=0.8015 | val_loss=0.0143 | val_cc=0.4814 | val_cc_norm=0.6388
epoch  304 | train_loss=0.0100 | train_cc=0.6096 | train_cc_norm=0.8037 | val_loss=0.0142 | val_cc=0.4813 | val_cc_norm=0.6389
epoch  305 | train_loss=0.0100 | train_cc=0.6093 | train_cc_norm=0.8032 | val_loss=0.0143 | val_cc=0.4803 | val_cc_norm=0.6373
epoch  306 | train_loss=0.0101 | train_cc=0.6089 | train_cc_norm=0.8027 | val_loss=0.0143 | val_cc=0.4806 | val_cc_norm=0.6378
epoch  307 | train_loss=0.0101 | train_cc=0.6085 | train_cc_norm=0.8022 | val_loss=0.0142 | val_cc=0.4800 | val_cc_norm=0.6369
epoch  308 | train_loss=0.0101 | train_cc=0.6080 | train_cc_norm=0.8014 | val_loss=0.0144 | val_cc=0.4804 | val_cc_norm=0.6376
epoch  309 | train_loss=0.0101 | train_cc=0.6081 | train_cc_norm=0.8016 | val_loss=0.0143 | val_cc=0.4803 | val_cc_norm=0.6373
epoch  310 | train_loss=0.0101 | train_cc=0.6074 | train_cc_norm=0.8007 | val_loss=0.0142 | val_cc=0.4805 | val_cc_norm=0.6376
epoch  311 | train_loss=0.0100 | train_cc=0.6096 | train_cc_norm=0.8038 | val_loss=0.0145 | val_cc=0.4794 | val_cc_norm=0.6362
epoch  312 | train_loss=0.0101 | train_cc=0.6086 | train_cc_norm=0.8024 | val_loss=0.0144 | val_cc=0.4820 | val_cc_norm=0.6398
epoch  313 | train_loss=0.0101 | train_cc=0.6082 | train_cc_norm=0.8017 | val_loss=0.0142 | val_cc=0.4796 | val_cc_norm=0.6362
epoch  314 | train_loss=0.0101 | train_cc=0.6085 | train_cc_norm=0.8020 | val_loss=0.0142 | val_cc=0.4803 | val_cc_norm=0.6373
epoch  315 | train_loss=0.0100 | train_cc=0.6099 | train_cc_norm=0.8042 | val_loss=0.0145 | val_cc=0.4791 | val_cc_norm=0.6356
epoch  316 | train_loss=0.0100 | train_cc=0.6102 | train_cc_norm=0.8044 | val_loss=0.0144 | val_cc=0.4797 | val_cc_norm=0.6365
epoch  317 | train_loss=0.0100 | train_cc=0.6109 | train_cc_norm=0.8050 | val_loss=0.0144 | val_cc=0.4792 | val_cc_norm=0.6358
epoch  318 | train_loss=0.0100 | train_cc=0.6098 | train_cc_norm=0.8038 | val_loss=0.0144 | val_cc=0.4799 | val_cc_norm=0.6364
epoch  319 | train_loss=0.0100 | train_cc=0.6127 | train_cc_norm=0.8078 | val_loss=0.0144 | val_cc=0.4804 | val_cc_norm=0.6372
epoch  320 | train_loss=0.0100 | train_cc=0.6116 | train_cc_norm=0.8062 | val_loss=0.0143 | val_cc=0.4803 | val_cc_norm=0.6374
epoch  321 | train_loss=0.0100 | train_cc=0.6121 | train_cc_norm=0.8071 | val_loss=0.0144 | val_cc=0.4801 | val_cc_norm=0.6368
epoch  322 | train_loss=0.0099 | train_cc=0.6128 | train_cc_norm=0.8080 | val_loss=0.0142 | val_cc=0.4797 | val_cc_norm=0.6362
epoch  323 | train_loss=0.0099 | train_cc=0.6124 | train_cc_norm=0.8074 | val_loss=0.0143 | val_cc=0.4814 | val_cc_norm=0.6386
epoch  324 | train_loss=0.0099 | train_cc=0.6120 | train_cc_norm=0.8070 | val_loss=0.0144 | val_cc=0.4800 | val_cc_norm=0.6366
epoch  325 | train_loss=0.0099 | train_cc=0.6127 | train_cc_norm=0.8078 | val_loss=0.0144 | val_cc=0.4807 | val_cc_norm=0.6377
epoch  326 | train_loss=0.0099 | train_cc=0.6125 | train_cc_norm=0.8075 | val_loss=0.0143 | val_cc=0.4816 | val_cc_norm=0.6388
epoch  327 | train_loss=0.0099 | train_cc=0.6135 | train_cc_norm=0.8090 | val_loss=0.0143 | val_cc=0.4797 | val_cc_norm=0.6361
epoch  328 | train_loss=0.0099 | train_cc=0.6135 | train_cc_norm=0.8088 | val_loss=0.0144 | val_cc=0.4796 | val_cc_norm=0.6359
epoch  329 | train_loss=0.0099 | train_cc=0.6146 | train_cc_norm=0.8104 | val_loss=0.0143 | val_cc=0.4807 | val_cc_norm=0.6378
epoch  330 | train_loss=0.0099 | train_cc=0.6136 | train_cc_norm=0.8093 | val_loss=0.0144 | val_cc=0.4802 | val_cc_norm=0.6368
epoch  331 | train_loss=0.0099 | train_cc=0.6133 | train_cc_norm=0.8088 | val_loss=0.0143 | val_cc=0.4794 | val_cc_norm=0.6358
epoch  332 | train_loss=0.0099 | train_cc=0.6146 | train_cc_norm=0.8105 | val_loss=0.0143 | val_cc=0.4793 | val_cc_norm=0.6355
epoch  333 | train_loss=0.0099 | train_cc=0.6129 | train_cc_norm=0.8081 | val_loss=0.0142 | val_cc=0.4815 | val_cc_norm=0.6386
epoch  334 | train_loss=0.0099 | train_cc=0.6126 | train_cc_norm=0.8076 | val_loss=0.0143 | val_cc=0.4795 | val_cc_norm=0.6353
epoch  335 | train_loss=0.0099 | train_cc=0.6145 | train_cc_norm=0.8103 | val_loss=0.0143 | val_cc=0.4802 | val_cc_norm=0.6368
epoch  336 | train_loss=0.0099 | train_cc=0.6148 | train_cc_norm=0.8107 | val_loss=0.0143 | val_cc=0.4816 | val_cc_norm=0.6385
epoch  337 | train_loss=0.0099 | train_cc=0.6156 | train_cc_norm=0.8116 | val_loss=0.0142 | val_cc=0.4810 | val_cc_norm=0.6383
epoch  338 | train_loss=0.0099 | train_cc=0.6146 | train_cc_norm=0.8106 | val_loss=0.0144 | val_cc=0.4786 | val_cc_norm=0.6343
epoch  339 | train_loss=0.0099 | train_cc=0.6143 | train_cc_norm=0.8101 | val_loss=0.0144 | val_cc=0.4805 | val_cc_norm=0.6372
epoch  340 | train_loss=0.0099 | train_cc=0.6156 | train_cc_norm=0.8120 | val_loss=0.0143 | val_cc=0.4804 | val_cc_norm=0.6368
epoch  341 | train_loss=0.0099 | train_cc=0.6152 | train_cc_norm=0.8112 | val_loss=0.0144 | val_cc=0.4813 | val_cc_norm=0.6382
epoch  342 | train_loss=0.0099 | train_cc=0.6153 | train_cc_norm=0.8113 | val_loss=0.0142 | val_cc=0.4828 | val_cc_norm=0.6401
epoch  343 | train_loss=0.0098 | train_cc=0.6159 | train_cc_norm=0.8121 | val_loss=0.0144 | val_cc=0.4813 | val_cc_norm=0.6384
epoch  344 | train_loss=0.0098 | train_cc=0.6168 | train_cc_norm=0.8134 | val_loss=0.0144 | val_cc=0.4828 | val_cc_norm=0.6404
epoch  345 | train_loss=0.0098 | train_cc=0.6178 | train_cc_norm=0.8146 | val_loss=0.0144 | val_cc=0.4797 | val_cc_norm=0.6362
epoch  346 | train_loss=0.0098 | train_cc=0.6175 | train_cc_norm=0.8142 | val_loss=0.0142 | val_cc=0.4801 | val_cc_norm=0.6366
epoch  347 | train_loss=0.0098 | train_cc=0.6180 | train_cc_norm=0.8148 | val_loss=0.0143 | val_cc=0.4803 | val_cc_norm=0.6369
epoch  348 | train_loss=0.0098 | train_cc=0.6181 | train_cc_norm=0.8153 | val_loss=0.0143 | val_cc=0.4805 | val_cc_norm=0.6374
epoch  349 | train_loss=0.0098 | train_cc=0.6172 | train_cc_norm=0.8137 | val_loss=0.0143 | val_cc=0.4810 | val_cc_norm=0.6377
epoch  350 | train_loss=0.0098 | train_cc=0.6173 | train_cc_norm=0.8140 | val_loss=0.0142 | val_cc=0.4802 | val_cc_norm=0.6367
epoch  351 | train_loss=0.0098 | train_cc=0.6177 | train_cc_norm=0.8144 | val_loss=0.0142 | val_cc=0.4802 | val_cc_norm=0.6366
epoch  352 | train_loss=0.0098 | train_cc=0.6182 | train_cc_norm=0.8149 | val_loss=0.0144 | val_cc=0.4817 | val_cc_norm=0.6385
epoch  353 | train_loss=0.0098 | train_cc=0.6179 | train_cc_norm=0.8147 | val_loss=0.0142 | val_cc=0.4805 | val_cc_norm=0.6372
epoch  354 | train_loss=0.0098 | train_cc=0.6180 | train_cc_norm=0.8150 | val_loss=0.0143 | val_cc=0.4798 | val_cc_norm=0.6362
epoch  355 | train_loss=0.0097 | train_cc=0.6199 | train_cc_norm=0.8177 | val_loss=0.0143 | val_cc=0.4814 | val_cc_norm=0.6385
epoch  356 | train_loss=0.0097 | train_cc=0.6184 | train_cc_norm=0.8154 | val_loss=0.0143 | val_cc=0.4805 | val_cc_norm=0.6371
epoch  357 | train_loss=0.0098 | train_cc=0.6182 | train_cc_norm=0.8150 | val_loss=0.0145 | val_cc=0.4787 | val_cc_norm=0.6345
epoch  358 | train_loss=0.0097 | train_cc=0.6202 | train_cc_norm=0.8178 | val_loss=0.0143 | val_cc=0.4802 | val_cc_norm=0.6365
epoch  359 | train_loss=0.0097 | train_cc=0.6193 | train_cc_norm=0.8167 | val_loss=0.0143 | val_cc=0.4797 | val_cc_norm=0.6358
epoch  360 | train_loss=0.0097 | train_cc=0.6206 | train_cc_norm=0.8185 | val_loss=0.0144 | val_cc=0.4801 | val_cc_norm=0.6366
epoch  361 | train_loss=0.0097 | train_cc=0.6211 | train_cc_norm=0.8191 | val_loss=0.0145 | val_cc=0.4810 | val_cc_norm=0.6376
epoch  362 | train_loss=0.0097 | train_cc=0.6194 | train_cc_norm=0.8167 | val_loss=0.0144 | val_cc=0.4809 | val_cc_norm=0.6375
epoch  363 | train_loss=0.0097 | train_cc=0.6204 | train_cc_norm=0.8182 | val_loss=0.0141 | val_cc=0.4811 | val_cc_norm=0.6379
epoch  364 | train_loss=0.0097 | train_cc=0.6195 | train_cc_norm=0.8170 | val_loss=0.0145 | val_cc=0.4794 | val_cc_norm=0.6356
epoch  365 | train_loss=0.0097 | train_cc=0.6198 | train_cc_norm=0.8174 | val_loss=0.0144 | val_cc=0.4804 | val_cc_norm=0.6370
epoch  366 | train_loss=0.0097 | train_cc=0.6199 | train_cc_norm=0.8176 | val_loss=0.0141 | val_cc=0.4818 | val_cc_norm=0.6389
epoch  367 | train_loss=0.0097 | train_cc=0.6222 | train_cc_norm=0.8208 | val_loss=0.0143 | val_cc=0.4804 | val_cc_norm=0.6369
epoch  368 | train_loss=0.0097 | train_cc=0.6223 | train_cc_norm=0.8210 | val_loss=0.0143 | val_cc=0.4815 | val_cc_norm=0.6384
epoch  369 | train_loss=0.0097 | train_cc=0.6220 | train_cc_norm=0.8203 | val_loss=0.0145 | val_cc=0.4796 | val_cc_norm=0.6357
epoch  370 | train_loss=0.0097 | train_cc=0.6201 | train_cc_norm=0.8177 | val_loss=0.0144 | val_cc=0.4811 | val_cc_norm=0.6379
epoch  371 | train_loss=0.0097 | train_cc=0.6206 | train_cc_norm=0.8185 | val_loss=0.0142 | val_cc=0.4803 | val_cc_norm=0.6369
epoch  372 | train_loss=0.0097 | train_cc=0.6208 | train_cc_norm=0.8186 | val_loss=0.0144 | val_cc=0.4807 | val_cc_norm=0.6373
epoch  373 | train_loss=0.0097 | train_cc=0.6221 | train_cc_norm=0.8204 | val_loss=0.0143 | val_cc=0.4813 | val_cc_norm=0.6377
epoch  374 | train_loss=0.0097 | train_cc=0.6224 | train_cc_norm=0.8207 | val_loss=0.0144 | val_cc=0.4803 | val_cc_norm=0.6366
epoch  375 | train_loss=0.0097 | train_cc=0.6220 | train_cc_norm=0.8201 | val_loss=0.0143 | val_cc=0.4808 | val_cc_norm=0.6374
epoch  376 | train_loss=0.0096 | train_cc=0.6231 | train_cc_norm=0.8220 | val_loss=0.0143 | val_cc=0.4813 | val_cc_norm=0.6379
epoch  377 | train_loss=0.0096 | train_cc=0.6231 | train_cc_norm=0.8220 | val_loss=0.0143 | val_cc=0.4816 | val_cc_norm=0.6384
epoch  378 | train_loss=0.0097 | train_cc=0.6222 | train_cc_norm=0.8205 | val_loss=0.0145 | val_cc=0.4798 | val_cc_norm=0.6360
epoch  379 | train_loss=0.0096 | train_cc=0.6231 | train_cc_norm=0.8220 | val_loss=0.0143 | val_cc=0.4797 | val_cc_norm=0.6358
epoch  380 | train_loss=0.0096 | train_cc=0.6220 | train_cc_norm=0.8203 | val_loss=0.0142 | val_cc=0.4810 | val_cc_norm=0.6374
epoch  381 | train_loss=0.0096 | train_cc=0.6239 | train_cc_norm=0.8231 | val_loss=0.0143 | val_cc=0.4816 | val_cc_norm=0.6387
epoch  382 | train_loss=0.0096 | train_cc=0.6247 | train_cc_norm=0.8240 | val_loss=0.0143 | val_cc=0.4823 | val_cc_norm=0.6395
epoch  383 | train_loss=0.0096 | train_cc=0.6248 | train_cc_norm=0.8241 | val_loss=0.0143 | val_cc=0.4806 | val_cc_norm=0.6373
epoch  384 | train_loss=0.0096 | train_cc=0.6240 | train_cc_norm=0.8231 | val_loss=0.0143 | val_cc=0.4808 | val_cc_norm=0.6374
epoch  385 | train_loss=0.0096 | train_cc=0.6246 | train_cc_norm=0.8238 | val_loss=0.0144 | val_cc=0.4795 | val_cc_norm=0.6354
epoch  386 | train_loss=0.0096 | train_cc=0.6253 | train_cc_norm=0.8248 | val_loss=0.0144 | val_cc=0.4788 | val_cc_norm=0.6347
epoch  387 | train_loss=0.0096 | train_cc=0.6245 | train_cc_norm=0.8238 | val_loss=0.0143 | val_cc=0.4816 | val_cc_norm=0.6384
epoch  388 | train_loss=0.0096 | train_cc=0.6241 | train_cc_norm=0.8231 | val_loss=0.0143 | val_cc=0.4793 | val_cc_norm=0.6356
epoch  389 | train_loss=0.0096 | train_cc=0.6251 | train_cc_norm=0.8244 | val_loss=0.0145 | val_cc=0.4805 | val_cc_norm=0.6368
epoch  390 | train_loss=0.0096 | train_cc=0.6243 | train_cc_norm=0.8233 | val_loss=0.0144 | val_cc=0.4780 | val_cc_norm=0.6339
epoch  391 | train_loss=0.0096 | train_cc=0.6247 | train_cc_norm=0.8238 | val_loss=0.0145 | val_cc=0.4807 | val_cc_norm=0.6369
epoch  392 | train_loss=0.0096 | train_cc=0.6246 | train_cc_norm=0.8237 | val_loss=0.0143 | val_cc=0.4771 | val_cc_norm=0.6323
epoch  393 | train_loss=0.0096 | train_cc=0.6258 | train_cc_norm=0.8255 | val_loss=0.0143 | val_cc=0.4819 | val_cc_norm=0.6387
epoch  394 | train_loss=0.0095 | train_cc=0.6271 | train_cc_norm=0.8273 | val_loss=0.0143 | val_cc=0.4813 | val_cc_norm=0.6377
=== Transformer (no prefilter) — stopped after 395 epochs in 2022s ===

=== Transformer + AdapTrans — params: 33,889 ===
epoch    0 | train_loss=0.2077 | train_cc=0.0112 | train_cc_norm=0.0111 | val_loss=0.0840 | val_cc=0.0242 | val_cc_norm=0.0303
epoch    1 | train_loss=0.0588 | train_cc=0.0183 | train_cc_norm=0.0219 | val_loss=0.0316 | val_cc=0.0343 | val_cc_norm=0.0446
epoch    2 | train_loss=0.0392 | train_cc=0.0194 | train_cc_norm=0.0240 | val_loss=0.0238 | val_cc=0.0462 | val_cc_norm=0.0601
epoch    3 | train_loss=0.0358 | train_cc=0.0194 | train_cc_norm=0.0243 | val_loss=0.0223 | val_cc=0.0572 | val_cc_norm=0.0743
epoch    4 | train_loss=0.0337 | train_cc=0.0270 | train_cc_norm=0.0336 | val_loss=0.0220 | val_cc=0.0678 | val_cc_norm=0.0879
epoch    5 | train_loss=0.0318 | train_cc=0.0395 | train_cc_norm=0.0498 | val_loss=0.0220 | val_cc=0.0783 | val_cc_norm=0.1014
epoch    6 | train_loss=0.0303 | train_cc=0.0504 | train_cc_norm=0.0637 | val_loss=0.0220 | val_cc=0.0898 | val_cc_norm=0.1162
epoch    7 | train_loss=0.0290 | train_cc=0.0589 | train_cc_norm=0.0740 | val_loss=0.0217 | val_cc=0.1027 | val_cc_norm=0.1331
epoch    8 | train_loss=0.0277 | train_cc=0.0746 | train_cc_norm=0.0943 | val_loss=0.0213 | val_cc=0.1157 | val_cc_norm=0.1501
epoch    9 | train_loss=0.0264 | train_cc=0.0888 | train_cc_norm=0.1119 | val_loss=0.0211 | val_cc=0.1282 | val_cc_norm=0.1667
epoch   10 | train_loss=0.0254 | train_cc=0.1023 | train_cc_norm=0.1299 | val_loss=0.0207 | val_cc=0.1410 | val_cc_norm=0.1839
epoch   11 | train_loss=0.0245 | train_cc=0.1182 | train_cc_norm=0.1501 | val_loss=0.0208 | val_cc=0.1525 | val_cc_norm=0.1997
epoch   12 | train_loss=0.0239 | train_cc=0.1271 | train_cc_norm=0.1616 | val_loss=0.0204 | val_cc=0.1633 | val_cc_norm=0.2145
epoch   13 | train_loss=0.0232 | train_cc=0.1384 | train_cc_norm=0.1764 | val_loss=0.0203 | val_cc=0.1725 | val_cc_norm=0.2272
epoch   14 | train_loss=0.0225 | train_cc=0.1511 | train_cc_norm=0.1927 | val_loss=0.0199 | val_cc=0.1809 | val_cc_norm=0.2386
epoch   15 | train_loss=0.0220 | train_cc=0.1627 | train_cc_norm=0.2083 | val_loss=0.0198 | val_cc=0.1897 | val_cc_norm=0.2507
epoch   16 | train_loss=0.0215 | train_cc=0.1743 | train_cc_norm=0.2231 | val_loss=0.0196 | val_cc=0.1967 | val_cc_norm=0.2603
epoch   17 | train_loss=0.0211 | train_cc=0.1836 | train_cc_norm=0.2353 | val_loss=0.0195 | val_cc=0.2039 | val_cc_norm=0.2702
epoch   18 | train_loss=0.0207 | train_cc=0.1919 | train_cc_norm=0.2458 | val_loss=0.0194 | val_cc=0.2118 | val_cc_norm=0.2809
epoch   19 | train_loss=0.0204 | train_cc=0.2041 | train_cc_norm=0.2620 | val_loss=0.0192 | val_cc=0.2190 | val_cc_norm=0.2905
epoch   20 | train_loss=0.0201 | train_cc=0.2124 | train_cc_norm=0.2730 | val_loss=0.0191 | val_cc=0.2251 | val_cc_norm=0.2987
epoch   21 | train_loss=0.0198 | train_cc=0.2180 | train_cc_norm=0.2805 | val_loss=0.0189 | val_cc=0.2320 | val_cc_norm=0.3081
epoch   22 | train_loss=0.0195 | train_cc=0.2269 | train_cc_norm=0.2922 | val_loss=0.0189 | val_cc=0.2375 | val_cc_norm=0.3158
epoch   23 | train_loss=0.0193 | train_cc=0.2372 | train_cc_norm=0.3059 | val_loss=0.0188 | val_cc=0.2435 | val_cc_norm=0.3239
epoch   24 | train_loss=0.0190 | train_cc=0.2465 | train_cc_norm=0.3182 | val_loss=0.0186 | val_cc=0.2482 | val_cc_norm=0.3302
epoch   25 | train_loss=0.0188 | train_cc=0.2541 | train_cc_norm=0.3280 | val_loss=0.0186 | val_cc=0.2536 | val_cc_norm=0.3375
epoch   26 | train_loss=0.0186 | train_cc=0.2580 | train_cc_norm=0.3333 | val_loss=0.0185 | val_cc=0.2577 | val_cc_norm=0.3430
epoch   27 | train_loss=0.0184 | train_cc=0.2669 | train_cc_norm=0.3450 | val_loss=0.0184 | val_cc=0.2630 | val_cc_norm=0.3503
epoch   28 | train_loss=0.0183 | train_cc=0.2721 | train_cc_norm=0.3522 | val_loss=0.0184 | val_cc=0.2685 | val_cc_norm=0.3577
epoch   29 | train_loss=0.0181 | train_cc=0.2779 | train_cc_norm=0.3599 | val_loss=0.0183 | val_cc=0.2733 | val_cc_norm=0.3642
epoch   30 | train_loss=0.0179 | train_cc=0.2854 | train_cc_norm=0.3695 | val_loss=0.0182 | val_cc=0.2778 | val_cc_norm=0.3704
epoch   31 | train_loss=0.0177 | train_cc=0.2948 | train_cc_norm=0.3824 | val_loss=0.0183 | val_cc=0.2824 | val_cc_norm=0.3763
epoch   32 | train_loss=0.0176 | train_cc=0.2996 | train_cc_norm=0.3887 | val_loss=0.0181 | val_cc=0.2860 | val_cc_norm=0.3813
epoch   33 | train_loss=0.0176 | train_cc=0.3013 | train_cc_norm=0.3909 | val_loss=0.0181 | val_cc=0.2910 | val_cc_norm=0.3881
epoch   34 | train_loss=0.0174 | train_cc=0.3119 | train_cc_norm=0.4054 | val_loss=0.0180 | val_cc=0.2957 | val_cc_norm=0.3944
epoch   35 | train_loss=0.0172 | train_cc=0.3152 | train_cc_norm=0.4099 | val_loss=0.0178 | val_cc=0.3002 | val_cc_norm=0.4003
epoch   36 | train_loss=0.0171 | train_cc=0.3208 | train_cc_norm=0.4170 | val_loss=0.0178 | val_cc=0.3045 | val_cc_norm=0.4060
epoch   37 | train_loss=0.0169 | train_cc=0.3285 | train_cc_norm=0.4272 | val_loss=0.0177 | val_cc=0.3090 | val_cc_norm=0.4122
epoch   38 | train_loss=0.0169 | train_cc=0.3342 | train_cc_norm=0.4351 | val_loss=0.0176 | val_cc=0.3133 | val_cc_norm=0.4179
epoch   39 | train_loss=0.0167 | train_cc=0.3383 | train_cc_norm=0.4408 | val_loss=0.0175 | val_cc=0.3182 | val_cc_norm=0.4245
epoch   40 | train_loss=0.0166 | train_cc=0.3472 | train_cc_norm=0.4526 | val_loss=0.0174 | val_cc=0.3227 | val_cc_norm=0.4307
epoch   41 | train_loss=0.0165 | train_cc=0.3474 | train_cc_norm=0.4528 | val_loss=0.0176 | val_cc=0.3271 | val_cc_norm=0.4366
epoch   42 | train_loss=0.0164 | train_cc=0.3526 | train_cc_norm=0.4595 | val_loss=0.0175 | val_cc=0.3303 | val_cc_norm=0.4406
epoch   43 | train_loss=0.0162 | train_cc=0.3628 | train_cc_norm=0.4736 | val_loss=0.0172 | val_cc=0.3340 | val_cc_norm=0.4459
epoch   44 | train_loss=0.0161 | train_cc=0.3650 | train_cc_norm=0.4761 | val_loss=0.0173 | val_cc=0.3379 | val_cc_norm=0.4510
epoch   45 | train_loss=0.0160 | train_cc=0.3720 | train_cc_norm=0.4857 | val_loss=0.0173 | val_cc=0.3421 | val_cc_norm=0.4567
epoch   46 | train_loss=0.0159 | train_cc=0.3773 | train_cc_norm=0.4928 | val_loss=0.0172 | val_cc=0.3462 | val_cc_norm=0.4624
epoch   47 | train_loss=0.0158 | train_cc=0.3813 | train_cc_norm=0.4985 | val_loss=0.0170 | val_cc=0.3491 | val_cc_norm=0.4662
epoch   48 | train_loss=0.0157 | train_cc=0.3868 | train_cc_norm=0.5057 | val_loss=0.0169 | val_cc=0.3514 | val_cc_norm=0.4692
epoch   49 | train_loss=0.0156 | train_cc=0.3895 | train_cc_norm=0.5093 | val_loss=0.0169 | val_cc=0.3554 | val_cc_norm=0.4746
epoch   50 | train_loss=0.0155 | train_cc=0.3929 | train_cc_norm=0.5137 | val_loss=0.0168 | val_cc=0.3573 | val_cc_norm=0.4772
epoch   51 | train_loss=0.0155 | train_cc=0.3970 | train_cc_norm=0.5191 | val_loss=0.0169 | val_cc=0.3602 | val_cc_norm=0.4809
epoch   52 | train_loss=0.0153 | train_cc=0.4023 | train_cc_norm=0.5263 | val_loss=0.0168 | val_cc=0.3630 | val_cc_norm=0.4849
epoch   53 | train_loss=0.0152 | train_cc=0.4094 | train_cc_norm=0.5363 | val_loss=0.0167 | val_cc=0.3663 | val_cc_norm=0.4891
epoch   54 | train_loss=0.0152 | train_cc=0.4085 | train_cc_norm=0.5348 | val_loss=0.0166 | val_cc=0.3681 | val_cc_norm=0.4916
epoch   55 | train_loss=0.0151 | train_cc=0.4111 | train_cc_norm=0.5382 | val_loss=0.0167 | val_cc=0.3719 | val_cc_norm=0.4969
epoch   56 | train_loss=0.0151 | train_cc=0.4141 | train_cc_norm=0.5423 | val_loss=0.0165 | val_cc=0.3742 | val_cc_norm=0.4999
epoch   57 | train_loss=0.0149 | train_cc=0.4199 | train_cc_norm=0.5501 | val_loss=0.0165 | val_cc=0.3767 | val_cc_norm=0.5033
epoch   58 | train_loss=0.0149 | train_cc=0.4214 | train_cc_norm=0.5517 | val_loss=0.0165 | val_cc=0.3782 | val_cc_norm=0.5054
epoch   59 | train_loss=0.0148 | train_cc=0.4271 | train_cc_norm=0.5596 | val_loss=0.0165 | val_cc=0.3813 | val_cc_norm=0.5095
epoch   60 | train_loss=0.0148 | train_cc=0.4271 | train_cc_norm=0.5599 | val_loss=0.0164 | val_cc=0.3817 | val_cc_norm=0.5103
epoch   61 | train_loss=0.0146 | train_cc=0.4339 | train_cc_norm=0.5690 | val_loss=0.0165 | val_cc=0.3849 | val_cc_norm=0.5139
epoch   62 | train_loss=0.0145 | train_cc=0.4352 | train_cc_norm=0.5704 | val_loss=0.0163 | val_cc=0.3834 | val_cc_norm=0.5125
epoch   63 | train_loss=0.0145 | train_cc=0.4391 | train_cc_norm=0.5764 | val_loss=0.0163 | val_cc=0.3895 | val_cc_norm=0.5203
epoch   64 | train_loss=0.0145 | train_cc=0.4402 | train_cc_norm=0.5779 | val_loss=0.0162 | val_cc=0.3891 | val_cc_norm=0.5201
epoch   65 | train_loss=0.0144 | train_cc=0.4449 | train_cc_norm=0.5839 | val_loss=0.0162 | val_cc=0.3932 | val_cc_norm=0.5257
epoch   66 | train_loss=0.0143 | train_cc=0.4464 | train_cc_norm=0.5861 | val_loss=0.0162 | val_cc=0.3954 | val_cc_norm=0.5283
epoch   67 | train_loss=0.0142 | train_cc=0.4517 | train_cc_norm=0.5932 | val_loss=0.0161 | val_cc=0.3967 | val_cc_norm=0.5302
epoch   68 | train_loss=0.0142 | train_cc=0.4509 | train_cc_norm=0.5919 | val_loss=0.0161 | val_cc=0.3990 | val_cc_norm=0.5336
epoch   69 | train_loss=0.0142 | train_cc=0.4519 | train_cc_norm=0.5934 | val_loss=0.0161 | val_cc=0.3995 | val_cc_norm=0.5339
epoch   70 | train_loss=0.0141 | train_cc=0.4564 | train_cc_norm=0.5996 | val_loss=0.0160 | val_cc=0.4015 | val_cc_norm=0.5368
epoch   71 | train_loss=0.0140 | train_cc=0.4598 | train_cc_norm=0.6042 | val_loss=0.0160 | val_cc=0.4026 | val_cc_norm=0.5382
epoch   72 | train_loss=0.0139 | train_cc=0.4640 | train_cc_norm=0.6096 | val_loss=0.0159 | val_cc=0.4056 | val_cc_norm=0.5423
epoch   73 | train_loss=0.0139 | train_cc=0.4661 | train_cc_norm=0.6124 | val_loss=0.0160 | val_cc=0.4073 | val_cc_norm=0.5445
epoch   74 | train_loss=0.0139 | train_cc=0.4649 | train_cc_norm=0.6111 | val_loss=0.0160 | val_cc=0.4070 | val_cc_norm=0.5443
epoch   75 | train_loss=0.0138 | train_cc=0.4700 | train_cc_norm=0.6182 | val_loss=0.0158 | val_cc=0.4095 | val_cc_norm=0.5473
epoch   76 | train_loss=0.0138 | train_cc=0.4697 | train_cc_norm=0.6171 | val_loss=0.0159 | val_cc=0.4084 | val_cc_norm=0.5462
epoch   77 | train_loss=0.0137 | train_cc=0.4750 | train_cc_norm=0.6245 | val_loss=0.0158 | val_cc=0.4123 | val_cc_norm=0.5513
epoch   78 | train_loss=0.0137 | train_cc=0.4754 | train_cc_norm=0.6251 | val_loss=0.0159 | val_cc=0.4127 | val_cc_norm=0.5520
epoch   79 | train_loss=0.0136 | train_cc=0.4754 | train_cc_norm=0.6249 | val_loss=0.0159 | val_cc=0.4123 | val_cc_norm=0.5512
epoch   80 | train_loss=0.0136 | train_cc=0.4793 | train_cc_norm=0.6306 | val_loss=0.0157 | val_cc=0.4141 | val_cc_norm=0.5536
epoch   81 | train_loss=0.0136 | train_cc=0.4803 | train_cc_norm=0.6317 | val_loss=0.0158 | val_cc=0.4180 | val_cc_norm=0.5589
epoch   82 | train_loss=0.0136 | train_cc=0.4814 | train_cc_norm=0.6335 | val_loss=0.0159 | val_cc=0.4171 | val_cc_norm=0.5575
epoch   83 | train_loss=0.0135 | train_cc=0.4829 | train_cc_norm=0.6356 | val_loss=0.0157 | val_cc=0.4175 | val_cc_norm=0.5582
epoch   84 | train_loss=0.0135 | train_cc=0.4841 | train_cc_norm=0.6374 | val_loss=0.0159 | val_cc=0.4201 | val_cc_norm=0.5613
epoch   85 | train_loss=0.0134 | train_cc=0.4870 | train_cc_norm=0.6409 | val_loss=0.0156 | val_cc=0.4199 | val_cc_norm=0.5612
epoch   86 | train_loss=0.0133 | train_cc=0.4907 | train_cc_norm=0.6457 | val_loss=0.0156 | val_cc=0.4193 | val_cc_norm=0.5602
epoch   87 | train_loss=0.0133 | train_cc=0.4890 | train_cc_norm=0.6435 | val_loss=0.0158 | val_cc=0.4202 | val_cc_norm=0.5616
epoch   88 | train_loss=0.0133 | train_cc=0.4920 | train_cc_norm=0.6474 | val_loss=0.0156 | val_cc=0.4232 | val_cc_norm=0.5655
epoch   89 | train_loss=0.0132 | train_cc=0.4951 | train_cc_norm=0.6517 | val_loss=0.0157 | val_cc=0.4242 | val_cc_norm=0.5667
epoch   90 | train_loss=0.0132 | train_cc=0.4968 | train_cc_norm=0.6540 | val_loss=0.0156 | val_cc=0.4230 | val_cc_norm=0.5651
epoch   91 | train_loss=0.0131 | train_cc=0.4980 | train_cc_norm=0.6556 | val_loss=0.0155 | val_cc=0.4252 | val_cc_norm=0.5681
epoch   92 | train_loss=0.0131 | train_cc=0.4987 | train_cc_norm=0.6566 | val_loss=0.0155 | val_cc=0.4262 | val_cc_norm=0.5691
epoch   93 | train_loss=0.0131 | train_cc=0.5001 | train_cc_norm=0.6583 | val_loss=0.0155 | val_cc=0.4273 | val_cc_norm=0.5710
epoch   94 | train_loss=0.0131 | train_cc=0.4989 | train_cc_norm=0.6566 | val_loss=0.0155 | val_cc=0.4273 | val_cc_norm=0.5708
epoch   95 | train_loss=0.0131 | train_cc=0.5013 | train_cc_norm=0.6599 | val_loss=0.0154 | val_cc=0.4276 | val_cc_norm=0.5708
epoch   96 | train_loss=0.0131 | train_cc=0.5001 | train_cc_norm=0.6584 | val_loss=0.0157 | val_cc=0.4284 | val_cc_norm=0.5722
epoch   97 | train_loss=0.0130 | train_cc=0.5047 | train_cc_norm=0.6646 | val_loss=0.0154 | val_cc=0.4288 | val_cc_norm=0.5724
epoch   98 | train_loss=0.0129 | train_cc=0.5058 | train_cc_norm=0.6660 | val_loss=0.0154 | val_cc=0.4292 | val_cc_norm=0.5732
epoch   99 | train_loss=0.0129 | train_cc=0.5088 | train_cc_norm=0.6702 | val_loss=0.0155 | val_cc=0.4312 | val_cc_norm=0.5758
epoch  100 | train_loss=0.0128 | train_cc=0.5085 | train_cc_norm=0.6696 | val_loss=0.0154 | val_cc=0.4311 | val_cc_norm=0.5755
epoch  101 | train_loss=0.0128 | train_cc=0.5105 | train_cc_norm=0.6721 | val_loss=0.0154 | val_cc=0.4316 | val_cc_norm=0.5760
epoch  102 | train_loss=0.0128 | train_cc=0.5118 | train_cc_norm=0.6737 | val_loss=0.0154 | val_cc=0.4313 | val_cc_norm=0.5758
epoch  103 | train_loss=0.0128 | train_cc=0.5117 | train_cc_norm=0.6738 | val_loss=0.0154 | val_cc=0.4328 | val_cc_norm=0.5774
epoch  104 | train_loss=0.0127 | train_cc=0.5143 | train_cc_norm=0.6769 | val_loss=0.0153 | val_cc=0.4333 | val_cc_norm=0.5781
epoch  105 | train_loss=0.0127 | train_cc=0.5153 | train_cc_norm=0.6786 | val_loss=0.0155 | val_cc=0.4338 | val_cc_norm=0.5790
epoch  106 | train_loss=0.0127 | train_cc=0.5160 | train_cc_norm=0.6796 | val_loss=0.0154 | val_cc=0.4337 | val_cc_norm=0.5786
epoch  107 | train_loss=0.0126 | train_cc=0.5180 | train_cc_norm=0.6824 | val_loss=0.0153 | val_cc=0.4346 | val_cc_norm=0.5800
epoch  108 | train_loss=0.0126 | train_cc=0.5189 | train_cc_norm=0.6837 | val_loss=0.0155 | val_cc=0.4348 | val_cc_norm=0.5797
epoch  109 | train_loss=0.0126 | train_cc=0.5190 | train_cc_norm=0.6838 | val_loss=0.0153 | val_cc=0.4340 | val_cc_norm=0.5790
epoch  110 | train_loss=0.0126 | train_cc=0.5185 | train_cc_norm=0.6830 | val_loss=0.0153 | val_cc=0.4362 | val_cc_norm=0.5819
epoch  111 | train_loss=0.0126 | train_cc=0.5202 | train_cc_norm=0.6855 | val_loss=0.0153 | val_cc=0.4371 | val_cc_norm=0.5832
epoch  112 | train_loss=0.0125 | train_cc=0.5225 | train_cc_norm=0.6884 | val_loss=0.0153 | val_cc=0.4384 | val_cc_norm=0.5845
epoch  113 | train_loss=0.0125 | train_cc=0.5238 | train_cc_norm=0.6900 | val_loss=0.0154 | val_cc=0.4384 | val_cc_norm=0.5848
epoch  114 | train_loss=0.0125 | train_cc=0.5232 | train_cc_norm=0.6892 | val_loss=0.0153 | val_cc=0.4378 | val_cc_norm=0.5839
epoch  115 | train_loss=0.0124 | train_cc=0.5252 | train_cc_norm=0.6922 | val_loss=0.0153 | val_cc=0.4371 | val_cc_norm=0.5830
epoch  116 | train_loss=0.0124 | train_cc=0.5268 | train_cc_norm=0.6943 | val_loss=0.0153 | val_cc=0.4395 | val_cc_norm=0.5862
epoch  117 | train_loss=0.0124 | train_cc=0.5259 | train_cc_norm=0.6927 | val_loss=0.0152 | val_cc=0.4416 | val_cc_norm=0.5888
epoch  118 | train_loss=0.0124 | train_cc=0.5285 | train_cc_norm=0.6966 | val_loss=0.0153 | val_cc=0.4401 | val_cc_norm=0.5866
epoch  119 | train_loss=0.0123 | train_cc=0.5290 | train_cc_norm=0.6968 | val_loss=0.0152 | val_cc=0.4410 | val_cc_norm=0.5878
epoch  120 | train_loss=0.0123 | train_cc=0.5292 | train_cc_norm=0.6973 | val_loss=0.0153 | val_cc=0.4409 | val_cc_norm=0.5879
epoch  121 | train_loss=0.0123 | train_cc=0.5319 | train_cc_norm=0.7014 | val_loss=0.0151 | val_cc=0.4438 | val_cc_norm=0.5916
epoch  122 | train_loss=0.0123 | train_cc=0.5314 | train_cc_norm=0.7001 | val_loss=0.0154 | val_cc=0.4413 | val_cc_norm=0.5882
epoch  123 | train_loss=0.0122 | train_cc=0.5337 | train_cc_norm=0.7034 | val_loss=0.0151 | val_cc=0.4448 | val_cc_norm=0.5926
epoch  124 | train_loss=0.0123 | train_cc=0.5321 | train_cc_norm=0.7014 | val_loss=0.0152 | val_cc=0.4423 | val_cc_norm=0.5896
epoch  125 | train_loss=0.0122 | train_cc=0.5339 | train_cc_norm=0.7039 | val_loss=0.0153 | val_cc=0.4418 | val_cc_norm=0.5887
epoch  126 | train_loss=0.0122 | train_cc=0.5343 | train_cc_norm=0.7041 | val_loss=0.0151 | val_cc=0.4448 | val_cc_norm=0.5928
epoch  127 | train_loss=0.0122 | train_cc=0.5350 | train_cc_norm=0.7050 | val_loss=0.0151 | val_cc=0.4461 | val_cc_norm=0.5944
epoch  128 | train_loss=0.0121 | train_cc=0.5373 | train_cc_norm=0.7083 | val_loss=0.0153 | val_cc=0.4446 | val_cc_norm=0.5924
epoch  129 | train_loss=0.0121 | train_cc=0.5378 | train_cc_norm=0.7090 | val_loss=0.0150 | val_cc=0.4449 | val_cc_norm=0.5929
epoch  130 | train_loss=0.0121 | train_cc=0.5381 | train_cc_norm=0.7092 | val_loss=0.0153 | val_cc=0.4481 | val_cc_norm=0.5969
epoch  131 | train_loss=0.0121 | train_cc=0.5391 | train_cc_norm=0.7109 | val_loss=0.0152 | val_cc=0.4458 | val_cc_norm=0.5939
epoch  132 | train_loss=0.0120 | train_cc=0.5413 | train_cc_norm=0.7138 | val_loss=0.0151 | val_cc=0.4465 | val_cc_norm=0.5949
epoch  133 | train_loss=0.0120 | train_cc=0.5419 | train_cc_norm=0.7140 | val_loss=0.0151 | val_cc=0.4491 | val_cc_norm=0.5983
epoch  134 | train_loss=0.0120 | train_cc=0.5434 | train_cc_norm=0.7166 | val_loss=0.0151 | val_cc=0.4476 | val_cc_norm=0.5962
epoch  135 | train_loss=0.0119 | train_cc=0.5429 | train_cc_norm=0.7155 | val_loss=0.0153 | val_cc=0.4490 | val_cc_norm=0.5983
epoch  136 | train_loss=0.0120 | train_cc=0.5422 | train_cc_norm=0.7148 | val_loss=0.0151 | val_cc=0.4499 | val_cc_norm=0.5994
epoch  137 | train_loss=0.0120 | train_cc=0.5447 | train_cc_norm=0.7185 | val_loss=0.0150 | val_cc=0.4505 | val_cc_norm=0.6001
epoch  138 | train_loss=0.0119 | train_cc=0.5454 | train_cc_norm=0.7194 | val_loss=0.0151 | val_cc=0.4501 | val_cc_norm=0.5995
epoch  139 | train_loss=0.0119 | train_cc=0.5455 | train_cc_norm=0.7192 | val_loss=0.0150 | val_cc=0.4523 | val_cc_norm=0.6025
epoch  140 | train_loss=0.0119 | train_cc=0.5437 | train_cc_norm=0.7165 | val_loss=0.0151 | val_cc=0.4506 | val_cc_norm=0.6002
epoch  141 | train_loss=0.0119 | train_cc=0.5454 | train_cc_norm=0.7189 | val_loss=0.0150 | val_cc=0.4489 | val_cc_norm=0.5976
epoch  142 | train_loss=0.0119 | train_cc=0.5486 | train_cc_norm=0.7233 | val_loss=0.0152 | val_cc=0.4532 | val_cc_norm=0.6036
epoch  143 | train_loss=0.0118 | train_cc=0.5496 | train_cc_norm=0.7250 | val_loss=0.0150 | val_cc=0.4528 | val_cc_norm=0.6029
epoch  144 | train_loss=0.0118 | train_cc=0.5495 | train_cc_norm=0.7244 | val_loss=0.0150 | val_cc=0.4513 | val_cc_norm=0.6009
epoch  145 | train_loss=0.0117 | train_cc=0.5519 | train_cc_norm=0.7277 | val_loss=0.0149 | val_cc=0.4538 | val_cc_norm=0.6042
epoch  146 | train_loss=0.0117 | train_cc=0.5526 | train_cc_norm=0.7292 | val_loss=0.0150 | val_cc=0.4547 | val_cc_norm=0.6053
epoch  147 | train_loss=0.0117 | train_cc=0.5512 | train_cc_norm=0.7267 | val_loss=0.0150 | val_cc=0.4551 | val_cc_norm=0.6061
epoch  148 | train_loss=0.0117 | train_cc=0.5525 | train_cc_norm=0.7284 | val_loss=0.0149 | val_cc=0.4546 | val_cc_norm=0.6052
epoch  149 | train_loss=0.0116 | train_cc=0.5556 | train_cc_norm=0.7329 | val_loss=0.0150 | val_cc=0.4560 | val_cc_norm=0.6072
epoch  150 | train_loss=0.0116 | train_cc=0.5558 | train_cc_norm=0.7330 | val_loss=0.0148 | val_cc=0.4551 | val_cc_norm=0.6057
epoch  151 | train_loss=0.0117 | train_cc=0.5552 | train_cc_norm=0.7322 | val_loss=0.0150 | val_cc=0.4570 | val_cc_norm=0.6084
epoch  152 | train_loss=0.0116 | train_cc=0.5554 | train_cc_norm=0.7326 | val_loss=0.0150 | val_cc=0.4565 | val_cc_norm=0.6076
epoch  153 | train_loss=0.0116 | train_cc=0.5552 | train_cc_norm=0.7322 | val_loss=0.0148 | val_cc=0.4579 | val_cc_norm=0.6096
epoch  154 | train_loss=0.0116 | train_cc=0.5574 | train_cc_norm=0.7354 | val_loss=0.0150 | val_cc=0.4559 | val_cc_norm=0.6066
epoch  155 | train_loss=0.0116 | train_cc=0.5583 | train_cc_norm=0.7364 | val_loss=0.0149 | val_cc=0.4592 | val_cc_norm=0.6114
epoch  156 | train_loss=0.0116 | train_cc=0.5582 | train_cc_norm=0.7362 | val_loss=0.0150 | val_cc=0.4578 | val_cc_norm=0.6091
epoch  157 | train_loss=0.0116 | train_cc=0.5583 | train_cc_norm=0.7364 | val_loss=0.0149 | val_cc=0.4609 | val_cc_norm=0.6134
epoch  158 | train_loss=0.0115 | train_cc=0.5602 | train_cc_norm=0.7389 | val_loss=0.0148 | val_cc=0.4594 | val_cc_norm=0.6110
epoch  159 | train_loss=0.0115 | train_cc=0.5618 | train_cc_norm=0.7411 | val_loss=0.0151 | val_cc=0.4588 | val_cc_norm=0.6105
epoch  160 | train_loss=0.0115 | train_cc=0.5611 | train_cc_norm=0.7400 | val_loss=0.0148 | val_cc=0.4594 | val_cc_norm=0.6109
epoch  161 | train_loss=0.0115 | train_cc=0.5606 | train_cc_norm=0.7391 | val_loss=0.0148 | val_cc=0.4597 | val_cc_norm=0.6116
epoch  162 | train_loss=0.0115 | train_cc=0.5608 | train_cc_norm=0.7394 | val_loss=0.0149 | val_cc=0.4601 | val_cc_norm=0.6121
epoch  163 | train_loss=0.0115 | train_cc=0.5627 | train_cc_norm=0.7424 | val_loss=0.0147 | val_cc=0.4602 | val_cc_norm=0.6122
epoch  164 | train_loss=0.0114 | train_cc=0.5626 | train_cc_norm=0.7420 | val_loss=0.0148 | val_cc=0.4605 | val_cc_norm=0.6124
epoch  165 | train_loss=0.0114 | train_cc=0.5639 | train_cc_norm=0.7441 | val_loss=0.0148 | val_cc=0.4617 | val_cc_norm=0.6143
epoch  166 | train_loss=0.0115 | train_cc=0.5610 | train_cc_norm=0.7401 | val_loss=0.0149 | val_cc=0.4618 | val_cc_norm=0.6142
epoch  167 | train_loss=0.0114 | train_cc=0.5637 | train_cc_norm=0.7437 | val_loss=0.0147 | val_cc=0.4594 | val_cc_norm=0.6109
epoch  168 | train_loss=0.0114 | train_cc=0.5656 | train_cc_norm=0.7463 | val_loss=0.0146 | val_cc=0.4632 | val_cc_norm=0.6160
epoch  169 | train_loss=0.0114 | train_cc=0.5655 | train_cc_norm=0.7459 | val_loss=0.0148 | val_cc=0.4631 | val_cc_norm=0.6159
epoch  170 | train_loss=0.0113 | train_cc=0.5665 | train_cc_norm=0.7472 | val_loss=0.0148 | val_cc=0.4643 | val_cc_norm=0.6172
epoch  171 | train_loss=0.0113 | train_cc=0.5678 | train_cc_norm=0.7489 | val_loss=0.0147 | val_cc=0.4647 | val_cc_norm=0.6179
epoch  172 | train_loss=0.0113 | train_cc=0.5673 | train_cc_norm=0.7484 | val_loss=0.0147 | val_cc=0.4619 | val_cc_norm=0.6139
epoch  173 | train_loss=0.0113 | train_cc=0.5680 | train_cc_norm=0.7494 | val_loss=0.0148 | val_cc=0.4653 | val_cc_norm=0.6184
epoch  174 | train_loss=0.0113 | train_cc=0.5688 | train_cc_norm=0.7505 | val_loss=0.0148 | val_cc=0.4663 | val_cc_norm=0.6201
epoch  175 | train_loss=0.0112 | train_cc=0.5701 | train_cc_norm=0.7520 | val_loss=0.0146 | val_cc=0.4654 | val_cc_norm=0.6188
epoch  176 | train_loss=0.0112 | train_cc=0.5713 | train_cc_norm=0.7538 | val_loss=0.0148 | val_cc=0.4651 | val_cc_norm=0.6183
epoch  177 | train_loss=0.0112 | train_cc=0.5709 | train_cc_norm=0.7533 | val_loss=0.0150 | val_cc=0.4643 | val_cc_norm=0.6170
epoch  178 | train_loss=0.0112 | train_cc=0.5713 | train_cc_norm=0.7538 | val_loss=0.0148 | val_cc=0.4674 | val_cc_norm=0.6214
epoch  179 | train_loss=0.0111 | train_cc=0.5731 | train_cc_norm=0.7563 | val_loss=0.0146 | val_cc=0.4660 | val_cc_norm=0.6193
epoch  180 | train_loss=0.0112 | train_cc=0.5725 | train_cc_norm=0.7551 | val_loss=0.0146 | val_cc=0.4659 | val_cc_norm=0.6192
epoch  181 | train_loss=0.0112 | train_cc=0.5730 | train_cc_norm=0.7558 | val_loss=0.0148 | val_cc=0.4680 | val_cc_norm=0.6221
epoch  182 | train_loss=0.0112 | train_cc=0.5739 | train_cc_norm=0.7576 | val_loss=0.0145 | val_cc=0.4675 | val_cc_norm=0.6215
epoch  183 | train_loss=0.0111 | train_cc=0.5763 | train_cc_norm=0.7605 | val_loss=0.0146 | val_cc=0.4664 | val_cc_norm=0.6198
epoch  184 | train_loss=0.0111 | train_cc=0.5751 | train_cc_norm=0.7589 | val_loss=0.0148 | val_cc=0.4673 | val_cc_norm=0.6209
epoch  185 | train_loss=0.0111 | train_cc=0.5752 | train_cc_norm=0.7588 | val_loss=0.0145 | val_cc=0.4676 | val_cc_norm=0.6213
epoch  186 | train_loss=0.0111 | train_cc=0.5763 | train_cc_norm=0.7605 | val_loss=0.0147 | val_cc=0.4664 | val_cc_norm=0.6198
epoch  187 | train_loss=0.0111 | train_cc=0.5770 | train_cc_norm=0.7613 | val_loss=0.0148 | val_cc=0.4701 | val_cc_norm=0.6248
epoch  188 | train_loss=0.0110 | train_cc=0.5778 | train_cc_norm=0.7623 | val_loss=0.0145 | val_cc=0.4682 | val_cc_norm=0.6220
epoch  189 | train_loss=0.0110 | train_cc=0.5776 | train_cc_norm=0.7622 | val_loss=0.0147 | val_cc=0.4699 | val_cc_norm=0.6245
epoch  190 | train_loss=0.0110 | train_cc=0.5787 | train_cc_norm=0.7636 | val_loss=0.0146 | val_cc=0.4694 | val_cc_norm=0.6238
epoch  191 | train_loss=0.0110 | train_cc=0.5786 | train_cc_norm=0.7631 | val_loss=0.0146 | val_cc=0.4693 | val_cc_norm=0.6235
epoch  192 | train_loss=0.0109 | train_cc=0.5806 | train_cc_norm=0.7659 | val_loss=0.0146 | val_cc=0.4707 | val_cc_norm=0.6255
epoch  193 | train_loss=0.0109 | train_cc=0.5810 | train_cc_norm=0.7666 | val_loss=0.0147 | val_cc=0.4701 | val_cc_norm=0.6247
epoch  194 | train_loss=0.0110 | train_cc=0.5805 | train_cc_norm=0.7661 | val_loss=0.0147 | val_cc=0.4714 | val_cc_norm=0.6264
epoch  195 | train_loss=0.0110 | train_cc=0.5802 | train_cc_norm=0.7655 | val_loss=0.0147 | val_cc=0.4686 | val_cc_norm=0.6229
epoch  196 | train_loss=0.0110 | train_cc=0.5812 | train_cc_norm=0.7670 | val_loss=0.0144 | val_cc=0.4707 | val_cc_norm=0.6255
epoch  197 | train_loss=0.0110 | train_cc=0.5784 | train_cc_norm=0.7632 | val_loss=0.0146 | val_cc=0.4644 | val_cc_norm=0.6169
epoch  198 | train_loss=0.0110 | train_cc=0.5802 | train_cc_norm=0.7656 | val_loss=0.0148 | val_cc=0.4725 | val_cc_norm=0.6282
epoch  199 | train_loss=0.0109 | train_cc=0.5805 | train_cc_norm=0.7660 | val_loss=0.0147 | val_cc=0.4711 | val_cc_norm=0.6262
epoch  200 | train_loss=0.0109 | train_cc=0.5833 | train_cc_norm=0.7697 | val_loss=0.0144 | val_cc=0.4721 | val_cc_norm=0.6269
epoch  201 | train_loss=0.0109 | train_cc=0.5825 | train_cc_norm=0.7687 | val_loss=0.0147 | val_cc=0.4725 | val_cc_norm=0.6281
epoch  202 | train_loss=0.0109 | train_cc=0.5836 | train_cc_norm=0.7704 | val_loss=0.0146 | val_cc=0.4746 | val_cc_norm=0.6303
epoch  203 | train_loss=0.0108 | train_cc=0.5842 | train_cc_norm=0.7709 | val_loss=0.0145 | val_cc=0.4714 | val_cc_norm=0.6265
epoch  204 | train_loss=0.0108 | train_cc=0.5855 | train_cc_norm=0.7728 | val_loss=0.0145 | val_cc=0.4741 | val_cc_norm=0.6297
epoch  205 | train_loss=0.0108 | train_cc=0.5871 | train_cc_norm=0.7749 | val_loss=0.0147 | val_cc=0.4736 | val_cc_norm=0.6293
epoch  206 | train_loss=0.0108 | train_cc=0.5877 | train_cc_norm=0.7758 | val_loss=0.0145 | val_cc=0.4735 | val_cc_norm=0.6288
epoch  207 | train_loss=0.0108 | train_cc=0.5857 | train_cc_norm=0.7729 | val_loss=0.0147 | val_cc=0.4742 | val_cc_norm=0.6301
epoch  208 | train_loss=0.0107 | train_cc=0.5880 | train_cc_norm=0.7760 | val_loss=0.0146 | val_cc=0.4737 | val_cc_norm=0.6291
epoch  209 | train_loss=0.0107 | train_cc=0.5879 | train_cc_norm=0.7758 | val_loss=0.0146 | val_cc=0.4719 | val_cc_norm=0.6270
epoch  210 | train_loss=0.0107 | train_cc=0.5881 | train_cc_norm=0.7760 | val_loss=0.0145 | val_cc=0.4740 | val_cc_norm=0.6299
epoch  211 | train_loss=0.0107 | train_cc=0.5889 | train_cc_norm=0.7769 | val_loss=0.0146 | val_cc=0.4741 | val_cc_norm=0.6296
epoch  212 | train_loss=0.0107 | train_cc=0.5900 | train_cc_norm=0.7783 | val_loss=0.0144 | val_cc=0.4758 | val_cc_norm=0.6321
epoch  213 | train_loss=0.0107 | train_cc=0.5909 | train_cc_norm=0.7800 | val_loss=0.0144 | val_cc=0.4743 | val_cc_norm=0.6302
epoch  214 | train_loss=0.0107 | train_cc=0.5893 | train_cc_norm=0.7774 | val_loss=0.0146 | val_cc=0.4760 | val_cc_norm=0.6323
epoch  215 | train_loss=0.0107 | train_cc=0.5894 | train_cc_norm=0.7774 | val_loss=0.0145 | val_cc=0.4743 | val_cc_norm=0.6298
epoch  216 | train_loss=0.0107 | train_cc=0.5906 | train_cc_norm=0.7792 | val_loss=0.0145 | val_cc=0.4753 | val_cc_norm=0.6313
epoch  217 | train_loss=0.0106 | train_cc=0.5927 | train_cc_norm=0.7823 | val_loss=0.0146 | val_cc=0.4762 | val_cc_norm=0.6327
epoch  218 | train_loss=0.0106 | train_cc=0.5918 | train_cc_norm=0.7811 | val_loss=0.0146 | val_cc=0.4754 | val_cc_norm=0.6316
epoch  219 | train_loss=0.0106 | train_cc=0.5920 | train_cc_norm=0.7814 | val_loss=0.0145 | val_cc=0.4759 | val_cc_norm=0.6322
epoch  220 | train_loss=0.0106 | train_cc=0.5927 | train_cc_norm=0.7820 | val_loss=0.0146 | val_cc=0.4752 | val_cc_norm=0.6311
epoch  221 | train_loss=0.0106 | train_cc=0.5930 | train_cc_norm=0.7827 | val_loss=0.0147 | val_cc=0.4765 | val_cc_norm=0.6328
epoch  222 | train_loss=0.0106 | train_cc=0.5929 | train_cc_norm=0.7821 | val_loss=0.0146 | val_cc=0.4760 | val_cc_norm=0.6321
epoch  223 | train_loss=0.0106 | train_cc=0.5932 | train_cc_norm=0.7827 | val_loss=0.0146 | val_cc=0.4754 | val_cc_norm=0.6313
epoch  224 | train_loss=0.0106 | train_cc=0.5942 | train_cc_norm=0.7844 | val_loss=0.0146 | val_cc=0.4769 | val_cc_norm=0.6338
epoch  225 | train_loss=0.0106 | train_cc=0.5939 | train_cc_norm=0.7840 | val_loss=0.0146 | val_cc=0.4759 | val_cc_norm=0.6322
epoch  226 | train_loss=0.0106 | train_cc=0.5944 | train_cc_norm=0.7847 | val_loss=0.0145 | val_cc=0.4770 | val_cc_norm=0.6335
epoch  227 | train_loss=0.0105 | train_cc=0.5961 | train_cc_norm=0.7870 | val_loss=0.0144 | val_cc=0.4760 | val_cc_norm=0.6321
epoch  228 | train_loss=0.0105 | train_cc=0.5950 | train_cc_norm=0.7855 | val_loss=0.0143 | val_cc=0.4780 | val_cc_norm=0.6347
epoch  229 | train_loss=0.0105 | train_cc=0.5956 | train_cc_norm=0.7862 | val_loss=0.0149 | val_cc=0.4781 | val_cc_norm=0.6350
epoch  230 | train_loss=0.0105 | train_cc=0.5957 | train_cc_norm=0.7863 | val_loss=0.0144 | val_cc=0.4773 | val_cc_norm=0.6341
epoch  231 | train_loss=0.0105 | train_cc=0.5971 | train_cc_norm=0.7881 | val_loss=0.0144 | val_cc=0.4786 | val_cc_norm=0.6357
epoch  232 | train_loss=0.0105 | train_cc=0.5961 | train_cc_norm=0.7866 | val_loss=0.0145 | val_cc=0.4771 | val_cc_norm=0.6338
epoch  233 | train_loss=0.0104 | train_cc=0.5989 | train_cc_norm=0.7906 | val_loss=0.0145 | val_cc=0.4779 | val_cc_norm=0.6348
epoch  234 | train_loss=0.0105 | train_cc=0.5983 | train_cc_norm=0.7897 | val_loss=0.0146 | val_cc=0.4797 | val_cc_norm=0.6371
epoch  235 | train_loss=0.0104 | train_cc=0.5993 | train_cc_norm=0.7910 | val_loss=0.0144 | val_cc=0.4780 | val_cc_norm=0.6349
epoch  236 | train_loss=0.0104 | train_cc=0.6003 | train_cc_norm=0.7925 | val_loss=0.0146 | val_cc=0.4773 | val_cc_norm=0.6341
epoch  237 | train_loss=0.0104 | train_cc=0.6000 | train_cc_norm=0.7924 | val_loss=0.0148 | val_cc=0.4794 | val_cc_norm=0.6370
epoch  238 | train_loss=0.0104 | train_cc=0.6004 | train_cc_norm=0.7927 | val_loss=0.0143 | val_cc=0.4788 | val_cc_norm=0.6358
epoch  239 | train_loss=0.0104 | train_cc=0.6010 | train_cc_norm=0.7936 | val_loss=0.0145 | val_cc=0.4795 | val_cc_norm=0.6373
epoch  240 | train_loss=0.0104 | train_cc=0.6013 | train_cc_norm=0.7937 | val_loss=0.0144 | val_cc=0.4792 | val_cc_norm=0.6366
epoch  241 | train_loss=0.0104 | train_cc=0.6004 | train_cc_norm=0.7926 | val_loss=0.0147 | val_cc=0.4794 | val_cc_norm=0.6372
epoch  242 | train_loss=0.0104 | train_cc=0.5995 | train_cc_norm=0.7916 | val_loss=0.0144 | val_cc=0.4782 | val_cc_norm=0.6353
epoch  243 | train_loss=0.0104 | train_cc=0.5999 | train_cc_norm=0.7918 | val_loss=0.0144 | val_cc=0.4798 | val_cc_norm=0.6374
epoch  244 | train_loss=0.0104 | train_cc=0.6018 | train_cc_norm=0.7947 | val_loss=0.0146 | val_cc=0.4796 | val_cc_norm=0.6372
epoch  245 | train_loss=0.0103 | train_cc=0.6016 | train_cc_norm=0.7941 | val_loss=0.0144 | val_cc=0.4801 | val_cc_norm=0.6378
epoch  246 | train_loss=0.0103 | train_cc=0.6025 | train_cc_norm=0.7953 | val_loss=0.0146 | val_cc=0.4796 | val_cc_norm=0.6373
epoch  247 | train_loss=0.0103 | train_cc=0.6022 | train_cc_norm=0.7949 | val_loss=0.0144 | val_cc=0.4807 | val_cc_norm=0.6386
epoch  248 | train_loss=0.0103 | train_cc=0.6028 | train_cc_norm=0.7958 | val_loss=0.0144 | val_cc=0.4801 | val_cc_norm=0.6376
epoch  249 | train_loss=0.0103 | train_cc=0.6033 | train_cc_norm=0.7965 | val_loss=0.0148 | val_cc=0.4807 | val_cc_norm=0.6389
epoch  250 | train_loss=0.0103 | train_cc=0.6032 | train_cc_norm=0.7962 | val_loss=0.0146 | val_cc=0.4821 | val_cc_norm=0.6406
epoch  251 | train_loss=0.0103 | train_cc=0.6024 | train_cc_norm=0.7952 | val_loss=0.0145 | val_cc=0.4794 | val_cc_norm=0.6366
epoch  252 | train_loss=0.0103 | train_cc=0.6053 | train_cc_norm=0.7994 | val_loss=0.0146 | val_cc=0.4814 | val_cc_norm=0.6396
epoch  253 | train_loss=0.0103 | train_cc=0.6052 | train_cc_norm=0.7991 | val_loss=0.0144 | val_cc=0.4812 | val_cc_norm=0.6396
epoch  254 | train_loss=0.0103 | train_cc=0.6051 | train_cc_norm=0.7990 | val_loss=0.0146 | val_cc=0.4818 | val_cc_norm=0.6401
epoch  255 | train_loss=0.0102 | train_cc=0.6067 | train_cc_norm=0.8012 | val_loss=0.0145 | val_cc=0.4818 | val_cc_norm=0.6398
epoch  256 | train_loss=0.0102 | train_cc=0.6059 | train_cc_norm=0.8000 | val_loss=0.0145 | val_cc=0.4816 | val_cc_norm=0.6400
epoch  257 | train_loss=0.0102 | train_cc=0.6079 | train_cc_norm=0.8029 | val_loss=0.0145 | val_cc=0.4824 | val_cc_norm=0.6410
epoch  258 | train_loss=0.0102 | train_cc=0.6075 | train_cc_norm=0.8020 | val_loss=0.0144 | val_cc=0.4823 | val_cc_norm=0.6409
epoch  259 | train_loss=0.0102 | train_cc=0.6077 | train_cc_norm=0.8022 | val_loss=0.0143 | val_cc=0.4817 | val_cc_norm=0.6400
epoch  260 | train_loss=0.0102 | train_cc=0.6072 | train_cc_norm=0.8014 | val_loss=0.0145 | val_cc=0.4828 | val_cc_norm=0.6418
epoch  261 | train_loss=0.0102 | train_cc=0.6072 | train_cc_norm=0.8015 | val_loss=0.0143 | val_cc=0.4826 | val_cc_norm=0.6414
epoch  262 | train_loss=0.0102 | train_cc=0.6074 | train_cc_norm=0.8019 | val_loss=0.0145 | val_cc=0.4821 | val_cc_norm=0.6404
epoch  263 | train_loss=0.0101 | train_cc=0.6092 | train_cc_norm=0.8044 | val_loss=0.0144 | val_cc=0.4842 | val_cc_norm=0.6435
epoch  264 | train_loss=0.0101 | train_cc=0.6108 | train_cc_norm=0.8065 | val_loss=0.0145 | val_cc=0.4826 | val_cc_norm=0.6412
epoch  265 | train_loss=0.0101 | train_cc=0.6109 | train_cc_norm=0.8067 | val_loss=0.0145 | val_cc=0.4823 | val_cc_norm=0.6407
epoch  266 | train_loss=0.0101 | train_cc=0.6112 | train_cc_norm=0.8072 | val_loss=0.0145 | val_cc=0.4845 | val_cc_norm=0.6438
epoch  267 | train_loss=0.0101 | train_cc=0.6106 | train_cc_norm=0.8062 | val_loss=0.0145 | val_cc=0.4823 | val_cc_norm=0.6408
epoch  268 | train_loss=0.0101 | train_cc=0.6114 | train_cc_norm=0.8071 | val_loss=0.0144 | val_cc=0.4847 | val_cc_norm=0.6440
epoch  269 | train_loss=0.0101 | train_cc=0.6123 | train_cc_norm=0.8086 | val_loss=0.0146 | val_cc=0.4845 | val_cc_norm=0.6439
epoch  270 | train_loss=0.0101 | train_cc=0.6111 | train_cc_norm=0.8070 | val_loss=0.0145 | val_cc=0.4837 | val_cc_norm=0.6429
epoch  271 | train_loss=0.0101 | train_cc=0.6113 | train_cc_norm=0.8071 | val_loss=0.0144 | val_cc=0.4844 | val_cc_norm=0.6436
epoch  272 | train_loss=0.0101 | train_cc=0.6114 | train_cc_norm=0.8075 | val_loss=0.0145 | val_cc=0.4835 | val_cc_norm=0.6426
epoch  273 | train_loss=0.0101 | train_cc=0.6112 | train_cc_norm=0.8069 | val_loss=0.0145 | val_cc=0.4847 | val_cc_norm=0.6443
epoch  274 | train_loss=0.0101 | train_cc=0.6112 | train_cc_norm=0.8070 | val_loss=0.0146 | val_cc=0.4831 | val_cc_norm=0.6419
epoch  275 | train_loss=0.0100 | train_cc=0.6137 | train_cc_norm=0.8106 | val_loss=0.0146 | val_cc=0.4851 | val_cc_norm=0.6446
epoch  276 | train_loss=0.0100 | train_cc=0.6145 | train_cc_norm=0.8115 | val_loss=0.0143 | val_cc=0.4832 | val_cc_norm=0.6419
epoch  277 | train_loss=0.0100 | train_cc=0.6146 | train_cc_norm=0.8117 | val_loss=0.0146 | val_cc=0.4853 | val_cc_norm=0.6452
epoch  278 | train_loss=0.0100 | train_cc=0.6148 | train_cc_norm=0.8120 | val_loss=0.0144 | val_cc=0.4841 | val_cc_norm=0.6431
epoch  279 | train_loss=0.0100 | train_cc=0.6139 | train_cc_norm=0.8105 | val_loss=0.0143 | val_cc=0.4848 | val_cc_norm=0.6441
epoch  280 | train_loss=0.0100 | train_cc=0.6133 | train_cc_norm=0.8101 | val_loss=0.0147 | val_cc=0.4841 | val_cc_norm=0.6432
epoch  281 | train_loss=0.0100 | train_cc=0.6142 | train_cc_norm=0.8111 | val_loss=0.0144 | val_cc=0.4856 | val_cc_norm=0.6451
epoch  282 | train_loss=0.0100 | train_cc=0.6155 | train_cc_norm=0.8131 | val_loss=0.0143 | val_cc=0.4855 | val_cc_norm=0.6451
epoch  283 | train_loss=0.0100 | train_cc=0.6155 | train_cc_norm=0.8130 | val_loss=0.0148 | val_cc=0.4855 | val_cc_norm=0.6454
epoch  284 | train_loss=0.0099 | train_cc=0.6167 | train_cc_norm=0.8145 | val_loss=0.0143 | val_cc=0.4853 | val_cc_norm=0.6448
epoch  285 | train_loss=0.0100 | train_cc=0.6149 | train_cc_norm=0.8119 | val_loss=0.0145 | val_cc=0.4851 | val_cc_norm=0.6448
epoch  286 | train_loss=0.0099 | train_cc=0.6166 | train_cc_norm=0.8143 | val_loss=0.0145 | val_cc=0.4857 | val_cc_norm=0.6453
epoch  287 | train_loss=0.0099 | train_cc=0.6180 | train_cc_norm=0.8163 | val_loss=0.0144 | val_cc=0.4852 | val_cc_norm=0.6448
epoch  288 | train_loss=0.0099 | train_cc=0.6187 | train_cc_norm=0.8171 | val_loss=0.0147 | val_cc=0.4866 | val_cc_norm=0.6465
epoch  289 | train_loss=0.0099 | train_cc=0.6191 | train_cc_norm=0.8177 | val_loss=0.0144 | val_cc=0.4859 | val_cc_norm=0.6458
epoch  290 | train_loss=0.0099 | train_cc=0.6184 | train_cc_norm=0.8166 | val_loss=0.0144 | val_cc=0.4859 | val_cc_norm=0.6458
epoch  291 | train_loss=0.0098 | train_cc=0.6202 | train_cc_norm=0.8193 | val_loss=0.0146 | val_cc=0.4860 | val_cc_norm=0.6457
epoch  292 | train_loss=0.0099 | train_cc=0.6179 | train_cc_norm=0.8158 | val_loss=0.0145 | val_cc=0.4859 | val_cc_norm=0.6454
epoch  293 | train_loss=0.0098 | train_cc=0.6194 | train_cc_norm=0.8180 | val_loss=0.0145 | val_cc=0.4845 | val_cc_norm=0.6438
epoch  294 | train_loss=0.0098 | train_cc=0.6202 | train_cc_norm=0.8191 | val_loss=0.0145 | val_cc=0.4869 | val_cc_norm=0.6471
epoch  295 | train_loss=0.0098 | train_cc=0.6199 | train_cc_norm=0.8186 | val_loss=0.0145 | val_cc=0.4855 | val_cc_norm=0.6452
epoch  296 | train_loss=0.0098 | train_cc=0.6205 | train_cc_norm=0.8197 | val_loss=0.0143 | val_cc=0.4850 | val_cc_norm=0.6442
epoch  297 | train_loss=0.0099 | train_cc=0.6188 | train_cc_norm=0.8171 | val_loss=0.0143 | val_cc=0.4852 | val_cc_norm=0.6449
epoch  298 | train_loss=0.0099 | train_cc=0.6189 | train_cc_norm=0.8172 | val_loss=0.0144 | val_cc=0.4858 | val_cc_norm=0.6456
epoch  299 | train_loss=0.0099 | train_cc=0.6184 | train_cc_norm=0.8166 | val_loss=0.0145 | val_cc=0.4869 | val_cc_norm=0.6472
epoch  300 | train_loss=0.0098 | train_cc=0.6201 | train_cc_norm=0.8189 | val_loss=0.0145 | val_cc=0.4854 | val_cc_norm=0.6454
epoch  301 | train_loss=0.0098 | train_cc=0.6222 | train_cc_norm=0.8219 | val_loss=0.0145 | val_cc=0.4877 | val_cc_norm=0.6480
epoch  302 | train_loss=0.0098 | train_cc=0.6228 | train_cc_norm=0.8228 | val_loss=0.0146 | val_cc=0.4868 | val_cc_norm=0.6469
epoch  303 | train_loss=0.0098 | train_cc=0.6221 | train_cc_norm=0.8219 | val_loss=0.0146 | val_cc=0.4865 | val_cc_norm=0.6465
epoch  304 | train_loss=0.0098 | train_cc=0.6212 | train_cc_norm=0.8205 | val_loss=0.0144 | val_cc=0.4868 | val_cc_norm=0.6470
epoch  305 | train_loss=0.0097 | train_cc=0.6230 | train_cc_norm=0.8231 | val_loss=0.0145 | val_cc=0.4859 | val_cc_norm=0.6460
epoch  306 | train_loss=0.0097 | train_cc=0.6233 | train_cc_norm=0.8233 | val_loss=0.0146 | val_cc=0.4867 | val_cc_norm=0.6466
epoch  307 | train_loss=0.0098 | train_cc=0.6230 | train_cc_norm=0.8231 | val_loss=0.0145 | val_cc=0.4870 | val_cc_norm=0.6471
epoch  308 | train_loss=0.0097 | train_cc=0.6230 | train_cc_norm=0.8229 | val_loss=0.0144 | val_cc=0.4859 | val_cc_norm=0.6455
epoch  309 | train_loss=0.0097 | train_cc=0.6240 | train_cc_norm=0.8241 | val_loss=0.0144 | val_cc=0.4869 | val_cc_norm=0.6470
epoch  310 | train_loss=0.0097 | train_cc=0.6249 | train_cc_norm=0.8256 | val_loss=0.0145 | val_cc=0.4871 | val_cc_norm=0.6471
epoch  311 | train_loss=0.0097 | train_cc=0.6248 | train_cc_norm=0.8254 | val_loss=0.0145 | val_cc=0.4860 | val_cc_norm=0.6461
epoch  312 | train_loss=0.0097 | train_cc=0.6246 | train_cc_norm=0.8251 | val_loss=0.0146 | val_cc=0.4868 | val_cc_norm=0.6468
epoch  313 | train_loss=0.0097 | train_cc=0.6233 | train_cc_norm=0.8233 | val_loss=0.0145 | val_cc=0.4865 | val_cc_norm=0.6464
epoch  314 | train_loss=0.0097 | train_cc=0.6245 | train_cc_norm=0.8252 | val_loss=0.0146 | val_cc=0.4870 | val_cc_norm=0.6473
epoch  315 | train_loss=0.0097 | train_cc=0.6244 | train_cc_norm=0.8248 | val_loss=0.0145 | val_cc=0.4862 | val_cc_norm=0.6461
epoch  316 | train_loss=0.0097 | train_cc=0.6254 | train_cc_norm=0.8264 | val_loss=0.0145 | val_cc=0.4869 | val_cc_norm=0.6469
epoch  317 | train_loss=0.0097 | train_cc=0.6257 | train_cc_norm=0.8265 | val_loss=0.0145 | val_cc=0.4877 | val_cc_norm=0.6480
epoch  318 | train_loss=0.0097 | train_cc=0.6269 | train_cc_norm=0.8283 | val_loss=0.0144 | val_cc=0.4864 | val_cc_norm=0.6462
epoch  319 | train_loss=0.0096 | train_cc=0.6260 | train_cc_norm=0.8269 | val_loss=0.0146 | val_cc=0.4882 | val_cc_norm=0.6488
epoch  320 | train_loss=0.0096 | train_cc=0.6269 | train_cc_norm=0.8283 | val_loss=0.0146 | val_cc=0.4875 | val_cc_norm=0.6478
epoch  321 | train_loss=0.0096 | train_cc=0.6263 | train_cc_norm=0.8269 | val_loss=0.0145 | val_cc=0.4872 | val_cc_norm=0.6473
epoch  322 | train_loss=0.0097 | train_cc=0.6264 | train_cc_norm=0.8276 | val_loss=0.0145 | val_cc=0.4853 | val_cc_norm=0.6450
epoch  323 | train_loss=0.0097 | train_cc=0.6250 | train_cc_norm=0.8255 | val_loss=0.0144 | val_cc=0.4858 | val_cc_norm=0.6457
epoch  324 | train_loss=0.0097 | train_cc=0.6271 | train_cc_norm=0.8286 | val_loss=0.0147 | val_cc=0.4860 | val_cc_norm=0.6462
epoch  325 | train_loss=0.0097 | train_cc=0.6250 | train_cc_norm=0.8256 | val_loss=0.0147 | val_cc=0.4867 | val_cc_norm=0.6471
epoch  326 | train_loss=0.0096 | train_cc=0.6279 | train_cc_norm=0.8297 | val_loss=0.0149 | val_cc=0.4880 | val_cc_norm=0.6483
epoch  327 | train_loss=0.0096 | train_cc=0.6271 | train_cc_norm=0.8285 | val_loss=0.0143 | val_cc=0.4864 | val_cc_norm=0.6462
epoch  328 | train_loss=0.0096 | train_cc=0.6256 | train_cc_norm=0.8264 | val_loss=0.0147 | val_cc=0.4860 | val_cc_norm=0.6461
epoch  329 | train_loss=0.0096 | train_cc=0.6270 | train_cc_norm=0.8282 | val_loss=0.0147 | val_cc=0.4882 | val_cc_norm=0.6488
epoch  330 | train_loss=0.0096 | train_cc=0.6281 | train_cc_norm=0.8296 | val_loss=0.0144 | val_cc=0.4865 | val_cc_norm=0.6466
epoch  331 | train_loss=0.0095 | train_cc=0.6303 | train_cc_norm=0.8329 | val_loss=0.0144 | val_cc=0.4875 | val_cc_norm=0.6475
epoch  332 | train_loss=0.0095 | train_cc=0.6305 | train_cc_norm=0.8332 | val_loss=0.0146 | val_cc=0.4880 | val_cc_norm=0.6485
epoch  333 | train_loss=0.0095 | train_cc=0.6301 | train_cc_norm=0.8325 | val_loss=0.0145 | val_cc=0.4880 | val_cc_norm=0.6487
epoch  334 | train_loss=0.0095 | train_cc=0.6308 | train_cc_norm=0.8336 | val_loss=0.0145 | val_cc=0.4886 | val_cc_norm=0.6493
epoch  335 | train_loss=0.0095 | train_cc=0.6301 | train_cc_norm=0.8324 | val_loss=0.0148 | val_cc=0.4872 | val_cc_norm=0.6477
epoch  336 | train_loss=0.0095 | train_cc=0.6300 | train_cc_norm=0.8323 | val_loss=0.0145 | val_cc=0.4876 | val_cc_norm=0.6480
epoch  337 | train_loss=0.0095 | train_cc=0.6303 | train_cc_norm=0.8328 | val_loss=0.0145 | val_cc=0.4887 | val_cc_norm=0.6494
epoch  338 | train_loss=0.0095 | train_cc=0.6302 | train_cc_norm=0.8327 | val_loss=0.0145 | val_cc=0.4864 | val_cc_norm=0.6466
epoch  339 | train_loss=0.0095 | train_cc=0.6309 | train_cc_norm=0.8332 | val_loss=0.0146 | val_cc=0.4881 | val_cc_norm=0.6485
epoch  340 | train_loss=0.0095 | train_cc=0.6324 | train_cc_norm=0.8358 | val_loss=0.0146 | val_cc=0.4887 | val_cc_norm=0.6494
epoch  341 | train_loss=0.0095 | train_cc=0.6320 | train_cc_norm=0.8352 | val_loss=0.0146 | val_cc=0.4873 | val_cc_norm=0.6474
epoch  342 | train_loss=0.0094 | train_cc=0.6340 | train_cc_norm=0.8379 | val_loss=0.0146 | val_cc=0.4883 | val_cc_norm=0.6489
epoch  343 | train_loss=0.0094 | train_cc=0.6325 | train_cc_norm=0.8354 | val_loss=0.0147 | val_cc=0.4874 | val_cc_norm=0.6476
epoch  344 | train_loss=0.0094 | train_cc=0.6330 | train_cc_norm=0.8363 | val_loss=0.0146 | val_cc=0.4870 | val_cc_norm=0.6471
epoch  345 | train_loss=0.0095 | train_cc=0.6327 | train_cc_norm=0.8359 | val_loss=0.0146 | val_cc=0.4868 | val_cc_norm=0.6469
epoch  346 | train_loss=0.0094 | train_cc=0.6341 | train_cc_norm=0.8382 | val_loss=0.0145 | val_cc=0.4863 | val_cc_norm=0.6462
epoch  347 | train_loss=0.0094 | train_cc=0.6334 | train_cc_norm=0.8372 | val_loss=0.0147 | val_cc=0.4848 | val_cc_norm=0.6442
epoch  348 | train_loss=0.0094 | train_cc=0.6345 | train_cc_norm=0.8384 | val_loss=0.0144 | val_cc=0.4879 | val_cc_norm=0.6484
epoch  349 | train_loss=0.0094 | train_cc=0.6346 | train_cc_norm=0.8385 | val_loss=0.0147 | val_cc=0.4871 | val_cc_norm=0.6470
epoch  350 | train_loss=0.0094 | train_cc=0.6345 | train_cc_norm=0.8386 | val_loss=0.0146 | val_cc=0.4870 | val_cc_norm=0.6473
epoch  351 | train_loss=0.0094 | train_cc=0.6348 | train_cc_norm=0.8388 | val_loss=0.0146 | val_cc=0.4870 | val_cc_norm=0.6472
epoch  352 | train_loss=0.0094 | train_cc=0.6352 | train_cc_norm=0.8393 | val_loss=0.0148 | val_cc=0.4872 | val_cc_norm=0.6474
epoch  353 | train_loss=0.0094 | train_cc=0.6343 | train_cc_norm=0.8379 | val_loss=0.0146 | val_cc=0.4852 | val_cc_norm=0.6446
epoch  354 | train_loss=0.0094 | train_cc=0.6349 | train_cc_norm=0.8388 | val_loss=0.0147 | val_cc=0.4874 | val_cc_norm=0.6478
epoch  355 | train_loss=0.0093 | train_cc=0.6363 | train_cc_norm=0.8408 | val_loss=0.0145 | val_cc=0.4869 | val_cc_norm=0.6470
epoch  356 | train_loss=0.0093 | train_cc=0.6367 | train_cc_norm=0.8414 | val_loss=0.0147 | val_cc=0.4874 | val_cc_norm=0.6477
epoch  357 | train_loss=0.0094 | train_cc=0.6361 | train_cc_norm=0.8405 | val_loss=0.0146 | val_cc=0.4871 | val_cc_norm=0.6470
epoch  358 | train_loss=0.0094 | train_cc=0.6365 | train_cc_norm=0.8412 | val_loss=0.0146 | val_cc=0.4874 | val_cc_norm=0.6478
epoch  359 | train_loss=0.0094 | train_cc=0.6361 | train_cc_norm=0.8405 | val_loss=0.0146 | val_cc=0.4868 | val_cc_norm=0.6470
epoch  360 | train_loss=0.0093 | train_cc=0.6369 | train_cc_norm=0.8416 | val_loss=0.0147 | val_cc=0.4863 | val_cc_norm=0.6462
epoch  361 | train_loss=0.0093 | train_cc=0.6367 | train_cc_norm=0.8415 | val_loss=0.0147 | val_cc=0.4870 | val_cc_norm=0.6473
epoch  362 | train_loss=0.0093 | train_cc=0.6367 | train_cc_norm=0.8414 | val_loss=0.0144 | val_cc=0.4870 | val_cc_norm=0.6470
epoch  363 | train_loss=0.0093 | train_cc=0.6370 | train_cc_norm=0.8418 | val_loss=0.0148 | val_cc=0.4866 | val_cc_norm=0.6468
epoch  364 | train_loss=0.0093 | train_cc=0.6367 | train_cc_norm=0.8414 | val_loss=0.0147 | val_cc=0.4886 | val_cc_norm=0.6492
epoch  365 | train_loss=0.0093 | train_cc=0.6375 | train_cc_norm=0.8424 | val_loss=0.0147 | val_cc=0.4874 | val_cc_norm=0.6477
epoch  366 | train_loss=0.0093 | train_cc=0.6377 | train_cc_norm=0.8427 | val_loss=0.0148 | val_cc=0.4860 | val_cc_norm=0.6461
epoch  367 | train_loss=0.0093 | train_cc=0.6387 | train_cc_norm=0.8441 | val_loss=0.0147 | val_cc=0.4866 | val_cc_norm=0.6466
epoch  368 | train_loss=0.0093 | train_cc=0.6392 | train_cc_norm=0.8448 | val_loss=0.0148 | val_cc=0.4863 | val_cc_norm=0.6464
epoch  369 | train_loss=0.0093 | train_cc=0.6385 | train_cc_norm=0.8437 | val_loss=0.0148 | val_cc=0.4876 | val_cc_norm=0.6481
epoch  370 | train_loss=0.0093 | train_cc=0.6377 | train_cc_norm=0.8427 | val_loss=0.0146 | val_cc=0.4854 | val_cc_norm=0.6453
epoch  371 | train_loss=0.0093 | train_cc=0.6387 | train_cc_norm=0.8442 | val_loss=0.0145 | val_cc=0.4851 | val_cc_norm=0.6446
epoch  372 | train_loss=0.0093 | train_cc=0.6384 | train_cc_norm=0.8436 | val_loss=0.0150 | val_cc=0.4871 | val_cc_norm=0.6474
epoch  373 | train_loss=0.0093 | train_cc=0.6388 | train_cc_norm=0.8444 | val_loss=0.0147 | val_cc=0.4850 | val_cc_norm=0.6447
epoch  374 | train_loss=0.0093 | train_cc=0.6371 | train_cc_norm=0.8419 | val_loss=0.0149 | val_cc=0.4864 | val_cc_norm=0.6464
epoch  375 | train_loss=0.0093 | train_cc=0.6390 | train_cc_norm=0.8445 | val_loss=0.0145 | val_cc=0.4856 | val_cc_norm=0.6450
epoch  376 | train_loss=0.0093 | train_cc=0.6382 | train_cc_norm=0.8434 | val_loss=0.0149 | val_cc=0.4850 | val_cc_norm=0.6447
epoch  377 | train_loss=0.0093 | train_cc=0.6379 | train_cc_norm=0.8430 | val_loss=0.0148 | val_cc=0.4866 | val_cc_norm=0.6468
epoch  378 | train_loss=0.0093 | train_cc=0.6377 | train_cc_norm=0.8429 | val_loss=0.0148 | val_cc=0.4844 | val_cc_norm=0.6436
epoch  379 | train_loss=0.0093 | train_cc=0.6400 | train_cc_norm=0.8459 | val_loss=0.0149 | val_cc=0.4857 | val_cc_norm=0.6459
epoch  380 | train_loss=0.0092 | train_cc=0.6401 | train_cc_norm=0.8460 | val_loss=0.0148 | val_cc=0.4847 | val_cc_norm=0.6441
epoch  381 | train_loss=0.0092 | train_cc=0.6401 | train_cc_norm=0.8460 | val_loss=0.0149 | val_cc=0.4855 | val_cc_norm=0.6453
epoch  382 | train_loss=0.0092 | train_cc=0.6406 | train_cc_norm=0.8466 | val_loss=0.0149 | val_cc=0.4848 | val_cc_norm=0.6445
epoch  383 | train_loss=0.0092 | train_cc=0.6421 | train_cc_norm=0.8487 | val_loss=0.0148 | val_cc=0.4863 | val_cc_norm=0.6464
epoch  384 | train_loss=0.0092 | train_cc=0.6422 | train_cc_norm=0.8491 | val_loss=0.0147 | val_cc=0.4851 | val_cc_norm=0.6446
epoch  385 | train_loss=0.0092 | train_cc=0.6418 | train_cc_norm=0.8482 | val_loss=0.0149 | val_cc=0.4835 | val_cc_norm=0.6427
epoch  386 | train_loss=0.0092 | train_cc=0.6426 | train_cc_norm=0.8494 | val_loss=0.0149 | val_cc=0.4864 | val_cc_norm=0.6464
epoch  387 | train_loss=0.0091 | train_cc=0.6434 | train_cc_norm=0.8505 | val_loss=0.0148 | val_cc=0.4849 | val_cc_norm=0.6443
=== Transformer + AdapTrans — stopped after 388 epochs in 1917s ===

6. Training curves

[8]:
fig, axs = plt.subplots(1, 2, figsize=(11, 3.8))
for r, c in [(result_plain, "tab:blue"), (result_adaptrans, "tab:orange")]:
    ep = [h["epoch"] for h in r["history"]]
    vL = [h["val_loss"] for h in r["history"]]
    vC = [torch.nanmean(h["val_cc_norm"]).item() for h in r["history"]]
    axs[0].plot(ep, vL, label=r["name"], color=c, lw=1.5)
    axs[1].plot(ep, vC, label=r["name"], color=c, lw=1.5)
axs[0].set_xlabel("epoch"); axs[0].set_ylabel("val MSE loss")
axs[0].legend(); axs[0].set_title("Validation loss")
axs[1].set_xlabel("epoch"); axs[1].set_ylabel("val cc_norm")
axs[1].legend(); axs[1].set_title("Validation cc_norm")
plt.tight_layout(); plt.show()

../../_images/_source_ipynb_adaptrans_transformer_aa1_16_0.png

7. Test-set summary

[9]:
print(f"{'configuration':<32s} {'params':>10s}  {'epochs':>7s}  {'fit (s)':>8s}  {'test cc (mean)':>16s}  {'test cc_norm (mean)':>22s}")
print("-" * 105)
for r in (result_plain, result_adaptrans):
    print(f"{r['name']:<32s} {r['n_params']:>10,}  {r['n_epochs']:>7d}  {r['elapsed']:>8.1f}  "
          f"{torch.nanmean(r['test_cc']):>+16.3f}  {torch.nanmean(r['test_cc_norm']):>+22.3f}")

configuration                        params   epochs   fit (s)    test cc (mean)     test cc_norm (mean)
---------------------------------------------------------------------------------------------------------
Transformer (no prefilter)           32,257      395    2021.8            +0.506                  +0.654
Transformer + AdapTrans              33,889      388    1916.7            +0.509                  +0.660

8. Predicted vs recorded responses on a test stimulus

A canonical sanity-check figure for population auditory recordings: the input spectrogram on top, the trial-averaged ground-truth firing rates as a population raster (one row per neuron, sorted by test cc_norm — best-fit cells at top), and the AdapTrans model’s prediction below it on the same color scale and the same neuron ordering.

[10]:
# Pick one held-out test stim
stim_iter_idx = test_idx[0]   # iter-space index, fetched via ds[i]
stim_t, resps_t, _, meta_t = ds[stim_iter_idx]
spec = stim_t.squeeze(0).cpu().numpy()                     # drop channel → (F, T)
T = spec.shape[1]

# Ground truth: trial-mean per cell (R varies between cells), then stack → (N, T)
gt = torch.stack([r.nanmean(dim=0) for r in resps_t], dim=0).cpu().numpy()

# Prediction from the AdapTrans model
result_adaptrans["model"].eval().to(device)
with torch.no_grad():
    x = stim_t.unsqueeze(0).to(device)                     # (1, 1, F, T)
    pred = result_adaptrans["model"](x)                    # (1, N, 1, T)
pr = pred.squeeze(0).squeeze(1).cpu().numpy()              # (N, T)

# Sort neurons by AdapTrans test cc_norm (best at top)
order = torch.argsort(result_adaptrans["test_cc_norm"], descending=True).numpy()
gt_s, pr_s = gt[order], pr[order]

# Shared color scale across gt / pred
vmax = float(np.nanpercentile(np.concatenate([gt_s, pr_s], axis=1), 99.5))

t = np.arange(T) * ds.dt   # ms

fig, axs = plt.subplots(3, 1, figsize=(10, 7), sharex=True,
                        gridspec_kw={"height_ratios": [1, 2, 2]})

axs[0].imshow(spec, aspect='auto', origin='lower',
              extent=[t[0], t[-1], 0, ds.F], cmap='magma')
axs[0].set_ylabel("freq band")
axs[0].set_title(f"Test stim '{meta_t['name'][:8]}…' ({meta_t['type']})")

axs[1].imshow(gt_s, aspect='auto', origin='upper',
              extent=[t[0], t[-1], gt_s.shape[0], 0],
              cmap='viridis', vmin=0, vmax=vmax)
axs[1].set_ylabel("neuron (sorted)")
axs[1].set_title("Ground truth — trial-averaged firing rate")

axs[2].imshow(pr_s, aspect='auto', origin='upper',
              extent=[t[0], t[-1], pr_s.shape[0], 0],
              cmap='viridis', vmin=0, vmax=vmax)
axs[2].set_ylabel("neuron (sorted)")
axs[2].set_xlabel("time (ms)")
axs[2].set_title("Predicted — AdapTrans Transformer")

plt.tight_layout(); plt.show()

../../_images/_source_ipynb_adaptrans_transformer_aa1_20_0.png

9. Per-cell test cc_norm — AdapTrans vs no prefilter

Each dot is one Field L cell. Points above the diagonal are cells where AdapTrans helps; below, where it hurts. The diagonal makes the per-cell improvement visually direct (a common figure in the literature for ablations of this kind).

[11]:
plain = result_plain["test_cc_norm"].numpy()
adapt = result_adaptrans["test_cc_norm"].numpy()
both_ok = ~(np.isnan(plain) | np.isnan(adapt))
plain, adapt = plain[both_ok], adapt[both_ok]

fig, ax = plt.subplots(figsize=(5.5, 5.5))
lo, hi = -0.1, 0.95
ax.plot([lo, hi], [lo, hi], 'k--', lw=1, alpha=0.6)
ax.scatter(plain, adapt, s=22, alpha=0.7, color='tab:purple', edgecolor='black', linewidth=0.4)

n_above = int((adapt > plain).sum())
ax.set_xlim(lo, hi); ax.set_ylim(lo, hi)
ax.set_xlabel("test cc_norm — Transformer (no prefilter)")
ax.set_ylabel("test cc_norm — Transformer + AdapTrans")
ax.set_title(f"AdapTrans helps {n_above}/{len(plain)} cells "
             f"(mean: {plain.mean():+.3f} → {adapt.mean():+.3f})")
plt.tight_layout(); plt.show()

../../_images/_source_ipynb_adaptrans_transformer_aa1_22_0.png

10. Inspect the learned AdapTrans filters

AdapTrans’s per-band time-constants are derived from the cochlear frequency map at init. After training the model adjusts them independently for the ON and OFF channels. The two panels below show the learned per-band a (related to adaptation time-constant — the larger a, the slower the adaptation) and the ON/OFF kernel for a representative band.

[12]:
adaptrans = result_adaptrans["model"].prefiltering
a_on, a_off = adaptrans.get_a()
w = adaptrans.get_w()

fig, axs = plt.subplots(1, 2, figsize=(11, 3.5))
F_bands = np.arange(adaptrans.F)
axs[0].plot(F_bands, a_on.numpy(),  marker='o', lw=1.2, label='ON  (a_on)',  color='tab:red')
axs[0].plot(F_bands, a_off.numpy(), marker='s', lw=1.2, label='OFF (a_off)', color='tab:blue')
axs[0].plot(F_bands, w.numpy(),     marker='^', lw=1.2, label='w (shared)',  color='tab:gray', alpha=0.6)
axs[0].set_xlabel("frequency band (low → high)")
axs[0].set_ylabel("learned coefficient")
axs[0].set_title("Per-band AdapTrans parameters")
axs[0].legend()

# Show the ON / OFF kernels for a low-frequency and a high-frequency band
with torch.no_grad():
    k_on, k_off = adaptrans.build_kernels()
band_lo, band_hi = 4, adaptrans.F - 4
axs[1].plot(k_on[band_lo, 0].cpu().numpy(),  marker='o', lw=1.2, color='tab:red',
            label=f'ON, band {band_lo}')
axs[1].plot(k_off[band_lo, 0].cpu().numpy(), marker='o', lw=1.2, color='tab:blue',
            label=f'OFF, band {band_lo}')
axs[1].plot(k_on[band_hi, 0].cpu().numpy(),  marker='s', lw=1.2, color='tab:red',
            ls='--', alpha=0.7, label=f'ON, band {band_hi}')
axs[1].plot(k_off[band_hi, 0].cpu().numpy(), marker='s', lw=1.2, color='tab:blue',
            ls='--', alpha=0.7, label=f'OFF, band {band_hi}')
axs[1].axhline(0, color='k', lw=0.5)
axs[1].set_xlabel("kernel tap (most recent → past)")
axs[1].set_ylabel("weight")
axs[1].set_title("ON/OFF kernels at low vs high band")
axs[1].legend(fontsize=8)
plt.tight_layout(); plt.show()

../../_images/_source_ipynb_adaptrans_transformer_aa1_24_0.png

What’s next

  • Compare AdapTrans against ICAdaptation (Willmore et al. 2016 baseline) — same model, three prefiltering choices: None, make_prefiltering('icadaptation', ...) (paper-faithful, fixed time-constants), and make_prefiltering('adaptrans', ...) (learnable). The two cochlear-adaptation prefilters typically match each other and beat None; the difference between them is small but consistent.

  • Cross-dataset AdapTrans — same prefilter, fit on NS1, AA1, and NAT4 jointly via concat_neural_datasets. AdapTrans’s per-band time-constants generalise across datasets if the spectrogram resolution (F, dt) is shared.