{
  "accuracy": 0.996,
  "batch_size": 128,
  "class_names": [
    "disk",
    "orb",
    "triangle",
    "cigar_rod",
    "light_formation",
    "irregular_glow",
    "aircraft",
    "balloon",
    "bird",
    "celestial_or_artifact"
  ],
  "classification_report": {
    "accuracy": 0.996,
    "aircraft": {
      "f1-score": 0.99,
      "precision": 0.99,
      "recall": 0.99,
      "support": 200.0
    },
    "balloon": {
      "f1-score": 0.9950248756218906,
      "precision": 0.9900990099009901,
      "recall": 1.0,
      "support": 200.0
    },
    "bird": {
      "f1-score": 1.0,
      "precision": 1.0,
      "recall": 1.0,
      "support": 200.0
    },
    "celestial_or_artifact": {
      "f1-score": 0.9875930521091811,
      "precision": 0.9802955665024631,
      "recall": 0.995,
      "support": 200.0
    },
    "cigar_rod": {
      "f1-score": 1.0,
      "precision": 1.0,
      "recall": 1.0,
      "support": 200.0
    },
    "disk": {
      "f1-score": 1.0,
      "precision": 1.0,
      "recall": 1.0,
      "support": 200.0
    },
    "irregular_glow": {
      "f1-score": 0.9924433249370277,
      "precision": 1.0,
      "recall": 0.985,
      "support": 200.0
    },
    "light_formation": {
      "f1-score": 0.9949748743718593,
      "precision": 1.0,
      "recall": 0.99,
      "support": 200.0
    },
    "macro avg": {
      "f1-score": 0.996003612703996,
      "precision": 0.9960394576403452,
      "recall": 0.9959999999999999,
      "support": 2000.0
    },
    "orb": {
      "f1-score": 1.0,
      "precision": 1.0,
      "recall": 1.0,
      "support": 200.0
    },
    "triangle": {
      "f1-score": 1.0,
      "precision": 1.0,
      "recall": 1.0,
      "support": 200.0
    },
    "weighted avg": {
      "f1-score": 0.9960036127039958,
      "precision": 0.9960394576403453,
      "recall": 0.996,
      "support": 2000.0
    }
  },
  "confusion_matrix": [
    [
      200,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0
    ],
    [
      0,
      200,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0
    ],
    [
      0,
      0,
      200,
      0,
      0,
      0,
      0,
      0,
      0,
      0
    ],
    [
      0,
      0,
      0,
      200,
      0,
      0,
      0,
      0,
      0,
      0
    ],
    [
      0,
      0,
      0,
      0,
      198,
      0,
      0,
      0,
      0,
      2
    ],
    [
      0,
      0,
      0,
      0,
      0,
      197,
      1,
      2,
      0,
      0
    ],
    [
      0,
      0,
      0,
      0,
      0,
      0,
      198,
      0,
      0,
      2
    ],
    [
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      200,
      0,
      0
    ],
    [
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      200,
      0
    ],
    [
      0,
      0,
      0,
      0,
      0,
      0,
      1,
      0,
      0,
      199
    ]
  ],
  "dataset": "data/ufo_mnist_v1/ufo_mnist_28x28.npz",
  "device": "mps",
  "epochs": 35,
  "history": [
    {
      "epoch": 1,
      "test_accuracy": 0.691,
      "test_loss": 0.9816717977523803,
      "train_accuracy": 0.61925,
      "train_loss": 1.2830035853385926
    },
    {
      "epoch": 2,
      "test_accuracy": 0.8875,
      "test_loss": 0.4232970126867294,
      "train_accuracy": 0.84225,
      "train_loss": 0.580163019657135
    },
    {
      "epoch": 3,
      "test_accuracy": 0.9465,
      "test_loss": 0.21190465581417084,
      "train_accuracy": 0.90725,
      "train_loss": 0.3422199056148529
    },
    {
      "epoch": 4,
      "test_accuracy": 0.967,
      "test_loss": 0.15089817249774934,
      "train_accuracy": 0.946625,
      "train_loss": 0.21261116814613343
    },
    {
      "epoch": 5,
      "test_accuracy": 0.9805,
      "test_loss": 0.09443774011731147,
      "train_accuracy": 0.960625,
      "train_loss": 0.15068471431732178
    },
    {
      "epoch": 6,
      "test_accuracy": 0.9865,
      "test_loss": 0.07312112429738045,
      "train_accuracy": 0.97325,
      "train_loss": 0.10924866807460785
    },
    {
      "epoch": 7,
      "test_accuracy": 0.979,
      "test_loss": 0.07275658705085516,
      "train_accuracy": 0.97675,
      "train_loss": 0.08836212217807769
    },
    {
      "epoch": 8,
      "test_accuracy": 0.9755,
      "test_loss": 0.06709510520100594,
      "train_accuracy": 0.98325,
      "train_loss": 0.06789490747451782
    },
    {
      "epoch": 9,
      "test_accuracy": 0.9875,
      "test_loss": 0.043576638512313366,
      "train_accuracy": 0.986,
      "train_loss": 0.059861751049757
    },
    {
      "epoch": 10,
      "test_accuracy": 0.9765,
      "test_loss": 0.07374747448414565,
      "train_accuracy": 0.98875,
      "train_loss": 0.04974053153395653
    },
    {
      "epoch": 11,
      "test_accuracy": 0.9905,
      "test_loss": 0.033962428897619246,
      "train_accuracy": 0.9895,
      "train_loss": 0.04311893390119076
    },
    {
      "epoch": 12,
      "test_accuracy": 0.988,
      "test_loss": 0.03571773296222091,
      "train_accuracy": 0.991625,
      "train_loss": 0.03920322416722775
    },
    {
      "epoch": 13,
      "test_accuracy": 0.993,
      "test_loss": 0.027023209661245346,
      "train_accuracy": 0.991375,
      "train_loss": 0.03738927559554577
    },
    {
      "epoch": 14,
      "test_accuracy": 0.9775,
      "test_loss": 0.06288590517640114,
      "train_accuracy": 0.991875,
      "train_loss": 0.032497393235564234
    },
    {
      "epoch": 15,
      "test_accuracy": 0.9935,
      "test_loss": 0.02712057024985552,
      "train_accuracy": 0.992125,
      "train_loss": 0.03397584144771099
    },
    {
      "epoch": 16,
      "test_accuracy": 0.995,
      "test_loss": 0.022440085500478744,
      "train_accuracy": 0.991375,
      "train_loss": 0.03085419090092182
    },
    {
      "epoch": 17,
      "test_accuracy": 0.9935,
      "test_loss": 0.027500515868887306,
      "train_accuracy": 0.9955,
      "train_loss": 0.02272798340022564
    },
    {
      "epoch": 18,
      "test_accuracy": 0.995,
      "test_loss": 0.01908688500523567,
      "train_accuracy": 0.99425,
      "train_loss": 0.024061418734490872
    },
    {
      "epoch": 19,
      "test_accuracy": 0.995,
      "test_loss": 0.01934471120685339,
      "train_accuracy": 0.99675,
      "train_loss": 0.015554313436150552
    },
    {
      "epoch": 20,
      "test_accuracy": 0.993,
      "test_loss": 0.02668101593386382,
      "train_accuracy": 0.996125,
      "train_loss": 0.016058870822191238
    },
    {
      "epoch": 21,
      "test_accuracy": 0.995,
      "test_loss": 0.019372477859258653,
      "train_accuracy": 0.99675,
      "train_loss": 0.01535726236552
    },
    {
      "epoch": 22,
      "test_accuracy": 0.995,
      "test_loss": 0.02004048816114664,
      "train_accuracy": 0.9975,
      "train_loss": 0.012192866690456867
    },
    {
      "epoch": 23,
      "test_accuracy": 0.9945,
      "test_loss": 0.02191719087213278,
      "train_accuracy": 0.996875,
      "train_loss": 0.014330682702362537
    },
    {
      "epoch": 24,
      "test_accuracy": 0.9935,
      "test_loss": 0.02019207012746483,
      "train_accuracy": 0.997625,
      "train_loss": 0.01239668357744813
    },
    {
      "epoch": 25,
      "test_accuracy": 0.9945,
      "test_loss": 0.017938180945813655,
      "train_accuracy": 0.9985,
      "train_loss": 0.010451694164425134
    },
    {
      "epoch": 26,
      "test_accuracy": 0.9945,
      "test_loss": 0.019236900713294744,
      "train_accuracy": 0.999,
      "train_loss": 0.00873736072331667
    },
    {
      "epoch": 27,
      "test_accuracy": 0.9945,
      "test_loss": 0.020746080227196217,
      "train_accuracy": 0.9985,
      "train_loss": 0.009471689391881227
    },
    {
      "epoch": 28,
      "test_accuracy": 0.995,
      "test_loss": 0.01749579890817404,
      "train_accuracy": 0.999125,
      "train_loss": 0.007723238039761782
    },
    {
      "epoch": 29,
      "test_accuracy": 0.9955,
      "test_loss": 0.016995867144316435,
      "train_accuracy": 0.999,
      "train_loss": 0.0072368755284696815
    },
    {
      "epoch": 30,
      "test_accuracy": 0.9965,
      "test_loss": 0.01691092124208808,
      "train_accuracy": 0.998625,
      "train_loss": 0.008231692556291819
    },
    {
      "epoch": 31,
      "test_accuracy": 0.996,
      "test_loss": 0.016690007138997317,
      "train_accuracy": 0.998375,
      "train_loss": 0.007945808876305818
    },
    {
      "epoch": 32,
      "test_accuracy": 0.996,
      "test_loss": 0.01571718315780163,
      "train_accuracy": 0.99925,
      "train_loss": 0.007695472875609994
    },
    {
      "epoch": 33,
      "test_accuracy": 0.996,
      "test_loss": 0.016784133387729525,
      "train_accuracy": 0.998875,
      "train_loss": 0.007625008229166269
    },
    {
      "epoch": 34,
      "test_accuracy": 0.996,
      "test_loss": 0.017269930381327868,
      "train_accuracy": 0.999,
      "train_loss": 0.007132668472826481
    },
    {
      "epoch": 35,
      "test_accuracy": 0.996,
      "test_loss": 0.01683256961032748,
      "train_accuracy": 0.998375,
      "train_loss": 0.007866630291566253
    }
  ],
  "macro_f1": 0.996003612703996,
  "model": "SmallCNN: 3 convolutional blocks + batch norm + dropout + AdamW",
  "seed": 1337,
  "test_examples": 2000,
  "test_loss": 0.01683256961032748,
  "train_examples": 8000,
  "weighted_f1": 0.9960036127039958
}
