Shreshth2002 commited on
Commit
c65e61c
·
verified ·
1 Parent(s): d68626d

Upload folder using huggingface_hub

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +9 -0
  2. .gradio/certificate.pem +31 -0
  3. README.md +3 -9
  4. __pycache__/eval.cpython-313.pyc +0 -0
  5. __pycache__/train.cpython-313.pyc +0 -0
  6. __pycache__/wandb_utils.cpython-313.pyc +0 -0
  7. app.py +151 -0
  8. best_model_custom.pth +3 -0
  9. best_model_customcnn.pth +3 -0
  10. best_model_resnet18.pth +3 -0
  11. confusion_matrix_custom.png +3 -0
  12. confusion_matrix_resnet18.png +3 -0
  13. eval.py +169 -0
  14. examples/9977.png +0 -0
  15. examples/9992.png +0 -0
  16. main.py +212 -0
  17. model_comparison.json +574 -0
  18. models/__pycache__/custom_cnn.cpython-313.pyc +0 -0
  19. models/__pycache__/resnet18.cpython-313.pyc +0 -0
  20. models/custom_cnn.py +84 -0
  21. models/resnet18.py +56 -0
  22. requirements.txt +24 -0
  23. results_custom.json +286 -0
  24. results_resnet18.json +286 -0
  25. train.py +234 -0
  26. utils/__pycache__/data_loader.cpython-313.pyc +0 -0
  27. utils/data_loader.py +156 -0
  28. utils/visualizations.py +154 -0
  29. wandb/run-20250717_042842-06r19hoq/files/config.yaml +83 -0
  30. wandb/run-20250717_042842-06r19hoq/files/media/graph/graph_0_summary_132b1dd32ead095f5a49.graph.json +1 -0
  31. wandb/run-20250717_042842-06r19hoq/files/media/images/confusion_matrix_19_b33026bc347bc22a8d9b.png +0 -0
  32. wandb/run-20250717_042842-06r19hoq/files/media/images/confusion_matrix_39_de4ede8accb5f138e9f1.png +0 -0
  33. wandb/run-20250717_042842-06r19hoq/files/media/images/confusion_matrix_59_5019078d4adcee2f0528.png +0 -0
  34. wandb/run-20250717_042842-06r19hoq/files/media/images/confusion_matrix_79_370451acba8027daeccc.png +0 -0
  35. wandb/run-20250717_042842-06r19hoq/files/media/images/confusion_matrix_99_286cbb15cd888998e571.png +0 -0
  36. wandb/run-20250717_042842-06r19hoq/files/output.log +103 -0
  37. wandb/run-20250717_042842-06r19hoq/files/requirements.txt +119 -0
  38. wandb/run-20250717_042842-06r19hoq/files/wandb-metadata.json +39 -0
  39. wandb/run-20250717_042842-06r19hoq/files/wandb-summary.json +1 -0
  40. wandb/run-20250717_042842-06r19hoq/logs/debug-internal.log +13 -0
  41. wandb/run-20250717_042842-06r19hoq/logs/debug.log +29 -0
  42. wandb/run-20250717_042842-06r19hoq/run-06r19hoq.wandb +3 -0
  43. wandb/run-20250718_001150-vs4r5xs7/files/config.yaml +83 -0
  44. wandb/run-20250718_001150-vs4r5xs7/files/media/graph/graph_0_summary_b97b6de7596295411b65.graph.json +1 -0
  45. wandb/run-20250718_001150-vs4r5xs7/files/media/images/confusion_matrix_19_f2088a1d95b30d655a10.png +0 -0
  46. wandb/run-20250718_001150-vs4r5xs7/files/media/images/confusion_matrix_39_c51878a573e7397c245b.png +0 -0
  47. wandb/run-20250718_001150-vs4r5xs7/files/output.log +53 -0
  48. wandb/run-20250718_001150-vs4r5xs7/files/requirements.txt +120 -0
  49. wandb/run-20250718_001150-vs4r5xs7/files/wandb-metadata.json +39 -0
  50. wandb/run-20250718_001150-vs4r5xs7/files/wandb-summary.json +1 -0
.gitattributes CHANGED
@@ -33,3 +33,12 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ confusion_matrix_custom.png filter=lfs diff=lfs merge=lfs -text
37
+ confusion_matrix_resnet18.png filter=lfs diff=lfs merge=lfs -text
38
+ wandb/run-20250717_042842-06r19hoq/run-06r19hoq.wandb filter=lfs diff=lfs merge=lfs -text
39
+ wandb/run-20250718_001150-vs4r5xs7/run-vs4r5xs7.wandb filter=lfs diff=lfs merge=lfs -text
40
+ wandb/run-20250718_005715-s89rop1c/run-s89rop1c.wandb filter=lfs diff=lfs merge=lfs -text
41
+ wandb/run-20250718_014549-myiqhu6f/run-myiqhu6f.wandb filter=lfs diff=lfs merge=lfs -text
42
+ wandb/run-20250718_025207-slendl5x/run-slendl5x.wandb filter=lfs diff=lfs merge=lfs -text
43
+ wandb/run-20250718_034150-neink9yc/run-neink9yc.wandb filter=lfs diff=lfs merge=lfs -text
44
+ wandb/run-20250718_041408-zryhujpe/run-zryhujpe.wandb filter=lfs diff=lfs merge=lfs -text
.gradio/certificate.pem ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
3
+ TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
4
+ cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4
5
+ WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu
6
+ ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY
7
+ MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc
8
+ h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+
9
+ 0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U
10
+ A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW
11
+ T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH
12
+ B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC
13
+ B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv
14
+ KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn
15
+ OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn
16
+ jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw
17
+ qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI
18
+ rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
19
+ HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq
20
+ hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
21
+ ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ
22
+ 3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK
23
+ NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5
24
+ ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur
25
+ TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC
26
+ jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc
27
+ oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq
28
+ 4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA
29
+ mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d
30
+ emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=
31
+ -----END CERTIFICATE-----
README.md CHANGED
@@ -1,12 +1,6 @@
1
  ---
2
- title: CNN Benchmark
3
- emoji: ⚡
4
- colorFrom: yellow
5
- colorTo: red
6
- sdk: gradio
7
- sdk_version: 5.38.0
8
  app_file: app.py
9
- pinned: false
 
10
  ---
11
-
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: cnn_benchmark
 
 
 
 
 
3
  app_file: app.py
4
+ sdk: gradio
5
+ sdk_version: 5.37.0
6
  ---
 
 
__pycache__/eval.cpython-313.pyc ADDED
Binary file (7.71 kB). View file
 
__pycache__/train.cpython-313.pyc ADDED
Binary file (10.3 kB). View file
 
__pycache__/wandb_utils.cpython-313.pyc ADDED
Binary file (9.65 kB). View file
 
app.py ADDED
@@ -0,0 +1,151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import torch
3
+ import torch.nn.functional as F
4
+ from torchvision import transforms
5
+ from PIL import Image
6
+ import numpy as np
7
+ from models.custom_cnn import create_custom_cnn
8
+ from models.resnet18 import load_resnet18
9
+ from utils.data_loader import get_cifar10_info
10
+
11
+ # CIFAR-10 preprocessing
12
+ CIFAR10_MEAN = (0.4914, 0.4822, 0.4465)
13
+ CIFAR10_STD = (0.2023, 0.1994, 0.2010)
14
+
15
+ def preprocess_image(image):
16
+ """Preprocess uploaded image for CIFAR-10 model."""
17
+ transform = transforms.Compose([
18
+ transforms.Resize((32, 32)),
19
+ transforms.ToTensor(),
20
+ transforms.Normalize(CIFAR10_MEAN, CIFAR10_STD)
21
+ ])
22
+
23
+ if image.mode != 'RGB':
24
+ image = image.convert('RGB')
25
+
26
+ return transform(image).unsqueeze(0)
27
+
28
+ def predict_image(image, model_choice="CustomCNN"):
29
+ """
30
+ Predict class label for uploaded image.
31
+
32
+ Args:
33
+ image: PIL Image uploaded by user
34
+ model_choice: Which model to use for prediction
35
+
36
+ Returns:
37
+ str: Formatted prediction result
38
+ """
39
+ try:
40
+ # Load model
41
+ device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
42
+
43
+ if model_choice == "CustomCNN":
44
+ model = create_custom_cnn()
45
+ model_path = "best_model_custom.pth"
46
+ else:
47
+ model = load_resnet18()
48
+ model_path = "best_model_resnet18.pth"
49
+
50
+ # Load trained weights
51
+ try:
52
+ checkpoint = torch.load(model_path, map_location=device)
53
+ model.load_state_dict(checkpoint['model_state_dict'])
54
+ except FileNotFoundError:
55
+ return f"❌ Model weights not found: {model_path}\nTrain the model first!"
56
+
57
+ model.to(device)
58
+ model.eval()
59
+
60
+ # Preprocess image
61
+ input_tensor = preprocess_image(image).to(device)
62
+
63
+ # Make prediction
64
+ with torch.no_grad():
65
+ outputs = model(input_tensor)
66
+ probabilities = F.softmax(outputs, dim=1)
67
+ confidence, predicted = torch.max(probabilities, 1)
68
+
69
+ # Get class info
70
+ cifar10_info = get_cifar10_info()
71
+ class_names = cifar10_info['class_names']
72
+ predicted_class = class_names[predicted.item()]
73
+ confidence_score = confidence.item() * 100
74
+
75
+ # Format result with top-3 predictions
76
+ top3_prob, top3_indices = torch.topk(probabilities, 3)
77
+
78
+ result = f"🎯 **Prediction: {predicted_class}** ({confidence_score:.1f}% confidence)\n\n"
79
+ result += f"📊 **Top 3 Predictions:**\n"
80
+
81
+ for i in range(3):
82
+ class_name = class_names[top3_indices[0][i].item()]
83
+ prob = top3_prob[0][i].item() * 100
84
+ result += f"{i+1}. {class_name}: {prob:.1f}%\n"
85
+
86
+ result += f"\n🔧 **Model:** {model_choice}\n"
87
+ result += f"📱 **Device:** {device}"
88
+
89
+ return result
90
+
91
+ except Exception as e:
92
+ return f"❌ **Error:** {str(e)}\n\nPlease ensure the image is valid and model is trained."
93
+
94
+ def create_gradio_interface():
95
+ """Create and launch Gradio interface."""
96
+
97
+ # Custom CSS for better styling
98
+ css = """
99
+ .gradio-container {
100
+ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
101
+ }
102
+ .output-text {
103
+ font-family: 'Courier New', monospace;
104
+ font-size: 14px;
105
+ }
106
+ """
107
+
108
+ # Create interface
109
+ interface = gr.Interface(
110
+ fn=predict_image,
111
+ inputs=[
112
+ gr.Image(type="pil", label="Upload Image", height=300),
113
+ gr.Dropdown(
114
+ choices=["CustomCNN", "ResNet18"],
115
+ value="CustomCNN",
116
+ label="Select Model"
117
+ )
118
+ ],
119
+ outputs=gr.Textbox(
120
+ label="Prediction Result",
121
+ lines=10,
122
+ elem_classes=["output-text"]
123
+ ),
124
+ title="🧠 CIFAR-10 CNN Benchmark",
125
+ description="""
126
+ Upload an image to test our trained models!
127
+
128
+ **Models:**
129
+ - **CustomCNN**: Lightweight 3M parameter model
130
+ - **ResNet18**: Standard 11M parameter baseline
131
+
132
+ **Note:** Images will be resized to 32x32 pixels (CIFAR-10 format)
133
+
134
+ **CIFAR-10 Classes:** airplane, automobile, bird, cat, deer, dog, frog, horse, ship, truck
135
+ """,
136
+ css=css,
137
+ theme=gr.themes.Soft(),
138
+ allow_flagging="never"
139
+ )
140
+
141
+ return interface
142
+
143
+ if __name__ == "__main__":
144
+ # Create and launch interface
145
+ demo = create_gradio_interface()
146
+ demo.launch(
147
+ server_name="0.0.0.0",
148
+ server_port=7860,
149
+ share=True,
150
+ show_error=True
151
+ )
best_model_custom.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4c270dbebadfa9bd400caf6fb6a094e26509122cf5577076a8c9a264542a3ccf
3
+ size 28032771
best_model_customcnn.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a77f4a3d40ddc06d5d194006f7f974c85e306b64287838857c628cfbdde71763
3
+ size 28033128
best_model_resnet18.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:890d6e5f67ced601d8fe8770cba3ad89c2c14270920070ecc5b6a48e408c0114
3
+ size 134315407
confusion_matrix_custom.png ADDED

Git LFS Details

  • SHA256: bb216a45e9cbc1a8e6dffd5c9a4b959200ae7a3c10e2d0ef6689524fa2c124f6
  • Pointer size: 131 Bytes
  • Size of remote file: 257 kB
confusion_matrix_resnet18.png ADDED

Git LFS Details

  • SHA256: 2a7ec82048988584c221cd2b7c5faa4e7a99a618e40d6b81ebf9bf0b5c78ab31
  • Pointer size: 131 Bytes
  • Size of remote file: 262 kB
eval.py ADDED
@@ -0,0 +1,169 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ import torch.nn as nn
3
+ import numpy as np
4
+ import matplotlib.pyplot as plt
5
+ import seaborn as sns
6
+ import time
7
+ from sklearn.metrics import confusion_matrix, classification_report
8
+ from utils.data_loader import get_cifar10_info
9
+
10
+ def evaluate(model, test_loader, device='cuda'):
11
+ """
12
+ Evaluate model on test set with comprehensive metrics.
13
+
14
+ Args:
15
+ model: Trained PyTorch model
16
+ test_loader: Test data loader
17
+ device: Device to run evaluation on
18
+
19
+ Returns:
20
+ dict: Evaluation results including accuracy, loss, predictions
21
+ """
22
+ model.to(device)
23
+ model.eval()
24
+
25
+ test_loss = 0.0
26
+ correct = 0
27
+ total = 0
28
+ all_predictions = []
29
+ all_targets = []
30
+
31
+ criterion = nn.CrossEntropyLoss()
32
+
33
+ with torch.no_grad():
34
+ for inputs, targets in test_loader:
35
+ inputs, targets = inputs.to(device), targets.to(device)
36
+ outputs = model(inputs)
37
+ loss = criterion(outputs, targets)
38
+
39
+ test_loss += loss.item()
40
+ _, predicted = outputs.max(1)
41
+ total += targets.size(0)
42
+ correct += predicted.eq(targets).sum().item()
43
+
44
+ all_predictions.extend(predicted.cpu().numpy())
45
+ all_targets.extend(targets.cpu().numpy())
46
+
47
+ test_acc = 100.0 * correct / total
48
+ test_loss /= len(test_loader)
49
+
50
+ return {
51
+ 'test_accuracy': test_acc,
52
+ 'test_loss': test_loss,
53
+ 'predictions': np.array(all_predictions),
54
+ 'targets': np.array(all_targets)
55
+ }
56
+
57
+ def plot_confusion_matrix(y_true, y_pred, save_path=None):
58
+ """
59
+ Plot confusion matrix heatmap.
60
+
61
+ Args:
62
+ y_true: True labels
63
+ y_pred: Predicted labels
64
+ save_path: Path to save plot (optional)
65
+ """
66
+ cifar10_info = get_cifar10_info()
67
+ class_names = cifar10_info['class_names']
68
+
69
+ cm = confusion_matrix(y_true, y_pred)
70
+
71
+ plt.figure(figsize=(10, 8))
72
+ sns.heatmap(cm, annot=True, fmt='d', cmap='Blues',
73
+ xticklabels=class_names, yticklabels=class_names)
74
+ plt.title('Confusion Matrix', fontsize=16)
75
+ plt.ylabel('True Label', fontsize=12)
76
+ plt.xlabel('Predicted Label', fontsize=12)
77
+ plt.xticks(rotation=45)
78
+ plt.yticks(rotation=0)
79
+ plt.tight_layout()
80
+
81
+ if save_path:
82
+ plt.savefig(save_path, dpi=300, bbox_inches='tight')
83
+
84
+ plt.show()
85
+ return cm
86
+
87
+ def benchmark_model(model, test_loader, device='cuda', num_samples=100):
88
+ """
89
+ Benchmark model performance metrics.
90
+
91
+ Args:
92
+ model: PyTorch model to benchmark
93
+ test_loader: Test data loader
94
+ device: Device to run benchmark on
95
+ num_samples: Number of samples for inference timing
96
+
97
+ Returns:
98
+ dict: Benchmark results
99
+ """
100
+ model.to(device)
101
+ model.eval()
102
+
103
+ # Parameter count
104
+ total_params = sum(p.numel() for p in model.parameters())
105
+ trainable_params = sum(p.numel() for p in model.parameters() if p.requires_grad)
106
+ model_size_mb = total_params * 4 / (1024 * 1024) # Float32
107
+
108
+ # Inference timing
109
+ sample_inputs = []
110
+ sample_count = 0
111
+
112
+ for inputs, _ in test_loader:
113
+ if sample_count >= num_samples:
114
+ break
115
+ batch_size = min(num_samples - sample_count, inputs.size(0))
116
+ sample_inputs.append(inputs[:batch_size])
117
+ sample_count += batch_size
118
+
119
+ test_input = torch.cat(sample_inputs, dim=0)[:num_samples].to(device)
120
+
121
+ # Warmup runs
122
+ with torch.no_grad():
123
+ for _ in range(10):
124
+ _ = model(test_input)
125
+
126
+ # Timing runs
127
+ torch.cuda.synchronize() if device == 'cuda' else None
128
+ start_time = time.time()
129
+
130
+ with torch.no_grad():
131
+ for _ in range(10):
132
+ _ = model(test_input)
133
+
134
+ torch.cuda.synchronize() if device == 'cuda' else None
135
+ end_time = time.time()
136
+
137
+ avg_inference_time = (end_time - start_time) / 10 / num_samples * 1000 # ms per sample
138
+
139
+ return {
140
+ 'total_params': total_params,
141
+ 'trainable_params': trainable_params,
142
+ 'model_size_mb': model_size_mb,
143
+ 'inference_time_ms': avg_inference_time,
144
+ 'throughput_samples_per_sec': 1000 / avg_inference_time
145
+ }
146
+
147
+ def print_evaluation_report(eval_results, benchmark_results, model_name):
148
+ """Print comprehensive evaluation report."""
149
+ print(f"\n{'='*50}")
150
+ print(f"EVALUATION REPORT: {model_name}")
151
+ print(f"{'='*50}")
152
+
153
+ print(f"📊 Test Performance:")
154
+ print(f" Accuracy: {eval_results['test_accuracy']:.2f}%")
155
+ print(f" Loss: {eval_results['test_loss']:.4f}")
156
+
157
+ print(f"\n🔧 Model Statistics:")
158
+ print(f" Parameters: {benchmark_results['total_params']:,}")
159
+ print(f" Model Size: {benchmark_results['model_size_mb']:.2f} MB")
160
+ print(f" Inference Time: {benchmark_results['inference_time_ms']:.2f} ms/sample")
161
+ print(f" Throughput: {benchmark_results['throughput_samples_per_sec']:.0f} samples/sec")
162
+
163
+ # Classification report
164
+ cifar10_info = get_cifar10_info()
165
+ class_names = cifar10_info['class_names']
166
+
167
+ print(f"\n📈 Per-Class Performance:")
168
+ print(classification_report(eval_results['targets'], eval_results['predictions'],
169
+ target_names=class_names, digits=3))
examples/9977.png ADDED
examples/9992.png ADDED
main.py ADDED
@@ -0,0 +1,212 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """
3
+ CIFAR-10 CNN Benchmark - Production Pipeline
4
+ FAANG-level deep learning experiment orchestration
5
+ """
6
+
7
+ import torch
8
+ import torch.nn as nn
9
+ from pathlib import Path
10
+ import argparse
11
+ import json
12
+ from datetime import datetime
13
+
14
+ # Local imports
15
+ from models.custom_cnn import create_custom_cnn
16
+ from models.resnet18 import load_resnet18
17
+ from utils.data_loader import get_cifar10_loaders
18
+ from train import train, create_optimizer, create_scheduler
19
+ from eval import evaluate, benchmark_model, print_evaluation_report, plot_confusion_matrix
20
+ from wandb_utils import WandbLogger, create_hyperparameter_sweep, run_hyperparameter_sweep
21
+
22
+ def run_single_experiment(model_name: str, config: dict, use_wandb: bool = True):
23
+ """Run a single training experiment with comprehensive evaluation."""
24
+ print(f"\n🚀 Starting {model_name} experiment...")
25
+
26
+ # Initialize model
27
+ if model_name.lower() == 'custom':
28
+ model = create_custom_cnn()
29
+ model_display_name = "custom"
30
+ elif model_name.lower() == 'resnet18':
31
+ model = load_resnet18()
32
+ model_display_name = "ResNet18"
33
+ else:
34
+ raise ValueError(f"Unknown model: {model_name}")
35
+
36
+ # Load data
37
+ train_loader, val_loader, test_loader = get_cifar10_loaders(
38
+ batch_size=config['batch_size'],
39
+ num_workers=config.get('num_workers', 4)
40
+ )
41
+
42
+ # Setup training components
43
+ optimizer = create_optimizer(
44
+ model,
45
+ opt_type=config['optimizer'],
46
+ lr=config['learning_rate'],
47
+ weight_decay=config['weight_decay']
48
+ )
49
+ scheduler = create_scheduler(
50
+ optimizer,
51
+ scheduler_type=config['scheduler'],
52
+ num_epochs=config['epochs']
53
+ )
54
+ criterion = nn.CrossEntropyLoss()
55
+
56
+ # Train model
57
+ device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
58
+ history = train(
59
+ model, train_loader, val_loader, optimizer, criterion, scheduler,
60
+ num_epochs=config['epochs'], device=device,
61
+ use_wandb=use_wandb, model_name=model_display_name
62
+ )
63
+
64
+ # Comprehensive evaluation
65
+ print(f"\n📊 Evaluating {model_display_name}...")
66
+
67
+ # Load best model
68
+ checkpoint = torch.load(f'best_model_{model_name.lower()}.pth', map_location=device)
69
+ model.load_state_dict(checkpoint['model_state_dict'])
70
+
71
+ # Test evaluation
72
+ eval_results = evaluate(model, test_loader, device)
73
+ benchmark_results = benchmark_model(model, test_loader, device)
74
+
75
+ # Print comprehensive report
76
+ print_evaluation_report(eval_results, benchmark_results, model_display_name)
77
+
78
+ # Plot confusion matrix
79
+ plot_confusion_matrix(
80
+ eval_results['targets'],
81
+ eval_results['predictions'],
82
+ save_path=f'confusion_matrix_{model_name.lower()}.png'
83
+ )
84
+
85
+ # Save experiment results
86
+ results = {
87
+ 'model': model_display_name,
88
+ 'config': config,
89
+ 'timestamp': datetime.now().isoformat(),
90
+ 'evaluation': {
91
+ 'test_accuracy': eval_results['test_accuracy'],
92
+ 'test_loss': eval_results['test_loss']
93
+ },
94
+ 'benchmark': benchmark_results,
95
+ 'training_history': history
96
+ }
97
+
98
+ with open(f'results_{model_name.lower()}.json', 'w') as f:
99
+ json.dump(results, f, indent=2)
100
+
101
+ return results
102
+
103
+ def run_model_comparison(config: dict, use_wandb: bool = True):
104
+ """Run comparative analysis between CustomCNN and ResNet18."""
105
+ print("\n🔬 Starting Model Comparison Analysis...")
106
+
107
+ models = ['custom', 'resnet18']
108
+ all_results = {}
109
+
110
+ for model_name in models:
111
+ print(f"\n{'='*60}")
112
+ print(f"Training {model_name.upper()}")
113
+ print(f"{'='*60}")
114
+
115
+ results = run_single_experiment(model_name, config, use_wandb)
116
+ all_results[model_name] = results
117
+
118
+ # Generate comparison report
119
+ print(f"\n{'='*60}")
120
+ print("📈 MODEL COMPARISON SUMMARY")
121
+ print(f"{'='*60}")
122
+
123
+ for model_name, results in all_results.items():
124
+ eval_results = results['evaluation']
125
+ benchmark_results = results['benchmark']
126
+
127
+ print(f"\n{results['model']}:")
128
+ print(f" Test Accuracy: {eval_results['test_accuracy']:.2f}%")
129
+ print(f" Parameters: {benchmark_results['total_params']:,}")
130
+ print(f" Model Size: {benchmark_results['model_size_mb']:.2f} MB")
131
+ print(f" Inference Time: {benchmark_results['inference_time_ms']:.2f} ms")
132
+ print(f" Throughput: {benchmark_results['throughput_samples_per_sec']:.0f} samples/sec")
133
+
134
+ # Determine winner
135
+ custom_acc = all_results['custom']['evaluation']['test_accuracy']
136
+ resnet_acc = all_results['resnet18']['evaluation']['test_accuracy']
137
+
138
+ if custom_acc > resnet_acc:
139
+ print(f"\n🏆 Winner: CustomCNN ({custom_acc:.2f}% vs {resnet_acc:.2f}%)")
140
+ else:
141
+ print(f"\n🏆 Winner: ResNet18 ({resnet_acc:.2f}% vs {custom_acc:.2f}%)")
142
+
143
+ # Save comparison results
144
+ with open('model_comparison.json', 'w') as f:
145
+ json.dump(all_results, f, indent=2)
146
+
147
+ return all_results
148
+
149
+ def run_hyperparameter_sweep(model_name: str, count: int = 20):
150
+ """Run automated hyperparameter optimization."""
151
+ print(f"\n🎯 Starting Hyperparameter Sweep for {model_name}...")
152
+
153
+ sweep_config = create_hyperparameter_sweep()
154
+
155
+ def train_fn():
156
+ import wandb
157
+ config = wandb.config
158
+
159
+ # Convert wandb config to dict
160
+ config_dict = {
161
+ 'learning_rate': config.learning_rate,
162
+ 'batch_size': config.batch_size,
163
+ 'weight_decay': config.weight_decay,
164
+ 'optimizer': config.optimizer,
165
+ 'scheduler': config.scheduler,
166
+ 'epochs': 50 # Changed from 50 to 50
167
+ }
168
+
169
+ run_single_experiment(model_name, config_dict, use_wandb=True)
170
+
171
+ run_hyperparameter_sweep(train_fn, sweep_config, count=count)
172
+
173
+ def main():
174
+ parser = argparse.ArgumentParser(description='CIFAR-10 CNN Benchmark Pipeline')
175
+ parser.add_argument('--mode', choices=['single', 'compare', 'sweep'], default='compare',
176
+ help='Experiment mode')
177
+ parser.add_argument('--model', choices=['custom', 'resnet18'], default='custom',
178
+ help='Model for single experiment')
179
+ parser.add_argument('--no-wandb', action='store_true', help='Disable W&B logging')
180
+ parser.add_argument('--epochs', type=int, default=50, help='Number of epochs') # Changed from 100 to 50
181
+ parser.add_argument('--lr', type=float, default=0.001, help='Learning rate')
182
+ parser.add_argument('--batch_size', type=int, default=128, help='Batch size')
183
+ parser.add_argument('--sweep_count', type=int, default=20, help='Number of sweep runs')
184
+
185
+ args = parser.parse_args()
186
+
187
+ # Default configuration
188
+ config = {
189
+ 'epochs': args.epochs,
190
+ 'learning_rate': args.lr,
191
+ 'batch_size': args.batch_size,
192
+ 'weight_decay': 1e-4,
193
+ 'optimizer': 'adamw',
194
+ 'scheduler': 'cosine',
195
+ 'num_workers': 4
196
+ }
197
+
198
+ # Create output directory
199
+ Path('outputs').mkdir(exist_ok=True)
200
+
201
+ # Run experiment based on mode
202
+ if args.mode == 'single':
203
+ run_single_experiment(args.model, config, use_wandb=not args.no_wandb)
204
+ elif args.mode == 'compare':
205
+ run_model_comparison(config, use_wandb=not args.no_wandb)
206
+ elif args.mode == 'sweep':
207
+ run_hyperparameter_sweep(args.model, count=args.sweep_count)
208
+
209
+ print("\n✅ Experiment completed! Check outputs/ directory for results.")
210
+
211
+ if __name__ == "__main__":
212
+ main()
model_comparison.json ADDED
@@ -0,0 +1,574 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "custom": {
3
+ "model": "custom",
4
+ "config": {
5
+ "epochs": 50,
6
+ "learning_rate": 0.001,
7
+ "batch_size": 128,
8
+ "weight_decay": 0.0001,
9
+ "optimizer": "adamw",
10
+ "scheduler": "cosine",
11
+ "num_workers": 4
12
+ },
13
+ "timestamp": "2025-07-18T04:13:55.384588",
14
+ "evaluation": {
15
+ "test_accuracy": 90.64,
16
+ "test_loss": 0.40045145286034933
17
+ },
18
+ "benchmark": {
19
+ "total_params": 2332106,
20
+ "trainable_params": 2332106,
21
+ "model_size_mb": 8.896278381347656,
22
+ "inference_time_ms": 0.03669309616088868,
23
+ "throughput_samples_per_sec": 27253.083130823507
24
+ },
25
+ "training_history": {
26
+ "train_loss": [
27
+ 1.4149173482913862,
28
+ 1.0162051956761966,
29
+ 0.8482165988534689,
30
+ 0.728303463621573,
31
+ 0.6363477440212261,
32
+ 0.5701356856152415,
33
+ 0.5242524116554044,
34
+ 0.48185200515118515,
35
+ 0.4417327832938595,
36
+ 0.4158814721740782,
37
+ 0.3859495721672746,
38
+ 0.36533536635000596,
39
+ 0.3332995446398854,
40
+ 0.31937127585776826,
41
+ 0.30104608948088507,
42
+ 0.2783441687087444,
43
+ 0.2632080921056596,
44
+ 0.24968139340423726,
45
+ 0.22971883236261254,
46
+ 0.2119647280778736,
47
+ 0.1973909065550701,
48
+ 0.18659686817872254,
49
+ 0.17961866695391523,
50
+ 0.16379872180352156,
51
+ 0.15177374580790373,
52
+ 0.13599341192325068,
53
+ 0.12708607234526426,
54
+ 0.11916482064407319,
55
+ 0.11087808856444265,
56
+ 0.09957635454008017,
57
+ 0.09322496468666941,
58
+ 0.08429932953599333,
59
+ 0.07824049555611881,
60
+ 0.07476761330194263,
61
+ 0.06792214420486496,
62
+ 0.06089315965073183,
63
+ 0.05793831660941413,
64
+ 0.049046539545419036,
65
+ 0.04722405739118007,
66
+ 0.04650731596947563,
67
+ 0.04196743960545229,
68
+ 0.038948311547177254,
69
+ 0.035993627743499186,
70
+ 0.03569281337496994,
71
+ 0.03270679784790528,
72
+ 0.032233172895344483,
73
+ 0.03196344770549331,
74
+ 0.03183847648192155,
75
+ 0.03023724096022885,
76
+ 0.030237408462033436
77
+ ],
78
+ "train_acc": [
79
+ 47.44222222222222,
80
+ 63.40888888888889,
81
+ 69.82666666666667,
82
+ 74.43333333333334,
83
+ 77.99333333333334,
84
+ 80.32222222222222,
85
+ 81.87777777777778,
86
+ 83.3488888888889,
87
+ 84.88,
88
+ 85.53555555555556,
89
+ 86.71111111111111,
90
+ 87.3711111111111,
91
+ 88.42888888888889,
92
+ 88.88666666666667,
93
+ 89.67777777777778,
94
+ 90.23777777777778,
95
+ 90.83333333333333,
96
+ 91.27333333333333,
97
+ 91.92666666666666,
98
+ 92.5111111111111,
99
+ 92.96,
100
+ 93.35777777777778,
101
+ 93.79555555555555,
102
+ 94.23777777777778,
103
+ 94.61111111111111,
104
+ 95.13333333333334,
105
+ 95.60444444444444,
106
+ 95.81555555555556,
107
+ 96.21111111111111,
108
+ 96.51777777777778,
109
+ 96.71555555555555,
110
+ 97.09555555555555,
111
+ 97.29555555555555,
112
+ 97.40222222222222,
113
+ 97.68222222222222,
114
+ 98.01333333333334,
115
+ 98.03111111111112,
116
+ 98.33777777777777,
117
+ 98.45777777777778,
118
+ 98.50222222222222,
119
+ 98.67555555555556,
120
+ 98.78444444444445,
121
+ 98.87333333333333,
122
+ 98.85777777777778,
123
+ 98.96888888888888,
124
+ 99.00666666666666,
125
+ 99.05111111111111,
126
+ 99.04222222222222,
127
+ 99.12444444444445,
128
+ 99.07555555555555
129
+ ],
130
+ "val_loss": [
131
+ 1.2833179980516434,
132
+ 1.0060369923710824,
133
+ 0.839727059751749,
134
+ 0.7206100896000862,
135
+ 0.6262776359915734,
136
+ 0.6047777004539967,
137
+ 0.5214825630187988,
138
+ 0.5617048032581806,
139
+ 0.4974339139647782,
140
+ 0.6528803549706936,
141
+ 0.468262127507478,
142
+ 0.5062295906245708,
143
+ 0.4581702302210033,
144
+ 0.48504158183932305,
145
+ 0.3930924731772393,
146
+ 0.4028835633769631,
147
+ 0.40472898315638306,
148
+ 0.42524507120251653,
149
+ 0.37829906260594726,
150
+ 0.429102673381567,
151
+ 0.38081039050593973,
152
+ 0.39106107931002043,
153
+ 0.4107053097337484,
154
+ 0.37516938438639047,
155
+ 0.37471151329227725,
156
+ 0.3601559829898179,
157
+ 0.38286541113629935,
158
+ 0.3664126083254814,
159
+ 0.3772037770599127,
160
+ 0.3693193051032722,
161
+ 0.3915130659937859,
162
+ 0.3613826504675671,
163
+ 0.39408324654214083,
164
+ 0.37938523981720207,
165
+ 0.3832094382494688,
166
+ 0.3804494840092957,
167
+ 0.3750850508920848,
168
+ 0.3881649244111031,
169
+ 0.3786032352596521,
170
+ 0.38187652922933923,
171
+ 0.379985548555851,
172
+ 0.3757114422507584,
173
+ 0.38385402571875604,
174
+ 0.38617077097296715,
175
+ 0.3840172010939568,
176
+ 0.3845814407803118,
177
+ 0.38249608892947434,
178
+ 0.3862733863759786,
179
+ 0.3830278627807274,
180
+ 0.3832576520508155
181
+ ],
182
+ "val_acc": [
183
+ 54.7,
184
+ 63.76,
185
+ 69.46,
186
+ 73.96,
187
+ 78.12,
188
+ 79.3,
189
+ 81.34,
190
+ 80.92,
191
+ 82.58,
192
+ 78.62,
193
+ 84.54,
194
+ 83.32,
195
+ 84.36,
196
+ 84.74,
197
+ 86.48,
198
+ 86.36,
199
+ 86.16,
200
+ 86.68,
201
+ 87.92,
202
+ 87.1,
203
+ 88.24,
204
+ 88.16,
205
+ 88.02,
206
+ 88.7,
207
+ 88.58,
208
+ 88.98,
209
+ 89.02,
210
+ 89.38,
211
+ 89.24,
212
+ 89.44,
213
+ 89.3,
214
+ 90.38,
215
+ 89.94,
216
+ 90.0,
217
+ 90.42,
218
+ 90.32,
219
+ 90.26,
220
+ 90.6,
221
+ 90.68,
222
+ 90.74,
223
+ 90.92,
224
+ 90.58,
225
+ 90.76,
226
+ 90.52,
227
+ 90.92,
228
+ 90.78,
229
+ 90.98,
230
+ 90.88,
231
+ 90.9,
232
+ 90.94
233
+ ],
234
+ "lr": [
235
+ 0.0009990133642141358,
236
+ 0.000996057350657239,
237
+ 0.0009911436253643444,
238
+ 0.0009842915805643156,
239
+ 0.0009755282581475769,
240
+ 0.0009648882429441258,
241
+ 0.0009524135262330099,
242
+ 0.0009381533400219318,
243
+ 0.0009221639627510075,
244
+ 0.0009045084971874736,
245
+ 0.0008852566213878945,
246
+ 0.0008644843137107056,
247
+ 0.0008422735529643443,
248
+ 0.0008187119948743448,
249
+ 0.0007938926261462366,
250
+ 0.0007679133974894982,
251
+ 0.0007408768370508576,
252
+ 0.0007128896457825362,
253
+ 0.0006840622763423389,
254
+ 0.0006545084971874735,
255
+ 0.0006243449435824271,
256
+ 0.0005936906572928622,
257
+ 0.000562666616782152,
258
+ 0.0005313952597646566,
259
+ 0.0004999999999999998,
260
+ 0.00046860474023534314,
261
+ 0.00043733338321784774,
262
+ 0.00040630934270713756,
263
+ 0.00037565505641757246,
264
+ 0.00034549150281252633,
265
+ 0.00031593772365766105,
266
+ 0.00028711035421746355,
267
+ 0.0002591231629491422,
268
+ 0.00023208660251050145,
269
+ 0.00020610737385376337,
270
+ 0.00018128800512565502,
271
+ 0.00015772644703565555,
272
+ 0.00013551568628929425,
273
+ 0.00011474337861210535,
274
+ 9.549150281252626e-05,
275
+ 7.783603724899252e-05,
276
+ 6.184665997806817e-05,
277
+ 4.7586473766990294e-05,
278
+ 3.5111757055874305e-05,
279
+ 2.4471741852423218e-05,
280
+ 1.5708419435684507e-05,
281
+ 8.856374635655634e-06,
282
+ 3.942649342761115e-06,
283
+ 9.866357858642198e-07,
284
+ 0.0
285
+ ]
286
+ }
287
+ },
288
+ "resnet18": {
289
+ "model": "ResNet18",
290
+ "config": {
291
+ "epochs": 50,
292
+ "learning_rate": 0.001,
293
+ "batch_size": 128,
294
+ "weight_decay": 0.0001,
295
+ "optimizer": "adamw",
296
+ "scheduler": "cosine",
297
+ "num_workers": 4
298
+ },
299
+ "timestamp": "2025-07-18T15:21:09.396093",
300
+ "evaluation": {
301
+ "test_accuracy": 84.86,
302
+ "test_loss": 0.562998549093174
303
+ },
304
+ "benchmark": {
305
+ "total_params": 11181642,
306
+ "trainable_params": 11181642,
307
+ "model_size_mb": 42.654579162597656,
308
+ "inference_time_ms": 0.07653045654296875,
309
+ "throughput_samples_per_sec": 13066.69325092214
310
+ },
311
+ "training_history": {
312
+ "train_loss": [
313
+ 1.534992229193449,
314
+ 1.1880326921289617,
315
+ 1.035241229290312,
316
+ 0.9359814739701423,
317
+ 0.8539070878177881,
318
+ 0.7974097581410949,
319
+ 0.7436872424388473,
320
+ 0.6947507721117951,
321
+ 0.6624855630269105,
322
+ 0.633833650330251,
323
+ 0.6025871328840201,
324
+ 0.575756414200772,
325
+ 0.5571694652634588,
326
+ 0.5360024829649113,
327
+ 0.5100707446478985,
328
+ 0.49271007237786596,
329
+ 0.47091001365333796,
330
+ 0.45626898702572694,
331
+ 0.43944294174963777,
332
+ 0.4184168221174993,
333
+ 0.4037881137972528,
334
+ 0.3880640461786904,
335
+ 0.3765643063763326,
336
+ 0.3583343208936805,
337
+ 0.34006396283141593,
338
+ 0.32521333295682614,
339
+ 0.3184103542007506,
340
+ 0.30346678413281386,
341
+ 0.2917639202099632,
342
+ 0.2756085636263544,
343
+ 0.26325815861028706,
344
+ 0.2490403096784245,
345
+ 0.23851507969877936,
346
+ 0.22953345194797625,
347
+ 0.21737881953066046,
348
+ 0.2083251700016924,
349
+ 0.19804402061907406,
350
+ 0.1919961772774431,
351
+ 0.17820967812175778,
352
+ 0.17702617270829665,
353
+ 0.1681731247491288,
354
+ 0.16023547314530748,
355
+ 0.15579079615417868,
356
+ 0.15242329316044395,
357
+ 0.1487516676901247,
358
+ 0.14565975577782161,
359
+ 0.14755983392454006,
360
+ 0.14136733145410704,
361
+ 0.14154247444292362,
362
+ 0.13957085632930763
363
+ ],
364
+ "train_acc": [
365
+ 43.76,
366
+ 57.233333333333334,
367
+ 63.23555555555556,
368
+ 66.99333333333334,
369
+ 70.12666666666667,
370
+ 72.04666666666667,
371
+ 74.01333333333334,
372
+ 75.83111111111111,
373
+ 76.94888888888889,
374
+ 77.78444444444445,
375
+ 78.97555555555556,
376
+ 79.76,
377
+ 80.59333333333333,
378
+ 81.25555555555556,
379
+ 82.35777777777778,
380
+ 82.64666666666666,
381
+ 83.36,
382
+ 84.05555555555556,
383
+ 84.6,
384
+ 85.22222222222223,
385
+ 85.8711111111111,
386
+ 86.27333333333333,
387
+ 86.81333333333333,
388
+ 87.41333333333333,
389
+ 88.08222222222223,
390
+ 88.50444444444445,
391
+ 88.76444444444445,
392
+ 89.19333333333333,
393
+ 89.59333333333333,
394
+ 90.19555555555556,
395
+ 90.67111111111112,
396
+ 91.0911111111111,
397
+ 91.58666666666667,
398
+ 91.88,
399
+ 92.31555555555556,
400
+ 92.5111111111111,
401
+ 92.88888888888889,
402
+ 93.1,
403
+ 93.57111111111111,
404
+ 93.82,
405
+ 94.0111111111111,
406
+ 94.30666666666667,
407
+ 94.40666666666667,
408
+ 94.55555555555556,
409
+ 94.71333333333334,
410
+ 94.85333333333334,
411
+ 94.75777777777778,
412
+ 95.0111111111111,
413
+ 94.98222222222222,
414
+ 95.06444444444445
415
+ ],
416
+ "val_loss": [
417
+ 1.2874532729387282,
418
+ 1.1595576748251915,
419
+ 0.9405087038874627,
420
+ 0.9415416568517685,
421
+ 0.8305790588259697,
422
+ 0.7471129335463047,
423
+ 0.7304556638002395,
424
+ 0.7054379791021347,
425
+ 0.6213417574763298,
426
+ 0.6890904523432255,
427
+ 0.619678334146738,
428
+ 0.627859528362751,
429
+ 0.5851750016212464,
430
+ 0.5720030259341001,
431
+ 0.5639025084674358,
432
+ 0.5432115443050861,
433
+ 0.5189762286841869,
434
+ 0.530236903578043,
435
+ 0.5304640807211399,
436
+ 0.5138039080426097,
437
+ 0.5045294491574168,
438
+ 0.5120217554271221,
439
+ 0.4805617846548557,
440
+ 0.47255066349171104,
441
+ 0.46174713261425493,
442
+ 0.5055730052292347,
443
+ 0.47505435086786746,
444
+ 0.4915746621787548,
445
+ 0.46519887149333955,
446
+ 0.4645280983299017,
447
+ 0.4959094367921352,
448
+ 0.46855704141780735,
449
+ 0.48131142668426036,
450
+ 0.49051350774243474,
451
+ 0.5037652600556612,
452
+ 0.5074710845714435,
453
+ 0.4936542822048068,
454
+ 0.5001278184819966,
455
+ 0.5115441028028727,
456
+ 0.5081384718418122,
457
+ 0.5070559652522206,
458
+ 0.5073963915929198,
459
+ 0.511556985322386,
460
+ 0.5151565936394036,
461
+ 0.5156746107619256,
462
+ 0.5089005901943893,
463
+ 0.5072312701260671,
464
+ 0.5111834596609697,
465
+ 0.5138413549633697,
466
+ 0.5134076383663342
467
+ ],
468
+ "val_acc": [
469
+ 52.46,
470
+ 59.08,
471
+ 66.54,
472
+ 66.86,
473
+ 71.02,
474
+ 73.04,
475
+ 74.1,
476
+ 74.86,
477
+ 77.42,
478
+ 75.88,
479
+ 77.98,
480
+ 77.94,
481
+ 79.48,
482
+ 80.06,
483
+ 80.52,
484
+ 81.12,
485
+ 81.82,
486
+ 81.36,
487
+ 82.0,
488
+ 82.28,
489
+ 82.28,
490
+ 82.9,
491
+ 83.24,
492
+ 83.8,
493
+ 84.1,
494
+ 83.46,
495
+ 84.04,
496
+ 84.44,
497
+ 84.64,
498
+ 84.9,
499
+ 84.78,
500
+ 85.14,
501
+ 85.0,
502
+ 84.88,
503
+ 85.22,
504
+ 85.1,
505
+ 85.7,
506
+ 85.24,
507
+ 84.82,
508
+ 85.42,
509
+ 85.8,
510
+ 85.56,
511
+ 85.98,
512
+ 85.78,
513
+ 85.78,
514
+ 85.64,
515
+ 85.9,
516
+ 85.76,
517
+ 85.58,
518
+ 85.76
519
+ ],
520
+ "lr": [
521
+ 0.0009990133642141358,
522
+ 0.000996057350657239,
523
+ 0.0009911436253643444,
524
+ 0.0009842915805643156,
525
+ 0.0009755282581475769,
526
+ 0.0009648882429441258,
527
+ 0.0009524135262330099,
528
+ 0.0009381533400219318,
529
+ 0.0009221639627510075,
530
+ 0.0009045084971874736,
531
+ 0.0008852566213878945,
532
+ 0.0008644843137107056,
533
+ 0.0008422735529643443,
534
+ 0.0008187119948743448,
535
+ 0.0007938926261462366,
536
+ 0.0007679133974894982,
537
+ 0.0007408768370508576,
538
+ 0.0007128896457825362,
539
+ 0.0006840622763423389,
540
+ 0.0006545084971874735,
541
+ 0.0006243449435824271,
542
+ 0.0005936906572928622,
543
+ 0.000562666616782152,
544
+ 0.0005313952597646566,
545
+ 0.0004999999999999998,
546
+ 0.00046860474023534314,
547
+ 0.00043733338321784774,
548
+ 0.00040630934270713756,
549
+ 0.00037565505641757246,
550
+ 0.00034549150281252633,
551
+ 0.00031593772365766105,
552
+ 0.00028711035421746355,
553
+ 0.0002591231629491422,
554
+ 0.00023208660251050145,
555
+ 0.00020610737385376337,
556
+ 0.00018128800512565502,
557
+ 0.00015772644703565555,
558
+ 0.00013551568628929425,
559
+ 0.00011474337861210535,
560
+ 9.549150281252626e-05,
561
+ 7.783603724899252e-05,
562
+ 6.184665997806817e-05,
563
+ 4.7586473766990294e-05,
564
+ 3.5111757055874305e-05,
565
+ 2.4471741852423218e-05,
566
+ 1.5708419435684507e-05,
567
+ 8.856374635655634e-06,
568
+ 3.942649342761115e-06,
569
+ 9.866357858642198e-07,
570
+ 0.0
571
+ ]
572
+ }
573
+ }
574
+ }
models/__pycache__/custom_cnn.cpython-313.pyc ADDED
Binary file (5.19 kB). View file
 
models/__pycache__/resnet18.cpython-313.pyc ADDED
Binary file (2.88 kB). View file
 
models/custom_cnn.py ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ import torch.nn as nn
3
+ import torch.nn.functional as F
4
+
5
+ class CustomCNN(nn.Module):
6
+ """
7
+ Custom CNN optimized for CIFAR-10 with ~3-4M parameters.
8
+ Designed to compete with ResNet18 while being lightweight.
9
+ """
10
+
11
+ def __init__(self, num_classes=10, dropout_rate=0.4):
12
+ super(CustomCNN, self).__init__()
13
+
14
+ # Feature extractor with efficient blocks
15
+ self.features = nn.Sequential(
16
+ # Block 1: 32x32 -> 32x32
17
+ self._conv_block(3, 64, stride=1),
18
+ self._conv_block(64, 64, stride=1),
19
+
20
+ # Block 2: 32x32 -> 16x16
21
+ self._conv_block(64, 128, stride=2),
22
+ self._conv_block(128, 128, stride=1),
23
+
24
+ # Block 3: 16x16 -> 8x8
25
+ self._conv_block(128, 256, stride=2),
26
+ self._conv_block(256, 256, stride=1),
27
+
28
+ # Block 4: 8x8 -> 4x4 (deep feature extraction)
29
+ self._conv_block(256, 512, stride=2),
30
+ )
31
+
32
+ # Global pooling and classifier
33
+ self.avgpool = nn.AdaptiveAvgPool2d((1, 1))
34
+ self.dropout = nn.Dropout(dropout_rate)
35
+ self.classifier = nn.Linear(512, num_classes)
36
+
37
+ # Initialize weights
38
+ self._initialize_weights()
39
+
40
+ def _conv_block(self, in_channels, out_channels, stride=1):
41
+ """Efficient conv block with BatchNorm and ReLU."""
42
+ return nn.Sequential(
43
+ nn.Conv2d(in_channels, out_channels, kernel_size=3,
44
+ stride=stride, padding=1, bias=False),
45
+ nn.BatchNorm2d(out_channels),
46
+ nn.ReLU(inplace=True)
47
+ )
48
+
49
+ def _initialize_weights(self):
50
+ """Initialize weights using He initialization for ReLU."""
51
+ for m in self.modules():
52
+ if isinstance(m, nn.Conv2d):
53
+ nn.init.kaiming_normal_(m.weight, mode='fan_out', nonlinearity='relu')
54
+ elif isinstance(m, nn.BatchNorm2d):
55
+ nn.init.constant_(m.weight, 1)
56
+ nn.init.constant_(m.bias, 0)
57
+ elif isinstance(m, nn.Linear):
58
+ nn.init.normal_(m.weight, 0, 0.01)
59
+ nn.init.constant_(m.bias, 0)
60
+
61
+ def forward(self, x):
62
+ x = self.features(x)
63
+ x = self.avgpool(x)
64
+ x = torch.flatten(x, 1)
65
+ x = self.dropout(x)
66
+ x = self.classifier(x)
67
+ return x
68
+
69
+ def get_model_info(self):
70
+ """Return model architecture info."""
71
+ total_params = sum(p.numel() for p in self.parameters())
72
+ trainable_params = sum(p.numel() for p in self.parameters() if p.requires_grad)
73
+
74
+ return {
75
+ 'total_params': total_params,
76
+ 'trainable_params': trainable_params,
77
+ 'model_size_mb': total_params * 4 / (1024 * 1024), # Assuming float32
78
+ 'architecture': '7-layer CNN with BatchNorm and Dropout'
79
+ }
80
+
81
+ # Factory function for easy instantiation
82
+ def create_custom_cnn(num_classes=10, dropout_rate=0.4):
83
+ """Create and return a CustomCNN instance."""
84
+ return CustomCNN(num_classes=num_classes, dropout_rate=dropout_rate)
models/resnet18.py ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ import torch.nn as nn
3
+ from torchvision import models
4
+
5
+ def load_resnet18(num_classes=10, pretrained=False):
6
+ """
7
+ Load ResNet18 modified for CIFAR-10 classification.
8
+
9
+ Args:
10
+ num_classes: Number of output classes (default: 10 for CIFAR-10)
11
+ pretrained: Whether to use ImageNet pretrained weights (default: False for fair comparison)
12
+
13
+ Returns:
14
+ Modified ResNet18 model
15
+ """
16
+ # Load ResNet18 without pretrained weights for fair comparison
17
+ weights = models.ResNet18_Weights.IMAGENET1K_V1 if pretrained else None
18
+ model = models.resnet18(weights=weights)
19
+
20
+ # Replace final layer for CIFAR-10 (10 classes)
21
+ model.fc = nn.Linear(model.fc.in_features, num_classes)
22
+
23
+ # Initialize the new classifier layer properly
24
+ nn.init.normal_(model.fc.weight, 0, 0.01)
25
+ nn.init.constant_(model.fc.bias, 0)
26
+
27
+ return model
28
+
29
+ def get_resnet18_info():
30
+ """Return ResNet18 model information."""
31
+ model = load_resnet18()
32
+ total_params = sum(p.numel() for p in model.parameters())
33
+ trainable_params = sum(p.numel() for p in model.parameters() if p.requires_grad)
34
+
35
+ return {
36
+ 'total_params': total_params,
37
+ 'trainable_params': trainable_params,
38
+ 'model_size_mb': total_params * 4 / (1024 * 1024),
39
+ 'architecture': 'ResNet18 with modified classifier',
40
+ 'original_fc_features': 512,
41
+ 'modified_fc_classes': 10
42
+ }
43
+
44
+ def freeze_backbone(model, freeze=True):
45
+ """
46
+ Freeze/unfreeze ResNet18 backbone for transfer learning experiments.
47
+
48
+ Args:
49
+ model: ResNet18 model
50
+ freeze: Whether to freeze backbone parameters
51
+ """
52
+ for name, param in model.named_parameters():
53
+ if 'fc' not in name: # Don't freeze the final classifier
54
+ param.requires_grad = not freeze
55
+
56
+ return model
requirements.txt ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Core ML/DL Dependencies
2
+ torch>=2.0.0
3
+ torchvision>=0.15.0
4
+ numpy>=1.21.0
5
+ scikit-learn>=1.0.0
6
+
7
+ # Experiment Tracking & Visualization
8
+ wandb>=0.15.0
9
+ matplotlib>=3.5.0
10
+ seaborn>=0.11.0
11
+
12
+ # UI & Demo
13
+ gradio>=4.0.0
14
+
15
+ # Development & Code Quality
16
+ pytest>=7.0.0
17
+ black>=22.0.0
18
+ flake8>=4.0.0
19
+ mypy>=0.950
20
+
21
+ # Optional: For advanced features
22
+ tensorboard>=2.10.0 # Alternative to W&B
23
+ pillow>=9.0.0 # Image processing
24
+ tqdm>=4.64.0 # Progress bars
results_custom.json ADDED
@@ -0,0 +1,286 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "custom",
3
+ "config": {
4
+ "epochs": 50,
5
+ "learning_rate": 0.001,
6
+ "batch_size": 128,
7
+ "weight_decay": 0.0001,
8
+ "optimizer": "adamw",
9
+ "scheduler": "cosine",
10
+ "num_workers": 4
11
+ },
12
+ "timestamp": "2025-07-18T04:13:55.384588",
13
+ "evaluation": {
14
+ "test_accuracy": 90.64,
15
+ "test_loss": 0.40045145286034933
16
+ },
17
+ "benchmark": {
18
+ "total_params": 2332106,
19
+ "trainable_params": 2332106,
20
+ "model_size_mb": 8.896278381347656,
21
+ "inference_time_ms": 0.03669309616088868,
22
+ "throughput_samples_per_sec": 27253.083130823507
23
+ },
24
+ "training_history": {
25
+ "train_loss": [
26
+ 1.4149173482913862,
27
+ 1.0162051956761966,
28
+ 0.8482165988534689,
29
+ 0.728303463621573,
30
+ 0.6363477440212261,
31
+ 0.5701356856152415,
32
+ 0.5242524116554044,
33
+ 0.48185200515118515,
34
+ 0.4417327832938595,
35
+ 0.4158814721740782,
36
+ 0.3859495721672746,
37
+ 0.36533536635000596,
38
+ 0.3332995446398854,
39
+ 0.31937127585776826,
40
+ 0.30104608948088507,
41
+ 0.2783441687087444,
42
+ 0.2632080921056596,
43
+ 0.24968139340423726,
44
+ 0.22971883236261254,
45
+ 0.2119647280778736,
46
+ 0.1973909065550701,
47
+ 0.18659686817872254,
48
+ 0.17961866695391523,
49
+ 0.16379872180352156,
50
+ 0.15177374580790373,
51
+ 0.13599341192325068,
52
+ 0.12708607234526426,
53
+ 0.11916482064407319,
54
+ 0.11087808856444265,
55
+ 0.09957635454008017,
56
+ 0.09322496468666941,
57
+ 0.08429932953599333,
58
+ 0.07824049555611881,
59
+ 0.07476761330194263,
60
+ 0.06792214420486496,
61
+ 0.06089315965073183,
62
+ 0.05793831660941413,
63
+ 0.049046539545419036,
64
+ 0.04722405739118007,
65
+ 0.04650731596947563,
66
+ 0.04196743960545229,
67
+ 0.038948311547177254,
68
+ 0.035993627743499186,
69
+ 0.03569281337496994,
70
+ 0.03270679784790528,
71
+ 0.032233172895344483,
72
+ 0.03196344770549331,
73
+ 0.03183847648192155,
74
+ 0.03023724096022885,
75
+ 0.030237408462033436
76
+ ],
77
+ "train_acc": [
78
+ 47.44222222222222,
79
+ 63.40888888888889,
80
+ 69.82666666666667,
81
+ 74.43333333333334,
82
+ 77.99333333333334,
83
+ 80.32222222222222,
84
+ 81.87777777777778,
85
+ 83.3488888888889,
86
+ 84.88,
87
+ 85.53555555555556,
88
+ 86.71111111111111,
89
+ 87.3711111111111,
90
+ 88.42888888888889,
91
+ 88.88666666666667,
92
+ 89.67777777777778,
93
+ 90.23777777777778,
94
+ 90.83333333333333,
95
+ 91.27333333333333,
96
+ 91.92666666666666,
97
+ 92.5111111111111,
98
+ 92.96,
99
+ 93.35777777777778,
100
+ 93.79555555555555,
101
+ 94.23777777777778,
102
+ 94.61111111111111,
103
+ 95.13333333333334,
104
+ 95.60444444444444,
105
+ 95.81555555555556,
106
+ 96.21111111111111,
107
+ 96.51777777777778,
108
+ 96.71555555555555,
109
+ 97.09555555555555,
110
+ 97.29555555555555,
111
+ 97.40222222222222,
112
+ 97.68222222222222,
113
+ 98.01333333333334,
114
+ 98.03111111111112,
115
+ 98.33777777777777,
116
+ 98.45777777777778,
117
+ 98.50222222222222,
118
+ 98.67555555555556,
119
+ 98.78444444444445,
120
+ 98.87333333333333,
121
+ 98.85777777777778,
122
+ 98.96888888888888,
123
+ 99.00666666666666,
124
+ 99.05111111111111,
125
+ 99.04222222222222,
126
+ 99.12444444444445,
127
+ 99.07555555555555
128
+ ],
129
+ "val_loss": [
130
+ 1.2833179980516434,
131
+ 1.0060369923710824,
132
+ 0.839727059751749,
133
+ 0.7206100896000862,
134
+ 0.6262776359915734,
135
+ 0.6047777004539967,
136
+ 0.5214825630187988,
137
+ 0.5617048032581806,
138
+ 0.4974339139647782,
139
+ 0.6528803549706936,
140
+ 0.468262127507478,
141
+ 0.5062295906245708,
142
+ 0.4581702302210033,
143
+ 0.48504158183932305,
144
+ 0.3930924731772393,
145
+ 0.4028835633769631,
146
+ 0.40472898315638306,
147
+ 0.42524507120251653,
148
+ 0.37829906260594726,
149
+ 0.429102673381567,
150
+ 0.38081039050593973,
151
+ 0.39106107931002043,
152
+ 0.4107053097337484,
153
+ 0.37516938438639047,
154
+ 0.37471151329227725,
155
+ 0.3601559829898179,
156
+ 0.38286541113629935,
157
+ 0.3664126083254814,
158
+ 0.3772037770599127,
159
+ 0.3693193051032722,
160
+ 0.3915130659937859,
161
+ 0.3613826504675671,
162
+ 0.39408324654214083,
163
+ 0.37938523981720207,
164
+ 0.3832094382494688,
165
+ 0.3804494840092957,
166
+ 0.3750850508920848,
167
+ 0.3881649244111031,
168
+ 0.3786032352596521,
169
+ 0.38187652922933923,
170
+ 0.379985548555851,
171
+ 0.3757114422507584,
172
+ 0.38385402571875604,
173
+ 0.38617077097296715,
174
+ 0.3840172010939568,
175
+ 0.3845814407803118,
176
+ 0.38249608892947434,
177
+ 0.3862733863759786,
178
+ 0.3830278627807274,
179
+ 0.3832576520508155
180
+ ],
181
+ "val_acc": [
182
+ 54.7,
183
+ 63.76,
184
+ 69.46,
185
+ 73.96,
186
+ 78.12,
187
+ 79.3,
188
+ 81.34,
189
+ 80.92,
190
+ 82.58,
191
+ 78.62,
192
+ 84.54,
193
+ 83.32,
194
+ 84.36,
195
+ 84.74,
196
+ 86.48,
197
+ 86.36,
198
+ 86.16,
199
+ 86.68,
200
+ 87.92,
201
+ 87.1,
202
+ 88.24,
203
+ 88.16,
204
+ 88.02,
205
+ 88.7,
206
+ 88.58,
207
+ 88.98,
208
+ 89.02,
209
+ 89.38,
210
+ 89.24,
211
+ 89.44,
212
+ 89.3,
213
+ 90.38,
214
+ 89.94,
215
+ 90.0,
216
+ 90.42,
217
+ 90.32,
218
+ 90.26,
219
+ 90.6,
220
+ 90.68,
221
+ 90.74,
222
+ 90.92,
223
+ 90.58,
224
+ 90.76,
225
+ 90.52,
226
+ 90.92,
227
+ 90.78,
228
+ 90.98,
229
+ 90.88,
230
+ 90.9,
231
+ 90.94
232
+ ],
233
+ "lr": [
234
+ 0.0009990133642141358,
235
+ 0.000996057350657239,
236
+ 0.0009911436253643444,
237
+ 0.0009842915805643156,
238
+ 0.0009755282581475769,
239
+ 0.0009648882429441258,
240
+ 0.0009524135262330099,
241
+ 0.0009381533400219318,
242
+ 0.0009221639627510075,
243
+ 0.0009045084971874736,
244
+ 0.0008852566213878945,
245
+ 0.0008644843137107056,
246
+ 0.0008422735529643443,
247
+ 0.0008187119948743448,
248
+ 0.0007938926261462366,
249
+ 0.0007679133974894982,
250
+ 0.0007408768370508576,
251
+ 0.0007128896457825362,
252
+ 0.0006840622763423389,
253
+ 0.0006545084971874735,
254
+ 0.0006243449435824271,
255
+ 0.0005936906572928622,
256
+ 0.000562666616782152,
257
+ 0.0005313952597646566,
258
+ 0.0004999999999999998,
259
+ 0.00046860474023534314,
260
+ 0.00043733338321784774,
261
+ 0.00040630934270713756,
262
+ 0.00037565505641757246,
263
+ 0.00034549150281252633,
264
+ 0.00031593772365766105,
265
+ 0.00028711035421746355,
266
+ 0.0002591231629491422,
267
+ 0.00023208660251050145,
268
+ 0.00020610737385376337,
269
+ 0.00018128800512565502,
270
+ 0.00015772644703565555,
271
+ 0.00013551568628929425,
272
+ 0.00011474337861210535,
273
+ 9.549150281252626e-05,
274
+ 7.783603724899252e-05,
275
+ 6.184665997806817e-05,
276
+ 4.7586473766990294e-05,
277
+ 3.5111757055874305e-05,
278
+ 2.4471741852423218e-05,
279
+ 1.5708419435684507e-05,
280
+ 8.856374635655634e-06,
281
+ 3.942649342761115e-06,
282
+ 9.866357858642198e-07,
283
+ 0.0
284
+ ]
285
+ }
286
+ }
results_resnet18.json ADDED
@@ -0,0 +1,286 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "ResNet18",
3
+ "config": {
4
+ "epochs": 50,
5
+ "learning_rate": 0.001,
6
+ "batch_size": 128,
7
+ "weight_decay": 0.0001,
8
+ "optimizer": "adamw",
9
+ "scheduler": "cosine",
10
+ "num_workers": 4
11
+ },
12
+ "timestamp": "2025-07-18T15:21:09.396093",
13
+ "evaluation": {
14
+ "test_accuracy": 84.86,
15
+ "test_loss": 0.562998549093174
16
+ },
17
+ "benchmark": {
18
+ "total_params": 11181642,
19
+ "trainable_params": 11181642,
20
+ "model_size_mb": 42.654579162597656,
21
+ "inference_time_ms": 0.07653045654296875,
22
+ "throughput_samples_per_sec": 13066.69325092214
23
+ },
24
+ "training_history": {
25
+ "train_loss": [
26
+ 1.534992229193449,
27
+ 1.1880326921289617,
28
+ 1.035241229290312,
29
+ 0.9359814739701423,
30
+ 0.8539070878177881,
31
+ 0.7974097581410949,
32
+ 0.7436872424388473,
33
+ 0.6947507721117951,
34
+ 0.6624855630269105,
35
+ 0.633833650330251,
36
+ 0.6025871328840201,
37
+ 0.575756414200772,
38
+ 0.5571694652634588,
39
+ 0.5360024829649113,
40
+ 0.5100707446478985,
41
+ 0.49271007237786596,
42
+ 0.47091001365333796,
43
+ 0.45626898702572694,
44
+ 0.43944294174963777,
45
+ 0.4184168221174993,
46
+ 0.4037881137972528,
47
+ 0.3880640461786904,
48
+ 0.3765643063763326,
49
+ 0.3583343208936805,
50
+ 0.34006396283141593,
51
+ 0.32521333295682614,
52
+ 0.3184103542007506,
53
+ 0.30346678413281386,
54
+ 0.2917639202099632,
55
+ 0.2756085636263544,
56
+ 0.26325815861028706,
57
+ 0.2490403096784245,
58
+ 0.23851507969877936,
59
+ 0.22953345194797625,
60
+ 0.21737881953066046,
61
+ 0.2083251700016924,
62
+ 0.19804402061907406,
63
+ 0.1919961772774431,
64
+ 0.17820967812175778,
65
+ 0.17702617270829665,
66
+ 0.1681731247491288,
67
+ 0.16023547314530748,
68
+ 0.15579079615417868,
69
+ 0.15242329316044395,
70
+ 0.1487516676901247,
71
+ 0.14565975577782161,
72
+ 0.14755983392454006,
73
+ 0.14136733145410704,
74
+ 0.14154247444292362,
75
+ 0.13957085632930763
76
+ ],
77
+ "train_acc": [
78
+ 43.76,
79
+ 57.233333333333334,
80
+ 63.23555555555556,
81
+ 66.99333333333334,
82
+ 70.12666666666667,
83
+ 72.04666666666667,
84
+ 74.01333333333334,
85
+ 75.83111111111111,
86
+ 76.94888888888889,
87
+ 77.78444444444445,
88
+ 78.97555555555556,
89
+ 79.76,
90
+ 80.59333333333333,
91
+ 81.25555555555556,
92
+ 82.35777777777778,
93
+ 82.64666666666666,
94
+ 83.36,
95
+ 84.05555555555556,
96
+ 84.6,
97
+ 85.22222222222223,
98
+ 85.8711111111111,
99
+ 86.27333333333333,
100
+ 86.81333333333333,
101
+ 87.41333333333333,
102
+ 88.08222222222223,
103
+ 88.50444444444445,
104
+ 88.76444444444445,
105
+ 89.19333333333333,
106
+ 89.59333333333333,
107
+ 90.19555555555556,
108
+ 90.67111111111112,
109
+ 91.0911111111111,
110
+ 91.58666666666667,
111
+ 91.88,
112
+ 92.31555555555556,
113
+ 92.5111111111111,
114
+ 92.88888888888889,
115
+ 93.1,
116
+ 93.57111111111111,
117
+ 93.82,
118
+ 94.0111111111111,
119
+ 94.30666666666667,
120
+ 94.40666666666667,
121
+ 94.55555555555556,
122
+ 94.71333333333334,
123
+ 94.85333333333334,
124
+ 94.75777777777778,
125
+ 95.0111111111111,
126
+ 94.98222222222222,
127
+ 95.06444444444445
128
+ ],
129
+ "val_loss": [
130
+ 1.2874532729387282,
131
+ 1.1595576748251915,
132
+ 0.9405087038874627,
133
+ 0.9415416568517685,
134
+ 0.8305790588259697,
135
+ 0.7471129335463047,
136
+ 0.7304556638002395,
137
+ 0.7054379791021347,
138
+ 0.6213417574763298,
139
+ 0.6890904523432255,
140
+ 0.619678334146738,
141
+ 0.627859528362751,
142
+ 0.5851750016212464,
143
+ 0.5720030259341001,
144
+ 0.5639025084674358,
145
+ 0.5432115443050861,
146
+ 0.5189762286841869,
147
+ 0.530236903578043,
148
+ 0.5304640807211399,
149
+ 0.5138039080426097,
150
+ 0.5045294491574168,
151
+ 0.5120217554271221,
152
+ 0.4805617846548557,
153
+ 0.47255066349171104,
154
+ 0.46174713261425493,
155
+ 0.5055730052292347,
156
+ 0.47505435086786746,
157
+ 0.4915746621787548,
158
+ 0.46519887149333955,
159
+ 0.4645280983299017,
160
+ 0.4959094367921352,
161
+ 0.46855704141780735,
162
+ 0.48131142668426036,
163
+ 0.49051350774243474,
164
+ 0.5037652600556612,
165
+ 0.5074710845714435,
166
+ 0.4936542822048068,
167
+ 0.5001278184819966,
168
+ 0.5115441028028727,
169
+ 0.5081384718418122,
170
+ 0.5070559652522206,
171
+ 0.5073963915929198,
172
+ 0.511556985322386,
173
+ 0.5151565936394036,
174
+ 0.5156746107619256,
175
+ 0.5089005901943893,
176
+ 0.5072312701260671,
177
+ 0.5111834596609697,
178
+ 0.5138413549633697,
179
+ 0.5134076383663342
180
+ ],
181
+ "val_acc": [
182
+ 52.46,
183
+ 59.08,
184
+ 66.54,
185
+ 66.86,
186
+ 71.02,
187
+ 73.04,
188
+ 74.1,
189
+ 74.86,
190
+ 77.42,
191
+ 75.88,
192
+ 77.98,
193
+ 77.94,
194
+ 79.48,
195
+ 80.06,
196
+ 80.52,
197
+ 81.12,
198
+ 81.82,
199
+ 81.36,
200
+ 82.0,
201
+ 82.28,
202
+ 82.28,
203
+ 82.9,
204
+ 83.24,
205
+ 83.8,
206
+ 84.1,
207
+ 83.46,
208
+ 84.04,
209
+ 84.44,
210
+ 84.64,
211
+ 84.9,
212
+ 84.78,
213
+ 85.14,
214
+ 85.0,
215
+ 84.88,
216
+ 85.22,
217
+ 85.1,
218
+ 85.7,
219
+ 85.24,
220
+ 84.82,
221
+ 85.42,
222
+ 85.8,
223
+ 85.56,
224
+ 85.98,
225
+ 85.78,
226
+ 85.78,
227
+ 85.64,
228
+ 85.9,
229
+ 85.76,
230
+ 85.58,
231
+ 85.76
232
+ ],
233
+ "lr": [
234
+ 0.0009990133642141358,
235
+ 0.000996057350657239,
236
+ 0.0009911436253643444,
237
+ 0.0009842915805643156,
238
+ 0.0009755282581475769,
239
+ 0.0009648882429441258,
240
+ 0.0009524135262330099,
241
+ 0.0009381533400219318,
242
+ 0.0009221639627510075,
243
+ 0.0009045084971874736,
244
+ 0.0008852566213878945,
245
+ 0.0008644843137107056,
246
+ 0.0008422735529643443,
247
+ 0.0008187119948743448,
248
+ 0.0007938926261462366,
249
+ 0.0007679133974894982,
250
+ 0.0007408768370508576,
251
+ 0.0007128896457825362,
252
+ 0.0006840622763423389,
253
+ 0.0006545084971874735,
254
+ 0.0006243449435824271,
255
+ 0.0005936906572928622,
256
+ 0.000562666616782152,
257
+ 0.0005313952597646566,
258
+ 0.0004999999999999998,
259
+ 0.00046860474023534314,
260
+ 0.00043733338321784774,
261
+ 0.00040630934270713756,
262
+ 0.00037565505641757246,
263
+ 0.00034549150281252633,
264
+ 0.00031593772365766105,
265
+ 0.00028711035421746355,
266
+ 0.0002591231629491422,
267
+ 0.00023208660251050145,
268
+ 0.00020610737385376337,
269
+ 0.00018128800512565502,
270
+ 0.00015772644703565555,
271
+ 0.00013551568628929425,
272
+ 0.00011474337861210535,
273
+ 9.549150281252626e-05,
274
+ 7.783603724899252e-05,
275
+ 6.184665997806817e-05,
276
+ 4.7586473766990294e-05,
277
+ 3.5111757055874305e-05,
278
+ 2.4471741852423218e-05,
279
+ 1.5708419435684507e-05,
280
+ 8.856374635655634e-06,
281
+ 3.942649342761115e-06,
282
+ 9.866357858642198e-07,
283
+ 0.0
284
+ ]
285
+ }
286
+ }
train.py ADDED
@@ -0,0 +1,234 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ import torch.nn as nn
3
+ import time
4
+ from collections import defaultdict
5
+ from wandb_utils import WandbLogger
6
+ import argparse
7
+
8
+ def train(model, train_loader, val_loader, optimizer, criterion, scheduler,
9
+ num_epochs, device='cuda', use_wandb=True, model_name="CustomCNN"):
10
+ """
11
+ Production-grade training pipeline with optional W&B integration.
12
+
13
+ Args:
14
+ model: PyTorch model to train
15
+ train_loader: Training data loader
16
+ val_loader: Validation data loader
17
+ optimizer: Optimizer (AdamW/SGD)
18
+ criterion: Loss function (CrossEntropyLoss)
19
+ scheduler: Learning rate scheduler
20
+ num_epochs: Number of training epochs
21
+ device: Device to train on
22
+ use_wandb: Whether to use W&B logging
23
+ model_name: Name of the model for logging
24
+
25
+ Returns:
26
+ dict: Training history with losses and accuracies
27
+ """
28
+ model.to(device)
29
+ best_val_acc = 0.0
30
+ history = defaultdict(list)
31
+
32
+ # Initialize W&B if enabled
33
+ logger = None
34
+ if use_wandb:
35
+ logger = WandbLogger()
36
+ config = {
37
+ 'epochs': num_epochs,
38
+ 'device': str(device),
39
+ 'optimizer': optimizer.__class__.__name__,
40
+ 'scheduler': scheduler.__class__.__name__,
41
+ 'learning_rate': optimizer.param_groups[0]['lr']
42
+ }
43
+ logger.init_experiment(config, model, model_name)
44
+
45
+ print(f"🚀 Training {model_name} on {device} for {num_epochs} epochs...")
46
+ print("-" * 60)
47
+
48
+ for epoch in range(num_epochs):
49
+ epoch_start = time.time()
50
+
51
+ # Training phase
52
+ model.train()
53
+ train_loss, train_acc = _train_epoch(model, train_loader, optimizer, criterion, device)
54
+
55
+ # Validation phase
56
+ model.eval()
57
+ val_loss, val_acc, val_preds, val_targets = _validate_epoch(model, val_loader, criterion, device)
58
+
59
+ # Update scheduler
60
+ scheduler.step()
61
+
62
+ # Log metrics
63
+ metrics = {
64
+ 'train_loss': train_loss,
65
+ 'train_acc': train_acc,
66
+ 'val_loss': val_loss,
67
+ 'val_acc': val_acc,
68
+ 'lr': optimizer.param_groups[0]['lr']
69
+ }
70
+
71
+ for key, value in metrics.items():
72
+ history[key].append(value)
73
+
74
+ # W&B logging
75
+ if logger:
76
+ logger.log_metrics({
77
+ 'epoch': epoch,
78
+ 'train_loss': train_loss,
79
+ 'train_accuracy': train_acc,
80
+ 'val_loss': val_loss,
81
+ 'val_accuracy': val_acc,
82
+ 'learning_rate': optimizer.param_groups[0]['lr']
83
+ }, step=epoch)
84
+
85
+ # Log confusion matrix every 20 epochs
86
+ if (epoch + 1) % 20 == 0:
87
+ logger.log_confusion_matrix(val_targets, val_preds, epoch)
88
+
89
+ # Save best model
90
+ is_best = val_acc > best_val_acc
91
+ if is_best:
92
+ best_val_acc = val_acc
93
+ checkpoint = {
94
+ 'epoch': epoch,
95
+ 'model_state_dict': model.state_dict(),
96
+ 'optimizer_state_dict': optimizer.state_dict(),
97
+ 'val_acc': val_acc,
98
+ 'val_loss': val_loss
99
+ }
100
+ torch.save(checkpoint, f'best_model_{model_name.lower()}.pth')
101
+
102
+ # Only log best model checkpoint to W&B
103
+ if logger:
104
+ logger.log_model_checkpoint(model, optimizer, epoch,
105
+ {'val_accuracy': val_acc, 'val_loss': val_loss},
106
+ is_best=True)
107
+
108
+ # Print progress
109
+ epoch_time = time.time() - epoch_start
110
+ print(f"Epoch {epoch+1:3d}/{num_epochs} | "
111
+ f"Train: {train_loss:.4f}/{train_acc:.2f}% | "
112
+ f"Val: {val_loss:.4f}/{val_acc:.2f}% | "
113
+ f"LR: {optimizer.param_groups[0]['lr']:.2e} | "
114
+ f"Time: {epoch_time:.1f}s")
115
+
116
+ if logger:
117
+ logger.finish()
118
+
119
+ print(f"\n🎯 Best validation accuracy: {best_val_acc:.2f}%")
120
+ return dict(history)
121
+
122
+ def _train_epoch(model, train_loader, optimizer, criterion, device):
123
+ """Single training epoch with metrics."""
124
+ running_loss = 0.0
125
+ correct = 0
126
+ total = 0
127
+
128
+ for batch_idx, (inputs, targets) in enumerate(train_loader):
129
+ inputs, targets = inputs.to(device), targets.to(device)
130
+
131
+ optimizer.zero_grad()
132
+ outputs = model(inputs)
133
+ loss = criterion(outputs, targets)
134
+ loss.backward()
135
+ optimizer.step()
136
+
137
+ running_loss += loss.item()
138
+ _, predicted = outputs.max(1)
139
+ total += targets.size(0)
140
+ correct += predicted.eq(targets).sum().item()
141
+
142
+ return running_loss / len(train_loader), 100.0 * correct / total
143
+
144
+ def _validate_epoch(model, val_loader, criterion, device):
145
+ """Single validation epoch with predictions."""
146
+ running_loss = 0.0
147
+ correct = 0
148
+ total = 0
149
+ all_preds = []
150
+ all_targets = []
151
+
152
+ with torch.no_grad():
153
+ for inputs, targets in val_loader:
154
+ inputs, targets = inputs.to(device), targets.to(device)
155
+ outputs = model(inputs)
156
+ loss = criterion(outputs, targets)
157
+
158
+ running_loss += loss.item()
159
+ _, predicted = outputs.max(1)
160
+ total += targets.size(0)
161
+ correct += predicted.eq(targets).sum().item()
162
+
163
+ all_preds.extend(predicted.cpu().numpy())
164
+ all_targets.extend(targets.cpu().numpy())
165
+
166
+ return (running_loss / len(val_loader), 100.0 * correct / total,
167
+ all_preds, all_targets)
168
+
169
+ def create_optimizer(model, opt_type='adamw', lr=0.001, weight_decay=1e-4):
170
+ """Create optimizer with best practices."""
171
+ if opt_type.lower() == 'adamw':
172
+ return torch.optim.AdamW(model.parameters(), lr=lr, weight_decay=weight_decay)
173
+ elif opt_type.lower() == 'sgd':
174
+ return torch.optim.SGD(model.parameters(), lr=lr, momentum=0.9, weight_decay=weight_decay)
175
+ else:
176
+ raise ValueError(f"Unsupported optimizer: {opt_type}")
177
+
178
+ def create_scheduler(optimizer, scheduler_type='cosine', num_epochs=50): # Changed default from 100 to 50
179
+ """Create learning rate scheduler."""
180
+ if scheduler_type.lower() == 'cosine':
181
+ return torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=num_epochs)
182
+ elif scheduler_type.lower() == 'step':
183
+ return torch.optim.lr_scheduler.StepLR(optimizer, step_size=30, gamma=0.1)
184
+ else:
185
+ raise ValueError(f"Unsupported scheduler: {scheduler_type}")
186
+
187
+ # CLI interface for hyperparameter sweeps
188
+ def main():
189
+ parser = argparse.ArgumentParser(description='Train CIFAR-10 models with W&B')
190
+ parser.add_argument('--model', choices=['custom', 'resnet18'], default='custom')
191
+ parser.add_argument('--epochs', type=int, default=50) # Changed from 100 to 50
192
+ parser.add_argument('--lr', type=float, default=0.001)
193
+ parser.add_argument('--batch_size', type=int, default=128)
194
+ parser.add_argument('--no-wandb', action='store_true', help='Disable W&B logging')
195
+ parser.add_argument('--sweep', action='store_true', help='Run hyperparameter sweep')
196
+
197
+ args = parser.parse_args()
198
+
199
+ # Import models
200
+ if args.model == 'custom':
201
+ from models.custom_cnn import create_custom_cnn
202
+ model = create_custom_cnn()
203
+ model_name = "CustomCNN"
204
+ else:
205
+ from models.resnet18 import load_resnet18
206
+ model = load_resnet18()
207
+ model_name = "ResNet18"
208
+
209
+ # Load data
210
+ from utils.data_loader import get_cifar10_loaders
211
+ train_loader, val_loader, test_loader = get_cifar10_loaders(batch_size=args.batch_size)
212
+
213
+ # Create optimizer and scheduler
214
+ optimizer = create_optimizer(model, lr=args.lr)
215
+ scheduler = create_scheduler(optimizer, num_epochs=args.epochs)
216
+ criterion = nn.CrossEntropyLoss()
217
+
218
+ # Train model
219
+ if args.sweep:
220
+ from wandb_utils import create_hyperparameter_sweep, run_hyperparameter_sweep
221
+ sweep_config = create_hyperparameter_sweep()
222
+
223
+ def train_fn():
224
+ # W&B will set hyperparameters
225
+ train(model, train_loader, val_loader, optimizer, criterion,
226
+ scheduler, args.epochs, model_name=model_name)
227
+
228
+ run_hyperparameter_sweep(train_fn, sweep_config)
229
+ else:
230
+ train(model, train_loader, val_loader, optimizer, criterion, scheduler,
231
+ args.epochs, use_wandb=not args.no_wandb, model_name=model_name)
232
+
233
+ if __name__ == "__main__":
234
+ main()
utils/__pycache__/data_loader.cpython-313.pyc ADDED
Binary file (5.97 kB). View file
 
utils/data_loader.py ADDED
@@ -0,0 +1,156 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ from torch.utils.data import DataLoader, Dataset, random_split
3
+ from torchvision import transforms
4
+ import os
5
+ import pandas as pd
6
+ from PIL import Image
7
+
8
+ class KaggleCIFAR10Dataset(Dataset):
9
+ """Custom dataset for CIFAR-10 in train/test + CSV format."""
10
+
11
+ def __init__(self, data_dir, is_train=True, transform=None):
12
+ self.data_dir = data_dir
13
+ self.is_train = is_train
14
+ self.transform = transform
15
+
16
+ # Class name mapping (same for train and test)
17
+ self.class_names = ['airplane', 'automobile', 'bird', 'cat', 'deer',
18
+ 'dog', 'frog', 'horse', 'ship', 'truck']
19
+ self.label_to_idx = {name: idx for idx, name in enumerate(self.class_names)}
20
+
21
+ # Common root for labels and image folders
22
+ labels_root = os.path.join(data_dir, 'raw')
23
+
24
+ if is_train:
25
+ labels_path = os.path.join(labels_root, 'trainLabels.csv')
26
+ self.image_dir = os.path.join(labels_root, 'train')
27
+ else:
28
+ labels_path = os.path.join(labels_root, 'testLabels.csv')
29
+ self.image_dir = os.path.join(labels_root, 'test')
30
+
31
+ self.labels_df = pd.read_csv(labels_path)
32
+
33
+ def __len__(self):
34
+ return len(self.labels_df)
35
+
36
+ def __getitem__(self, idx):
37
+ row = self.labels_df.iloc[idx]
38
+ image_id = row['id']
39
+ label_name = row['label']
40
+
41
+ image_path = os.path.join(self.image_dir, f"{image_id}.png")
42
+ image = Image.open(image_path).convert('RGB')
43
+ label = self.label_to_idx[label_name]
44
+
45
+ if self.transform:
46
+ image = self.transform(image)
47
+
48
+ return image, label
49
+
50
+
51
+ def get_cifar10_loaders(data_dir='./data', batch_size=64, num_workers=4, val_split=0.1):
52
+ """
53
+ Load CIFAR-10 from custom directory layout with augmentation and splits.
54
+
55
+ Args:
56
+ data_dir: Directory containing 'raw/train', 'raw/test', and both CSV files
57
+ batch_size: Batch size for loaders
58
+ num_workers: Worker processes for DataLoader
59
+ val_split: Fraction of training data used for validation
60
+
61
+ Returns:
62
+ (train_loader, val_loader, test_loader)
63
+ """
64
+ CIFAR10_MEAN = (0.4914, 0.4822, 0.4465)
65
+ CIFAR10_STD = (0.2023, 0.1994, 0.2010)
66
+
67
+ train_transform = transforms.Compose([
68
+ transforms.RandomCrop(32, padding=4),
69
+ transforms.RandomHorizontalFlip(),
70
+ transforms.ToTensor(),
71
+ transforms.Normalize(CIFAR10_MEAN, CIFAR10_STD)
72
+ ])
73
+
74
+ eval_transform = transforms.Compose([
75
+ transforms.ToTensor(),
76
+ transforms.Normalize(CIFAR10_MEAN, CIFAR10_STD)
77
+ ])
78
+
79
+ # Full training dataset
80
+ full_train_dataset = KaggleCIFAR10Dataset(
81
+ data_dir=data_dir,
82
+ is_train=True,
83
+ transform=train_transform
84
+ )
85
+
86
+ # Split into train and validation
87
+ train_size = int((1 - val_split) * len(full_train_dataset))
88
+ val_size = len(full_train_dataset) - train_size
89
+
90
+ train_subset, val_subset = random_split(
91
+ full_train_dataset,
92
+ [train_size, val_size],
93
+ generator=torch.Generator().manual_seed(42)
94
+ )
95
+
96
+ # Use eval transforms for validation set
97
+ val_dataset = KaggleCIFAR10Dataset(
98
+ data_dir=data_dir,
99
+ is_train=True,
100
+ transform=eval_transform
101
+ )
102
+ val_subset.dataset = val_dataset
103
+
104
+ # Load labeled test dataset
105
+ test_dataset = KaggleCIFAR10Dataset(
106
+ data_dir=data_dir,
107
+ is_train=False,
108
+ transform=eval_transform
109
+ )
110
+
111
+ # DataLoaders
112
+ train_loader = DataLoader(
113
+ train_subset,
114
+ batch_size=batch_size,
115
+ shuffle=True,
116
+ num_workers=num_workers,
117
+ pin_memory=torch.cuda.is_available(),
118
+ persistent_workers=True if num_workers > 0 else False
119
+ )
120
+
121
+ val_loader = DataLoader(
122
+ val_subset,
123
+ batch_size=batch_size,
124
+ shuffle=False,
125
+ num_workers=num_workers,
126
+ pin_memory=torch.cuda.is_available(),
127
+ persistent_workers=True if num_workers > 0 else False
128
+ )
129
+
130
+ test_loader = DataLoader(
131
+ test_dataset,
132
+ batch_size=batch_size,
133
+ shuffle=False,
134
+ num_workers=num_workers,
135
+ pin_memory=torch.cuda.is_available(),
136
+ persistent_workers=True if num_workers > 0 else False
137
+ )
138
+
139
+ print(f"📊 Dataset loaded successfully!")
140
+ print(f" Training samples: {len(train_subset)}")
141
+ print(f" Validation samples: {len(val_subset)}")
142
+ print(f" Test samples: {len(test_dataset)}")
143
+
144
+ return train_loader, val_loader, test_loader
145
+
146
+
147
+ def get_cifar10_info():
148
+ """Return CIFAR-10 dataset information."""
149
+ return {
150
+ 'num_classes': 10,
151
+ 'class_names': ['airplane', 'automobile', 'bird', 'cat', 'deer',
152
+ 'dog', 'frog', 'horse', 'ship', 'truck'],
153
+ 'input_shape': (3, 32, 32),
154
+ 'mean': (0.4914, 0.4822, 0.4465),
155
+ 'std': (0.2023, 0.1994, 0.2010)
156
+ }
utils/visualizations.py ADDED
@@ -0,0 +1,154 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import matplotlib.pyplot as plt
2
+ import numpy as np
3
+ import os
4
+
5
+ def plot_training_curves(train_acc, val_acc, train_loss, val_loss, model_name, save_dir='plots'):
6
+ """
7
+ Plot and save training/validation curves.
8
+
9
+ Args:
10
+ train_acc: List of training accuracies
11
+ val_acc: List of validation accuracies
12
+ train_loss: List of training losses
13
+ val_loss: List of validation losses
14
+ model_name: Name of the model for plot titles and filenames
15
+ save_dir: Directory to save plots
16
+ """
17
+ os.makedirs(save_dir, exist_ok=True)
18
+
19
+ epochs = range(1, len(train_acc) + 1)
20
+
21
+ # Set up the plotting style
22
+ plt.style.use('seaborn-v0_8')
23
+ fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(15, 6))
24
+
25
+ # Plot accuracy curves
26
+ ax1.plot(epochs, train_acc, 'b-', label='Training Accuracy', linewidth=2)
27
+ ax1.plot(epochs, val_acc, 'r-', label='Validation Accuracy', linewidth=2)
28
+ ax1.set_title(f'{model_name} - Accuracy Curves', fontsize=14, fontweight='bold')
29
+ ax1.set_xlabel('Epochs', fontsize=12)
30
+ ax1.set_ylabel('Accuracy (%)', fontsize=12)
31
+ ax1.legend(fontsize=11)
32
+ ax1.grid(True, alpha=0.3)
33
+ ax1.set_ylim([0, 100])
34
+
35
+ # Add best accuracy annotations
36
+ best_train_acc = max(train_acc)
37
+ best_val_acc = max(val_acc)
38
+ best_train_epoch = train_acc.index(best_train_acc) + 1
39
+ best_val_epoch = val_acc.index(best_val_acc) + 1
40
+
41
+ ax1.annotate(f'Best: {best_val_acc:.2f}%',
42
+ xy=(best_val_epoch, best_val_acc),
43
+ xytext=(10, 10), textcoords='offset points',
44
+ bbox=dict(boxstyle='round,pad=0.3', facecolor='red', alpha=0.7),
45
+ arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=0'))
46
+
47
+ # Plot loss curves
48
+ ax2.plot(epochs, train_loss, 'b-', label='Training Loss', linewidth=2)
49
+ ax2.plot(epochs, val_loss, 'r-', label='Validation Loss', linewidth=2)
50
+ ax2.set_title(f'{model_name} - Loss Curves', fontsize=14, fontweight='bold')
51
+ ax2.set_xlabel('Epochs', fontsize=12)
52
+ ax2.set_ylabel('Loss', fontsize=12)
53
+ ax2.legend(fontsize=11)
54
+ ax2.grid(True, alpha=0.3)
55
+
56
+ # Add minimum loss annotation
57
+ min_val_loss = min(val_loss)
58
+ min_loss_epoch = val_loss.index(min_val_loss) + 1
59
+ ax2.annotate(f'Min: {min_val_loss:.4f}',
60
+ xy=(min_loss_epoch, min_val_loss),
61
+ xytext=(10, 10), textcoords='offset points',
62
+ bbox=dict(boxstyle='round,pad=0.3', facecolor='red', alpha=0.7),
63
+ arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=0'))
64
+
65
+ plt.tight_layout()
66
+
67
+ # Save plot
68
+ save_path = os.path.join(save_dir, f'{model_name.lower()}_training_curves.png')
69
+ plt.savefig(save_path, dpi=300, bbox_inches='tight')
70
+ plt.show()
71
+
72
+ print(f"📊 Training curves saved to: {save_path}")
73
+ return fig
74
+
75
+ def plot_model_comparison(models_history, save_dir='plots'):
76
+ """
77
+ Compare training curves of multiple models.
78
+
79
+ Args:
80
+ models_history: Dict with model names as keys and history dicts as values
81
+ save_dir: Directory to save plots
82
+ """
83
+ os.makedirs(save_dir, exist_ok=True)
84
+
85
+ plt.style.use('seaborn-v0_8')
86
+ fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(15, 6))
87
+
88
+ colors = ['blue', 'red', 'green', 'orange', 'purple']
89
+
90
+ for i, (model_name, history) in enumerate(models_history.items()):
91
+ epochs = range(1, len(history['val_acc']) + 1)
92
+ color = colors[i % len(colors)]
93
+
94
+ # Plot validation accuracy
95
+ ax1.plot(epochs, history['val_acc'], color=color,
96
+ label=f'{model_name}', linewidth=2, marker='o', markersize=3)
97
+
98
+ # Plot validation loss
99
+ ax2.plot(epochs, history['val_loss'], color=color,
100
+ label=f'{model_name}', linewidth=2, marker='o', markersize=3)
101
+
102
+ # Configure accuracy plot
103
+ ax1.set_title('Model Comparison - Validation Accuracy', fontsize=14, fontweight='bold')
104
+ ax1.set_xlabel('Epochs', fontsize=12)
105
+ ax1.set_ylabel('Validation Accuracy (%)', fontsize=12)
106
+ ax1.legend(fontsize=11)
107
+ ax1.grid(True, alpha=0.3)
108
+ ax1.set_ylim([0, 100])
109
+
110
+ # Configure loss plot
111
+ ax2.set_title('Model Comparison - Validation Loss', fontsize=14, fontweight='bold')
112
+ ax2.set_xlabel('Epochs', fontsize=12)
113
+ ax2.set_ylabel('Validation Loss', fontsize=12)
114
+ ax2.legend(fontsize=11)
115
+ ax2.grid(True, alpha=0.3)
116
+
117
+ plt.tight_layout()
118
+
119
+ # Save comparison plot
120
+ save_path = os.path.join(save_dir, 'model_comparison.png')
121
+ plt.savefig(save_path, dpi=300, bbox_inches='tight')
122
+ plt.show()
123
+
124
+ print(f"📊 Model comparison saved to: {save_path}")
125
+ return fig
126
+
127
+ def plot_learning_rate_schedule(lr_history, model_name, save_dir='plots'):
128
+ """
129
+ Plot learning rate schedule over epochs.
130
+
131
+ Args:
132
+ lr_history: List of learning rates per epoch
133
+ model_name: Name of the model
134
+ save_dir: Directory to save plots
135
+ """
136
+ os.makedirs(save_dir, exist_ok=True)
137
+
138
+ epochs = range(1, len(lr_history) + 1)
139
+
140
+ plt.figure(figsize=(10, 6))
141
+ plt.plot(epochs, lr_history, 'g-', linewidth=2)
142
+ plt.title(f'{model_name} - Learning Rate Schedule', fontsize=14, fontweight='bold')
143
+ plt.xlabel('Epochs', fontsize=12)
144
+ plt.ylabel('Learning Rate', fontsize=12)
145
+ plt.grid(True, alpha=0.3)
146
+ plt.yscale('log')
147
+
148
+ # Save plot
149
+ save_path = os.path.join(save_dir, f'{model_name.lower()}_lr_schedule.png')
150
+ plt.savefig(save_path, dpi=300, bbox_inches='tight')
151
+ plt.show()
152
+
153
+ print(f"📊 LR schedule saved to: {save_path}")
154
+ return plt.gcf()
wandb/run-20250717_042842-06r19hoq/files/config.yaml ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ _wandb:
2
+ value:
3
+ cli_version: 0.21.0
4
+ e:
5
+ wwsyhap7oz1qssew84oaomf0lpswl335:
6
+ codePath: main.py
7
+ codePathLocal: main.py
8
+ cpu_count: 4
9
+ cpu_count_logical: 8
10
+ cudaVersion: "12.7"
11
+ disk:
12
+ /:
13
+ total: "255230791680"
14
+ used: "157923209216"
15
+ email: shreshthkapai@gmail.com
16
+ executable: C:\Users\Legion\Miniconda3\envs\ML\python.exe
17
+ git:
18
+ remote: https://github.com/shreshthkapai/cnn_benchmark.git
19
+ gpu: NVIDIA GeForce GTX 1650
20
+ gpu_count: 1
21
+ gpu_nvidia:
22
+ - architecture: Turing
23
+ cudaCores: 1024
24
+ memoryTotal: "4294967296"
25
+ name: NVIDIA GeForce GTX 1650
26
+ uuid: GPU-fbcd7647-fb67-66f5-b8c7-1a4198b7e4fa
27
+ host: DESKTOP-EIHJJJL
28
+ memory:
29
+ total: "8506298368"
30
+ os: Windows-11-10.0.26100-SP0
31
+ program: C:\Users\Legion\desktop\cnn_benchmark\main.py
32
+ python: CPython 3.13.5
33
+ root: C:\Users\Legion\desktop\cnn_benchmark
34
+ startedAt: "2025-07-16T22:58:42.840536Z"
35
+ writerId: wwsyhap7oz1qssew84oaomf0lpswl335
36
+ m: []
37
+ python_version: 3.13.5
38
+ t:
39
+ "1":
40
+ - 1
41
+ - 5
42
+ - 41
43
+ - 53
44
+ - 105
45
+ "2":
46
+ - 1
47
+ - 5
48
+ - 41
49
+ - 53
50
+ - 105
51
+ "3":
52
+ - 1
53
+ - 2
54
+ - 13
55
+ - 16
56
+ - 61
57
+ - 62
58
+ "4": 3.13.5
59
+ "5": 0.21.0
60
+ "8":
61
+ - 3
62
+ "12": 0.21.0
63
+ "13": windows-amd64
64
+ architecture:
65
+ value: CustomCNN
66
+ device:
67
+ value: cpu
68
+ epochs:
69
+ value: 100
70
+ learning_rate:
71
+ value: 0.001
72
+ model_name:
73
+ value: CustomCNN
74
+ model_size_mb:
75
+ value: 8.896278381347656
76
+ optimizer:
77
+ value: AdamW
78
+ scheduler:
79
+ value: CosineAnnealingLR
80
+ total_params:
81
+ value: 2332106
82
+ trainable_params:
83
+ value: 2332106
wandb/run-20250717_042842-06r19hoq/files/media/graph/graph_0_summary_132b1dd32ead095f5a49.graph.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"format": "torch", "nodes": [{"name": "features.0.0", "id": 2287480190496, "class_name": "Conv2d(3, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)", "parameters": [["weight", [64, 3, 3, 3]]], "output_shape": [[128, 64, 32, 32]], "num_parameters": [1728]}, {"name": "features.0.1", "id": 2287480190832, "class_name": "BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)", "parameters": [["weight", [64]], ["bias", [64]]], "output_shape": [[128, 64, 32, 32]], "num_parameters": [64, 64]}, {"name": "features.0.2", "id": 2287480191168, "class_name": "ReLU(inplace=True)", "parameters": [], "output_shape": [[128, 64, 32, 32]], "num_parameters": []}, {"name": "features.1.0", "id": 2287480240272, "class_name": "Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)", "parameters": [["weight", [64, 64, 3, 3]]], "output_shape": [[128, 64, 32, 32]], "num_parameters": [36864]}, {"name": "features.1.1", "id": 2287480240592, "class_name": "BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)", "parameters": [["weight", [64]], ["bias", [64]]], "output_shape": [[128, 64, 32, 32]], "num_parameters": [64, 64]}, {"name": "features.1.2", "id": 2287480240912, "class_name": "ReLU(inplace=True)", "parameters": [], "output_shape": [[128, 64, 32, 32]], "num_parameters": []}, {"name": "features.2.0", "id": 2287480241552, "class_name": "Conv2d(64, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)", "parameters": [["weight", [128, 64, 3, 3]]], "output_shape": [[128, 128, 16, 16]], "num_parameters": [73728]}, {"name": "features.2.1", "id": 2287480241872, "class_name": "BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)", "parameters": [["weight", [128]], ["bias", [128]]], "output_shape": [[128, 128, 16, 16]], "num_parameters": [128, 128]}, {"name": "features.2.2", "id": 2287481569360, "class_name": "ReLU(inplace=True)", "parameters": [], "output_shape": [[128, 128, 16, 16]], "num_parameters": []}, {"name": "features.3.0", "id": 2287481570000, "class_name": "Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)", "parameters": [["weight", [128, 128, 3, 3]]], "output_shape": [[128, 128, 16, 16]], "num_parameters": [147456]}, {"name": "features.3.1", "id": 2287481297520, "class_name": "BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)", "parameters": [["weight", [128]], ["bias", [128]]], "output_shape": [[128, 128, 16, 16]], "num_parameters": [128, 128]}, {"name": "features.3.2", "id": 2287481297824, "class_name": "ReLU(inplace=True)", "parameters": [], "output_shape": [[128, 128, 16, 16]], "num_parameters": []}, {"name": "features.4.0", "id": 2287481570320, "class_name": "Conv2d(128, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)", "parameters": [["weight", [256, 128, 3, 3]]], "output_shape": [[128, 256, 8, 8]], "num_parameters": [294912]}, {"name": "features.4.1", "id": 2287481298432, "class_name": "BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)", "parameters": [["weight", [256]], ["bias", [256]]], "output_shape": [[128, 256, 8, 8]], "num_parameters": [256, 256]}, {"name": "features.4.2", "id": 2287481298736, "class_name": "ReLU(inplace=True)", "parameters": [], "output_shape": [[128, 256, 8, 8]], "num_parameters": []}, {"name": "features.5.0", "id": 2287481570640, "class_name": "Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)", "parameters": [["weight", [256, 256, 3, 3]]], "output_shape": [[128, 256, 8, 8]], "num_parameters": [589824]}, {"name": "features.5.1", "id": 2287480206928, "class_name": "BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)", "parameters": [["weight", [256]], ["bias", [256]]], "output_shape": [[128, 256, 8, 8]], "num_parameters": [256, 256]}, {"name": "features.5.2", "id": 2287480207216, "class_name": "ReLU(inplace=True)", "parameters": [], "output_shape": [[128, 256, 8, 8]], "num_parameters": []}, {"name": "features.6.0", "id": 2287481570960, "class_name": "Conv2d(256, 512, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)", "parameters": [["weight", [512, 256, 3, 3]]], "output_shape": [[128, 512, 4, 4]], "num_parameters": [1179648]}, {"name": "features.6.1", "id": 2287480272240, "class_name": "BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)", "parameters": [["weight", [512]], ["bias", [512]]], "output_shape": [[128, 512, 4, 4]], "num_parameters": [512, 512]}, {"name": "features.6.2", "id": 2287480272512, "class_name": "ReLU(inplace=True)", "parameters": [], "output_shape": [[128, 512, 4, 4]], "num_parameters": []}, {"name": "avgpool", "id": 2287480191840, "class_name": "AdaptiveAvgPool2d(output_size=(1, 1))", "parameters": [], "output_shape": [[128, 512, 1, 1]], "num_parameters": []}, {"name": "dropout", "id": 2287480192176, "class_name": "Dropout(p=0.4, inplace=False)", "parameters": [], "output_shape": [[128, 512]], "num_parameters": []}, {"name": "classifier", "id": 2287480192512, "class_name": "Linear(in_features=512, out_features=10, bias=True)", "parameters": [["weight", [10, 512]], ["bias", [10]]], "output_shape": [[128, 10]], "num_parameters": [5120, 10]}], "edges": []}
wandb/run-20250717_042842-06r19hoq/files/media/images/confusion_matrix_19_b33026bc347bc22a8d9b.png ADDED
wandb/run-20250717_042842-06r19hoq/files/media/images/confusion_matrix_39_de4ede8accb5f138e9f1.png ADDED
wandb/run-20250717_042842-06r19hoq/files/media/images/confusion_matrix_59_5019078d4adcee2f0528.png ADDED
wandb/run-20250717_042842-06r19hoq/files/media/images/confusion_matrix_79_370451acba8027daeccc.png ADDED
wandb/run-20250717_042842-06r19hoq/files/media/images/confusion_matrix_99_286cbb15cd888998e571.png ADDED
wandb/run-20250717_042842-06r19hoq/files/output.log ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ wandb: logging graph, to disable use `wandb.watch(log_graph=False)`
2
+ 🚀 Training CustomCNN on cpu for 100 epochs...
3
+ ------------------------------------------------------------
4
+ Epoch 1/100 | Train: 1.4263/47.28% | Val: 1.2500/55.26% | LR: 1.00e-03 | Time: 688.8s
5
+ Epoch 2/100 | Train: 0.9965/64.49% | Val: 1.0144/64.68% | LR: 9.99e-04 | Time: 554.9s
6
+ Epoch 3/100 | Train: 0.8147/71.34% | Val: 0.8488/71.12% | LR: 9.98e-04 | Time: 493.9s
7
+ Epoch 4/100 | Train: 0.6970/75.81% | Val: 0.7762/73.08% | LR: 9.96e-04 | Time: 442.6s
8
+ Epoch 5/100 | Train: 0.6207/78.49% | Val: 0.6689/77.54% | LR: 9.94e-04 | Time: 425.4s
9
+ Epoch 6/100 | Train: 0.5577/80.68% | Val: 0.6680/77.22% | LR: 9.91e-04 | Time: 445.9s
10
+ Epoch 7/100 | Train: 0.5138/82.33% | Val: 0.6256/79.04% | LR: 9.88e-04 | Time: 444.6s
11
+ Epoch 8/100 | Train: 0.4757/83.72% | Val: 0.6287/79.50% | LR: 9.84e-04 | Time: 443.6s
12
+ Epoch 9/100 | Train: 0.4378/84.72% | Val: 0.4669/83.58% | LR: 9.80e-04 | Time: 446.4s
13
+ Epoch 10/100 | Train: 0.4089/86.04% | Val: 0.5060/82.66% | LR: 9.76e-04 | Time: 444.0s
14
+ Epoch 11/100 | Train: 0.3825/86.71% | Val: 0.4139/85.20% | LR: 9.70e-04 | Time: 444.0s
15
+ Epoch 12/100 | Train: 0.3571/87.85% | Val: 0.4525/84.94% | LR: 9.65e-04 | Time: 442.7s
16
+ Epoch 13/100 | Train: 0.3396/88.30% | Val: 0.4341/85.46% | LR: 9.59e-04 | Time: 443.9s
17
+ Epoch 14/100 | Train: 0.3161/89.11% | Val: 0.4940/84.54% | LR: 9.52e-04 | Time: 443.9s
18
+ Epoch 15/100 | Train: 0.3031/89.43% | Val: 0.3860/87.34% | LR: 9.46e-04 | Time: 444.4s
19
+ Epoch 16/100 | Train: 0.2818/90.13% | Val: 0.4627/85.04% | LR: 9.38e-04 | Time: 444.2s
20
+ Epoch 17/100 | Train: 0.2702/90.67% | Val: 0.3989/87.02% | LR: 9.30e-04 | Time: 441.9s
21
+ Epoch 18/100 | Train: 0.2493/91.35% | Val: 0.3635/87.86% | LR: 9.22e-04 | Time: 445.1s
22
+ Epoch 19/100 | Train: 0.2414/91.60% | Val: 0.4147/87.10% | LR: 9.14e-04 | Time: 444.3s
23
+ Epoch 20/100 | Train: 0.2253/92.17% | Val: 0.3490/88.34% | LR: 9.05e-04 | Time: 448.1s
24
+ Epoch 21/100 | Train: 0.2160/92.56% | Val: 0.4976/84.96% | LR: 8.95e-04 | Time: 446.3s
25
+ Epoch 22/100 | Train: 0.2005/92.99% | Val: 0.3767/88.18% | LR: 8.85e-04 | Time: 445.7s
26
+ Epoch 23/100 | Train: 0.1937/93.28% | Val: 0.3992/87.66% | LR: 8.75e-04 | Time: 426.4s
27
+ Epoch 24/100 | Train: 0.1825/93.52% | Val: 0.3954/88.22% | LR: 8.64e-04 | Time: 446.3s
28
+ Epoch 25/100 | Train: 0.1690/94.03% | Val: 0.3595/89.06% | LR: 8.54e-04 | Time: 445.6s
29
+ Epoch 26/100 | Train: 0.1590/94.44% | Val: 0.3949/88.24% | LR: 8.42e-04 | Time: 446.7s
30
+ Epoch 27/100 | Train: 0.1583/94.37% | Val: 0.3753/88.96% | LR: 8.31e-04 | Time: 445.8s
31
+ Epoch 28/100 | Train: 0.1425/95.03% | Val: 0.3435/89.68% | LR: 8.19e-04 | Time: 445.8s
32
+ Epoch 29/100 | Train: 0.1382/95.12% | Val: 0.4103/88.12% | LR: 8.06e-04 | Time: 446.9s
33
+ Epoch 30/100 | Train: 0.1358/95.16% | Val: 0.3981/88.36% | LR: 7.94e-04 | Time: 444.6s
34
+ Epoch 31/100 | Train: 0.1203/95.72% | Val: 0.3894/88.74% | LR: 7.81e-04 | Time: 445.1s
35
+ Epoch 32/100 | Train: 0.1173/95.90% | Val: 0.3978/89.02% | LR: 7.68e-04 | Time: 444.5s
36
+ Epoch 33/100 | Train: 0.1121/96.00% | Val: 0.4003/88.84% | LR: 7.55e-04 | Time: 445.3s
37
+ Epoch 34/100 | Train: 0.1015/96.43% | Val: 0.3812/89.66% | LR: 7.41e-04 | Time: 446.5s
38
+ Epoch 35/100 | Train: 0.0982/96.53% | Val: 0.3925/89.56% | LR: 7.27e-04 | Time: 447.3s
39
+ Epoch 36/100 | Train: 0.0908/96.82% | Val: 0.3888/89.32% | LR: 7.13e-04 | Time: 445.4s
40
+ Epoch 37/100 | Train: 0.0928/96.70% | Val: 0.3925/90.04% | LR: 6.99e-04 | Time: 433.2s
41
+ Epoch 38/100 | Train: 0.0833/97.05% | Val: 0.3851/89.82% | LR: 6.84e-04 | Time: 442.6s
42
+ Epoch 39/100 | Train: 0.0799/97.23% | Val: 0.4012/90.10% | LR: 6.69e-04 | Time: 439.2s
43
+ Epoch 40/100 | Train: 0.0789/97.12% | Val: 0.3925/89.76% | LR: 6.55e-04 | Time: 414.8s
44
+ Epoch 41/100 | Train: 0.0707/97.46% | Val: 0.3593/90.86% | LR: 6.39e-04 | Time: 426.1s
45
+ Epoch 42/100 | Train: 0.0702/97.56% | Val: 0.3883/89.76% | LR: 6.24e-04 | Time: 439.5s
46
+ Epoch 43/100 | Train: 0.0646/97.77% | Val: 0.4134/89.82% | LR: 6.09e-04 | Time: 446.1s
47
+ Epoch 44/100 | Train: 0.0642/97.75% | Val: 0.3782/90.18% | LR: 5.94e-04 | Time: 445.1s
48
+ Epoch 45/100 | Train: 0.0610/97.93% | Val: 0.3908/89.98% | LR: 5.78e-04 | Time: 423.6s
49
+ Epoch 46/100 | Train: 0.0576/97.94% | Val: 0.4269/89.86% | LR: 5.63e-04 | Time: 443.9s
50
+ Epoch 47/100 | Train: 0.0510/98.27% | Val: 0.4067/90.46% | LR: 5.47e-04 | Time: 443.9s
51
+ Epoch 48/100 | Train: 0.0476/98.34% | Val: 0.3866/90.96% | LR: 5.31e-04 | Time: 444.3s
52
+ Epoch 49/100 | Train: 0.0445/98.49% | Val: 0.4426/90.34% | LR: 5.16e-04 | Time: 445.6s
53
+ Epoch 50/100 | Train: 0.0439/98.44% | Val: 0.3987/90.38% | LR: 5.00e-04 | Time: 444.7s
54
+ Epoch 51/100 | Train: 0.0396/98.73% | Val: 0.4131/90.62% | LR: 4.84e-04 | Time: 443.5s
55
+ Epoch 52/100 | Train: 0.0397/98.64% | Val: 0.4082/90.96% | LR: 4.69e-04 | Time: 442.0s
56
+ Epoch 53/100 | Train: 0.0366/98.74% | Val: 0.4078/90.94% | LR: 4.53e-04 | Time: 442.1s
57
+ Epoch 54/100 | Train: 0.0385/98.68% | Val: 0.4498/90.38% | LR: 4.37e-04 | Time: 441.6s
58
+ Epoch 55/100 | Train: 0.0342/98.84% | Val: 0.4282/90.56% | LR: 4.22e-04 | Time: 441.1s
59
+ Epoch 56/100 | Train: 0.0326/98.90% | Val: 0.4451/90.56% | LR: 4.06e-04 | Time: 437.2s
60
+ Epoch 57/100 | Train: 0.0279/99.06% | Val: 0.4428/90.86% | LR: 3.91e-04 | Time: 424.6s
61
+ Epoch 58/100 | Train: 0.0271/99.10% | Val: 0.4333/90.58% | LR: 3.76e-04 | Time: 427.0s
62
+ Epoch 59/100 | Train: 0.0277/99.03% | Val: 0.4483/90.60% | LR: 3.61e-04 | Time: 442.3s
63
+ Epoch 60/100 | Train: 0.0265/99.07% | Val: 0.4467/90.60% | LR: 3.45e-04 | Time: 443.3s
64
+ Epoch 61/100 | Train: 0.0237/99.21% | Val: 0.4419/91.16% | LR: 3.31e-04 | Time: 443.0s
65
+ Epoch 62/100 | Train: 0.0234/99.21% | Val: 0.4439/90.46% | LR: 3.16e-04 | Time: 464.5s
66
+ Epoch 63/100 | Train: 0.0198/99.37% | Val: 0.4616/90.80% | LR: 3.01e-04 | Time: 474.4s
67
+ Epoch 64/100 | Train: 0.0177/99.42% | Val: 0.4360/90.92% | LR: 2.87e-04 | Time: 444.6s
68
+ Epoch 65/100 | Train: 0.0178/99.44% | Val: 0.4398/91.00% | LR: 2.73e-04 | Time: 444.0s
69
+ Epoch 66/100 | Train: 0.0188/99.40% | Val: 0.4573/91.22% | LR: 2.59e-04 | Time: 445.7s
70
+ Epoch 67/100 | Train: 0.0164/99.45% | Val: 0.4541/91.30% | LR: 2.45e-04 | Time: 437.4s
71
+ Epoch 68/100 | Train: 0.0165/99.49% | Val: 0.4793/90.92% | LR: 2.32e-04 | Time: 435.2s
72
+ Epoch 69/100 | Train: 0.0165/99.46% | Val: 0.4639/91.12% | LR: 2.19e-04 | Time: 444.4s
73
+ Epoch 70/100 | Train: 0.0138/99.58% | Val: 0.4675/90.68% | LR: 2.06e-04 | Time: 444.3s
74
+ Epoch 71/100 | Train: 0.0135/99.54% | Val: 0.4640/91.08% | LR: 1.94e-04 | Time: 444.8s
75
+ Epoch 72/100 | Train: 0.0117/99.63% | Val: 0.4833/91.30% | LR: 1.81e-04 | Time: 469.8s
76
+ Epoch 73/100 | Train: 0.0111/99.65% | Val: 0.4804/90.96% | LR: 1.69e-04 | Time: 452.3s
77
+ Epoch 74/100 | Train: 0.0114/99.65% | Val: 0.4615/91.60% | LR: 1.58e-04 | Time: 426.1s
78
+ Epoch 75/100 | Train: 0.0097/99.72% | Val: 0.4715/91.26% | LR: 1.46e-04 | Time: 424.5s
79
+ Epoch 76/100 | Train: 0.0105/99.68% | Val: 0.4694/91.62% | LR: 1.36e-04 | Time: 425.6s
80
+ Epoch 77/100 | Train: 0.0083/99.75% | Val: 0.4695/91.24% | LR: 1.25e-04 | Time: 427.2s
81
+ Epoch 78/100 | Train: 0.0080/99.76% | Val: 0.4773/91.18% | LR: 1.15e-04 | Time: 427.5s
82
+ Epoch 79/100 | Train: 0.0074/99.78% | Val: 0.4529/91.66% | LR: 1.05e-04 | Time: 424.3s
83
+ Epoch 80/100 | Train: 0.0076/99.78% | Val: 0.4566/91.30% | LR: 9.55e-05 | Time: 425.2s
84
+ Epoch 81/100 | Train: 0.0068/99.80% | Val: 0.4476/91.64% | LR: 8.65e-05 | Time: 424.2s
85
+ Epoch 82/100 | Train: 0.0067/99.81% | Val: 0.4565/91.52% | LR: 7.78e-05 | Time: 424.5s
86
+ Epoch 83/100 | Train: 0.0057/99.86% | Val: 0.4623/91.62% | LR: 6.96e-05 | Time: 425.2s
87
+ Epoch 84/100 | Train: 0.0060/99.85% | Val: 0.4523/91.44% | LR: 6.18e-05 | Time: 423.6s
88
+ Epoch 85/100 | Train: 0.0058/99.84% | Val: 0.4586/91.40% | LR: 5.45e-05 | Time: 425.0s
89
+ Epoch 86/100 | Train: 0.0052/99.86% | Val: 0.4588/91.48% | LR: 4.76e-05 | Time: 425.5s
90
+ Epoch 87/100 | Train: 0.0047/99.87% | Val: 0.4550/91.32% | LR: 4.11e-05 | Time: 423.3s
91
+ Epoch 88/100 | Train: 0.0051/99.86% | Val: 0.4538/91.34% | LR: 3.51e-05 | Time: 423.2s
92
+ Epoch 89/100 | Train: 0.0052/99.84% | Val: 0.4567/91.56% | LR: 2.96e-05 | Time: 426.4s
93
+ Epoch 90/100 | Train: 0.0049/99.85% | Val: 0.4543/91.42% | LR: 2.45e-05 | Time: 424.0s
94
+ Epoch 91/100 | Train: 0.0042/99.91% | Val: 0.4672/91.54% | LR: 1.99e-05 | Time: 423.7s
95
+ Epoch 92/100 | Train: 0.0043/99.87% | Val: 0.4621/91.62% | LR: 1.57e-05 | Time: 424.6s
96
+ Epoch 93/100 | Train: 0.0038/99.92% | Val: 0.4639/91.60% | LR: 1.20e-05 | Time: 424.1s
97
+ Epoch 94/100 | Train: 0.0039/99.91% | Val: 0.4578/91.40% | LR: 8.86e-06 | Time: 424.6s
98
+ Epoch 95/100 | Train: 0.0042/99.90% | Val: 0.4663/91.46% | LR: 6.16e-06 | Time: 425.7s
99
+ Epoch 96/100 | Train: 0.0039/99.89% | Val: 0.4600/91.44% | LR: 3.94e-06 | Time: 422.5s
100
+ Epoch 97/100 | Train: 0.0042/99.88% | Val: 0.4623/91.62% | LR: 2.22e-06 | Time: 423.3s
101
+ Epoch 98/100 | Train: 0.0040/99.90% | Val: 0.4649/91.54% | LR: 9.87e-07 | Time: 423.9s
102
+ Epoch 99/100 | Train: 0.0043/99.90% | Val: 0.4625/91.60% | LR: 2.47e-07 | Time: 422.6s
103
+ Epoch 100/100 | Train: 0.0039/99.89% | Val: 0.4649/91.52% | LR: 0.00e+00 | Time: 423.9s
wandb/run-20250717_042842-06r19hoq/files/requirements.txt ADDED
@@ -0,0 +1,119 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ aiofiles==24.1.0
2
+ alembic==1.16.2
3
+ altair==5.5.0
4
+ annotated-types==0.7.0
5
+ anyio==4.9.0
6
+ attrs==25.3.0
7
+ audioop-lts==0.2.1
8
+ blinker==1.9.0
9
+ Bottleneck==1.4.2
10
+ Brotli==1.1.0
11
+ cachetools==6.1.0
12
+ certifi==2025.6.15
13
+ charset-normalizer==3.4.2
14
+ click==8.2.1
15
+ cloudpickle==3.1.1
16
+ colorama==0.4.6
17
+ colorlog==6.9.0
18
+ contourpy==1.3.1
19
+ cycler==0.11.0
20
+ fastapi==0.116.1
21
+ ffmpy==0.6.0
22
+ filelock==3.18.0
23
+ fonttools==4.55.3
24
+ fsspec==2025.5.1
25
+ gitdb==4.0.12
26
+ GitPython==3.1.44
27
+ gradio==5.37.0
28
+ gradio_client==1.10.4
29
+ greenlet==3.2.3
30
+ groovy==0.1.2
31
+ h11==0.16.0
32
+ httpcore==1.0.9
33
+ httpx==0.28.1
34
+ huggingface-hub==0.33.4
35
+ idna==3.10
36
+ imbalanced-learn==0.13.0
37
+ imblearn==0.0
38
+ Jinja2==3.1.6
39
+ joblib==1.4.2
40
+ jsonschema==4.24.0
41
+ jsonschema-specifications==2025.4.1
42
+ kiwisolver==1.4.8
43
+ llvmlite==0.44.0
44
+ Mako==1.3.10
45
+ markdown-it-py==3.0.0
46
+ MarkupSafe==3.0.2
47
+ matplotlib==3.9.2
48
+ mdurl==0.1.2
49
+ mpmath==1.3.0
50
+ narwhals==1.44.0
51
+ networkx==3.5
52
+ numba==0.61.2
53
+ numexpr==2.10.2
54
+ numpy==2.1.1
55
+ optuna==4.4.0
56
+ orjson==3.11.0
57
+ packaging==24.2
58
+ pandas==2.2.3
59
+ pillow==11.1.0
60
+ pip==25.1
61
+ platformdirs==4.3.8
62
+ plotly==6.2.0
63
+ protobuf==6.31.1
64
+ pyarrow==20.0.0
65
+ pydantic==2.11.7
66
+ pydantic_core==2.33.2
67
+ pydeck==0.9.1
68
+ pydub==0.25.1
69
+ Pygments==2.19.2
70
+ pyparsing==3.2.0
71
+ PyQt6==6.7.1
72
+ PyQt6_sip==13.9.1
73
+ python-dateutil==2.9.0.post0
74
+ python-multipart==0.0.20
75
+ pytz==2024.1
76
+ PyYAML==6.0.2
77
+ referencing==0.36.2
78
+ requests==2.32.4
79
+ rich==14.0.0
80
+ rpds-py==0.26.0
81
+ ruff==0.12.3
82
+ safehttpx==0.1.6
83
+ scikit-learn==1.5.2
84
+ scipy==1.15.2
85
+ seaborn==0.13.2
86
+ semantic-version==2.10.0
87
+ sentry-sdk==2.33.0
88
+ setuptools==78.1.1
89
+ shap==0.48.0
90
+ shellingham==1.5.4
91
+ sip==6.10.0
92
+ six==1.17.0
93
+ sklearn-compat==0.1.3
94
+ slicer==0.0.8
95
+ smmap==5.0.2
96
+ sniffio==1.3.1
97
+ SQLAlchemy==2.0.41
98
+ starlette==0.47.1
99
+ streamlit==1.46.1
100
+ sympy==1.14.0
101
+ tenacity==9.1.2
102
+ threadpoolctl==3.5.0
103
+ toml==0.10.2
104
+ tomlkit==0.13.3
105
+ torch==2.7.1
106
+ torchvision==0.22.1
107
+ tornado==6.5.1
108
+ tqdm==4.67.1
109
+ typer==0.16.0
110
+ typing_extensions==4.14.0
111
+ typing-inspection==0.4.1
112
+ tzdata==2025.2
113
+ urllib3==2.5.0
114
+ uvicorn==0.35.0
115
+ wandb==0.21.0
116
+ watchdog==6.0.0
117
+ websockets==15.0.1
118
+ wheel==0.45.1
119
+ xgboost==3.0.2
wandb/run-20250717_042842-06r19hoq/files/wandb-metadata.json ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "os": "Windows-11-10.0.26100-SP0",
3
+ "python": "CPython 3.13.5",
4
+ "startedAt": "2025-07-16T22:58:42.840536Z",
5
+ "program": "C:\\Users\\Legion\\desktop\\cnn_benchmark\\main.py",
6
+ "codePath": "main.py",
7
+ "codePathLocal": "main.py",
8
+ "git": {
9
+ "remote": "https://github.com/shreshthkapai/cnn_benchmark.git"
10
+ },
11
+ "email": "shreshthkapai@gmail.com",
12
+ "root": "C:\\Users\\Legion\\desktop\\cnn_benchmark",
13
+ "host": "DESKTOP-EIHJJJL",
14
+ "executable": "C:\\Users\\Legion\\Miniconda3\\envs\\ML\\python.exe",
15
+ "cpu_count": 4,
16
+ "cpu_count_logical": 8,
17
+ "gpu": "NVIDIA GeForce GTX 1650",
18
+ "gpu_count": 1,
19
+ "disk": {
20
+ "/": {
21
+ "total": "255230791680",
22
+ "used": "157923209216"
23
+ }
24
+ },
25
+ "memory": {
26
+ "total": "8506298368"
27
+ },
28
+ "gpu_nvidia": [
29
+ {
30
+ "name": "NVIDIA GeForce GTX 1650",
31
+ "memoryTotal": "4294967296",
32
+ "cudaCores": 1024,
33
+ "architecture": "Turing",
34
+ "uuid": "GPU-fbcd7647-fb67-66f5-b8c7-1a4198b7e4fa"
35
+ }
36
+ ],
37
+ "cudaVersion": "12.7",
38
+ "writerId": "wwsyhap7oz1qssew84oaomf0lpswl335"
39
+ }
wandb/run-20250717_042842-06r19hoq/files/wandb-summary.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"gradients/features.6.1.weight":{"bins":[-0.00012134049029555172,-0.00011810981231974438,-0.00011487914161989465,-0.00011164846364408731,-0.00010841779294423759,-0.00010518711496843025,-0.00010195643699262291,-9.872576629277319e-05,-9.549509559292346e-05,-9.226441761711612e-05,-8.903373964130878e-05,-8.580306894145906e-05,-8.257239096565172e-05,-7.934171298984438e-05,-7.611104228999466e-05,-7.288037159014493e-05,-6.96496936143376e-05,-6.641901563853025e-05,-6.318834493868053e-05,-5.995766696287319e-05,-5.6726996263023466e-05,-5.349631828721613e-05,-5.02656475873664e-05,-4.703496961155906e-05,-4.3804291635751724e-05,-4.0573620935902e-05,-3.734294296009466e-05,-3.4112272260244936e-05,-3.08815942844376e-05,-2.7650923584587872e-05,-2.4420245608780533e-05,-2.1189574908930808e-05,-1.7958904209081084e-05,-1.4728226233273745e-05,-1.149755553342402e-05,-8.266877557616681e-06,-5.036206857766956e-06,-1.8055288819596171e-06,1.4251418178901076e-06,4.655819793697447e-06,7.886490493547171e-06,1.111716846935451e-05,1.434784644516185e-05,1.7578517145011574e-05,2.0809195120818913e-05,2.4039865820668638e-05,2.7270543796475977e-05,3.050121813430451e-05,3.373189247213304e-05,3.696256680996157e-05,4.0193241147790104e-05,4.3423915485618636e-05,4.665458982344717e-05,4.988526779925451e-05,5.311594213708304e-05,5.634661647491157e-05,5.95772908127401e-05,6.280796515056863e-05,6.603864312637597e-05,6.92693138262257e-05,7.249999180203304e-05,7.573066250188276e-05,7.89613404776901e-05,8.219201117753983e-05,8.542268915334716e-05],"_type":"histogram","values":[1,0,0,0,0,0,0,0,0,3,0,2,1,0,1,2,5,1,2,0,1,5,4,2,1,2,5,7,11,10,10,13,13,22,30,41,51,71,43,27,28,22,19,10,13,5,8,4,3,2,1,2,2,1,2,0,0,0,2,0,0,0,0,1]},"gradients/features.2.1.weight":{"bins":[-0.0003866649931296706,-0.00037578039336949587,-0.0003648957936093211,-0.00035401119384914637,-0.0003431265940889716,-0.00033224199432879686,-0.0003213573945686221,-0.00031047279480844736,-0.0002995881950482726,-0.00028870359528809786,-0.0002778189955279231,-0.00026693439576774836,-0.0002560497960075736,-0.00024516519624739885,-0.00023428058193530887,-0.00022339598217513412,-0.00021251138241495937,-0.00020162678265478462,-0.00019074218289460987,-0.00017985758313443512,-0.00016897298337426037,-0.00015808838361408561,-0.00014720378385391086,-0.00013631916954182088,-0.00012543456978164613,-0.00011454997002147138,-0.00010366537026129663,-9.278077050112188e-05,-8.189617074094713e-05,-7.101157098077238e-05,-6.0126971220597625e-05,-4.9242371460422873e-05,-3.835777170024812e-05,-2.747317194007337e-05,-1.658857217989862e-05,-5.703972419723868e-06,5.180627340450883e-06,1.6065227100625634e-05,2.6949826860800385e-05,3.783442662097514e-05,4.871902638114989e-05,5.960362614132464e-05,7.048824045341462e-05,8.137284021358937e-05,9.225743997376412e-05,0.00010314203973393887,0.00011402663949411362,0.00012491123925428838,0.00013579583901446313,0.00014668043877463788,0.00015756503853481263,0.00016844963829498738,0.00017933423805516213,0.0001902188523672521,0.00020110345212742686,0.00021198805188760161,0.00022287265164777637,0.00023375725140795112,0.00024464185116812587,0.0002555264509283006,0.00026641105068847537,0.0002772956504486501,0.0002881802502088249,0.0002990648499689996,0.0003099494497291744],"_type":"histogram","values":[1,1,0,1,0,0,0,0,1,1,0,0,2,1,1,2,1,1,4,0,1,1,3,1,2,3,2,1,5,3,4,2,6,3,4,3,5,6,3,5,5,4,6,1,4,3,4,2,0,3,1,0,1,2,4,2,1,1,1,1,1,0,0,1]},"train_loss":0.0038645507194236084,"gradients/features.2.0.weight":{"bins":[-0.00019630610768217593,-0.0001908844569697976,-0.00018546282080933452,-0.0001800411700969562,-0.00017461951938457787,-0.00016919788322411478,-0.00016377623251173645,-0.00015835458179935813,-0.00015293294563889503,-0.0001475112949265167,-0.0001420896442141384,-0.0001366680080536753,-0.00013124635734129697,-0.00012582470662891865,-0.00012040306319249794,-0.00011498141248011962,-0.00010955976904369891,-0.0001041381256072782,-9.871647489489987e-05,-9.329483145847917e-05,-8.787318074610084e-05,-8.245153730968013e-05,-7.702989387325943e-05,-7.16082431608811e-05,-6.618660700041801e-05,-6.0764956288039684e-05,-5.534330557566136e-05,-4.992165486328304e-05,-4.4500018702819943e-05,-3.907836799044162e-05,-3.36567172780633e-05,-2.8235081117600203e-05,-2.281343040522188e-05,-1.7391779692843556e-05,-1.1970143532380462e-05,-6.548492820002139e-06,-1.1268421076238155e-06,4.294794052839279e-06,9.716444765217602e-06,1.5138095477595925e-05,2.055974618997425e-05,2.5981382350437343e-05,3.1403033062815666e-05,3.6824676499236375e-05,4.2246319935657084e-05,4.766797064803541e-05,5.3089614084456116e-05,5.851126479683444e-05,6.393290823325515e-05,6.935455166967586e-05,7.477620238205418e-05,8.019784581847489e-05,8.561949653085321e-05,9.104113996727392e-05,9.646278340369463e-05,0.00010188443411607295,0.00010730607755249366,0.00011272772098891437,0.0001181493717012927,0.00012357102241367102,0.0001289926585741341,0.00013441430928651243,0.00013983595999889076,0.00014525759615935385,0.00015067924687173218],"_type":"histogram","values":[1,1,1,0,0,0,0,0,1,1,0,1,1,3,1,1,4,7,13,11,16,45,37,73,120,166,270,415,618,1020,1645,2549,3786,5640,7693,10119,10763,9010,6417,4470,3063,2033,1273,813,569,377,227,151,100,59,45,20,21,17,7,11,6,5,3,3,1,1,1,3]},"gradients/features.5.1.weight":{"values":[1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,2,2,2,4,2,3,8,6,10,9,24,23,23,25,16,18,16,15,10,8,8,4,5,2,1,1,1,0,0,1,0,0,0,1],"bins":[-0.001368228578940034,-0.0013363080797716975,-0.0013043875806033611,-0.0012724670814350247,-0.0012405465822666883,-0.0012086259666830301,-0.0011767054675146937,-0.0011447849683463573,-0.001112864469178021,-0.0010809439700096846,-0.0010490234708413482,-0.0010171029716730118,-0.0009851823560893536,-0.0009532619151286781,-0.0009213413577526808,-0.0008894208585843444,-0.000857500359416008,-0.0008255798602476716,-0.0007936593610793352,-0.0007617388037033379,-0.0007298183045350015,-0.0006978978053666651,-0.0006659772479906678,-0.0006340567488223314,-0.000602136249653995,-0.0005702157504856586,-0.0005382952513173223,-0.000506374693941325,-0.00047445419477298856,-0.00044253369560465217,-0.00041061313822865486,-0.00037869263906031847,-0.00034677202347666025,-0.00031485152430832386,-0.00028293102513998747,-0.00025101046776399016,-0.00021908996859565377,-0.00018716946942731738,-0.00015524891205132008,-0.00012332841288298368,-9.140791371464729e-05,-5.94874145463109e-05,-2.756691537797451e-05,4.353641998022795e-06,3.6274141166359186e-05,6.819464033469558e-05,0.00010011519771069288,0.00013203569687902927,0.00016395619604736567,0.00019587669521570206,0.0002277972234878689,0.00025971775176003575,0.00029163825092837214,0.00032355875009670854,0.0003554792783688754,0.00038739980664104223,0.0004193203058093786,0.000451240804977715,0.00048316133324988186,0.0005150818615220487,0.0005470023606903851,0.0005789228598587215,0.0006108434172347188,0.0006427639164030552,0.0006746844155713916],"_type":"histogram"},"_wandb":{"runtime":44212},"gradients/features.1.0.weight":{"_type":"histogram","values":[2,1,0,3,3,5,3,8,2,5,14,9,18,22,38,50,53,76,99,122,212,386,613,1173,1942,3564,6643,8857,5516,3081,1682,968,599,371,228,134,95,60,49,30,25,22,19,9,7,9,5,4,6,1,4,1,1,4,1,1,2,0,2,2,0,0,2,1],"bins":[-0.000299539853585884,-0.0002886366273742169,-0.0002777333720587194,-0.00026683014584705234,-0.0002559268905315548,-0.00024502366431988776,-0.00023412042355630547,-0.00022321718279272318,-0.0002123139420291409,-0.0002014107012655586,-0.0001905074605019763,-0.00017960421973839402,-0.00016870099352672696,-0.00015779775276314467,-0.00014689451199956238,-0.0001359912712359801,-0.0001250880304723978,-0.00011418478970881552,-0.00010328154894523323,-9.237830818165094e-05,-8.147506741806865e-05,-7.057184120640159e-05,-5.96686004428193e-05,-4.876535967923701e-05,-3.786213346756995e-05,-2.695887815207243e-05,-1.605565194040537e-05,-5.152396624907851e-06,5.75082958675921e-06,1.6654084902256727e-05,2.7557311113923788e-05,3.8460566429421306e-05,4.936382174491882e-05,6.0267047956585884e-05,7.11703032720834e-05,8.207352948375046e-05,9.297678479924798e-05,0.00010388001101091504,0.00011478326632641256,0.00012568649253807962,0.00013658974785357714,0.0001474929740652442,0.0001583962148288265,0.00016929945559240878,0.00018020268180407584,0.00019110592256765813,0.00020200916333124042,0.0002129124040948227,0.000223815644858405,0.00023471888562198728,0.00024562212638556957,0.00025652535259723663,0.00026742860791273415,0.0002783318341244012,0.00028923508943989873,0.0003001383156515658,0.00031104154186323285,0.00032194479717873037,0.0003328480524942279,0.00034375127870589495,0.000354654504917562,0.0003655577602330595,0.0003764609864447266,0.0003873642417602241,0.00039826746797189116]},"_timestamp":1.7527509391561499e+09,"gradients/classifier.bias":{"bins":[-0.0003410030039958656,-0.0003314291825518012,-0.0003218553902115673,-0.0003122815687675029,-0.000302707776427269,-0.0002931339549832046,-0.0002835601335391402,-0.00027398631209507585,-0.0002644125197548419,-0.000254838727414608,-0.0002452649059705436,-0.00023569108452647924,-0.0002261172776343301,-0.00021654347074218094,-0.00020696964929811656,-0.00019739584240596741,-0.00018782203551381826,-0.00017824822862166911,-0.00016867442172951996,-0.00015910060028545558,-0.00014952679339330643,-0.00013995298650115728,-0.0001303791650570929,-0.00012080535816494375,-0.0001112315512727946,-0.00010165774438064545,-9.20839374884963e-05,-8.251011604443192e-05,-7.293629460036755e-05,-6.336250226013362e-05,-5.3788680816069245e-05,-4.421488847583532e-05,-3.464103792794049e-05,-2.506721648387611e-05,-1.5493424143642187e-05,-5.919602699577808e-06,3.6541896406561136e-06,1.3228011084720492e-05,2.280183252878487e-05,3.237563942093402e-05,4.194944631308317e-05,5.152325320523232e-05,6.109706009738147e-05,7.067088154144585e-05,8.0244688433595e-05,8.981849532574415e-05,9.939231676980853e-05,0.00010896612366195768,0.00011853993055410683,0.00012811373744625598,0.00013768754433840513,0.0001472613657824695,0.00015683517267461866,0.0001664089795667678,0.0001759828010108322,0.00018555660790298134,0.0001951304147951305,0.00020470422168727964,0.0002142780285794288,0.00022385185002349317,0.00023342565691564232,0.00024299946380779147,0.00025257328525185585,0.00026214707759208977,0.00027172089903615415],"_type":"histogram","values":[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]},"gradients/classifier.weight":{"_type":"histogram","values":[1,1,0,0,3,4,0,2,4,5,2,2,1,4,2,10,8,7,12,12,11,12,10,12,9,24,25,23,21,26,29,37,40,45,352,3467,311,131,68,68,56,48,25,33,26,15,13,12,13,18,9,6,5,5,5,6,2,5,4,4,2,1,1,5],"bins":[-0.0005277020391076803,-0.0005128609482198954,-0.0004980197991244495,-0.0004831786791328341,-0.00046833755914121866,-0.0004534964682534337,-0.0004386553482618183,-0.0004238142282702029,-0.00040897310827858746,-0.00039413198828697205,-0.00037929086829535663,-0.0003644497483037412,-0.00034960865741595626,-0.0003347675083205104,-0.00031992641743272543,-0.00030508529744111,-0.0002902441774494946,-0.0002754030574578792,-0.00026056193746626377,-0.00024572081747464836,-0.00023087969748303294,-0.00021603860659524798,-0.00020119748660363257,-0.00018635636661201715,-0.00017151524662040174,-0.00015667412662878633,-0.0001418330066371709,-0.0001269918866455555,-0.00011215079575777054,-9.730967576615512e-05,-8.246855577453971e-05,-6.76274357829243e-05,-5.2786344895139337e-05,-3.794522490352392e-05,-2.3104104911908507e-05,-8.262984920293093e-06,6.578135071322322e-06,2.141922595910728e-05,3.6260345950722694e-05,5.110146594233811e-05,6.594258593395352e-05,8.078370592556894e-05,9.562482591718435e-05,0.00011046594590879977,0.00012530703679658473,0.00014014815678820014,0.00015498927677981555,0.00016983039677143097,0.00018467151676304638,0.0001995126367546618,0.0002143537567462772,0.0002291948621859774,0.00024403598217759281,0.00025887711672112346,0.0002737182076089084,0.00028855932760052383,0.00030340044759213924,0.00031824156758375466,0.0003330826875753701,0.00034792377846315503,0.0003627649275586009,0.00037760601844638586,0.0003924471384380013,0.0004072882584296167,0.0004221293784212321]},"_runtime":44212,"gradients/features.4.1.weight":{"values":[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,1,0,1,1,1,1,3,2,4,8,3,4,4,10,12,9,11,15,20,16,17,19,16,13,12,10,14,7,2,6,2,1,2,0,2,0,0,0,0,1,1],"bins":[-0.000890533730853349,-0.0008694036514498293,-0.0008482735138386488,-0.0008271434344351292,-0.0008060133550316095,-0.0007848832756280899,-0.0007637531962245703,-0.0007426230586133897,-0.0007214929792098701,-0.0007003628998063505,-0.0006792327621951699,-0.0006581026827916503,-0.0006369726033881307,-0.000615842523984611,-0.0005947124445810914,-0.0005735823069699109,-0.0005524522275663912,-0.0005313221481628716,-0.0005101920105516911,-0.0004890619311481714,-0.0004679318517446518,-0.00044680177234113216,-0.0004256716638337821,-0.000404541555326432,-0.00038341147592291236,-0.00036228139651939273,-0.0003411513171158731,-0.00032002117950469255,-0.0002988911001011729,-0.0002777610206976533,-0.00025663088308647275,-0.00023550080368295312,-0.0002143707824870944,-0.00019324070308357477,-0.00017211062368005514,-0.0001509804860688746,-0.00012985040666535497,-0.00010872032726183534,-8.759018965065479e-05,-6.646011024713516e-05,-4.533003084361553e-05,-2.41999514400959e-05,-3.0698429327458143e-06,1.8060265574604273e-05,3.91903449781239e-05,6.0320424381643534e-05,8.145053288899362e-05,0.00010258064139634371,0.00012371072079986334,0.00014484080020338297,0.00016597090871073306,0.00018710101721808314,0.00020823109662160277,0.00022936119057703763,0.0002504912845324725,0.0002716213930398226,0.0002927514724433422,0.00031388155184686184,0.0003350116603542119,0.000356141768861562,0.00037727184826508164,0.0003984019276686013,0.00041953203617595136,0.00044066214468330145,0.0004617922240868211],"_type":"histogram"},"gradients/features.2.1.bias":{"_type":"histogram","values":[4,1,1,1,0,1,0,0,1,0,0,1,2,2,2,5,0,1,4,2,2,4,0,0,5,5,1,1,4,5,5,4,2,5,2,3,1,4,2,4,2,3,4,7,2,3,2,0,3,0,2,1,2,1,1,2,1,1,1,1,1,0,0,1],"bins":[-0.0002593248209450394,-0.0002514815714675933,-0.00024363833654206246,-0.00023579508706461638,-0.00022795185213908553,-0.00022010860266163945,-0.00021226535318419337,-0.0002044221037067473,-0.00019657886878121644,-0.0001887356338556856,-0.0001808923843782395,-0.00017304913490079343,-0.00016520588542334735,-0.0001573626504978165,-0.00014951940102037042,-0.00014167616609483957,-0.0001338329166173935,-0.00012598966713994741,-0.00011814643221441656,-0.00011030318273697048,-0.00010245994781143963,-9.461669833399355e-05,-8.677344885654747e-05,-7.893021393101662e-05,-7.108696445357054e-05,-6.324371497612447e-05,-5.5400480050593615e-05,-4.7557230573147535e-05,-3.9713981095701456e-05,-3.1870746170170605e-05,-2.4027496692724526e-05,-1.6184261767193675e-05,-8.341026841662824e-06,-4.977773642167449e-07,7.345457561314106e-06,1.5188707038760185e-05,2.3031941964291036e-05,3.0875191441737115e-05,3.8718440919183195e-05,4.6561675844714046e-05,5.4404925322160125e-05,6.22481747996062e-05,7.009140972513705e-05,7.793465920258313e-05,8.577790868002921e-05,9.362114360556006e-05,0.00010146439308300614,0.000109307628008537,0.00011715087748598307,0.00012499411241151392,0.00013283736188896,0.00014068061136640608,0.00014852386084385216,0.000156367095769383,0.0001642103452468291,0.00017205358017235994,0.00017989682964980602,0.0001877400791272521,0.00019558331405278295,0.00020342656353022903,0.00021126979845575988,0.00021911304793320596,0.00022695629741065204,0.0002347995323361829,0.00024264278181362897]},"gradients/features.3.0.weight":{"bins":[-0.00018005735182669014,-0.0001741258311085403,-0.00016819431039039046,-0.00016226278967224061,-0.00015633125440217555,-0.0001503997336840257,-0.00014446821296587586,-0.00013853669224772602,-0.00013260517152957618,-0.00012667365081142634,-0.0001207421300932765,-0.00011481060209916905,-0.0001088790813810192,-0.00010294756066286936,-9.701603266876191e-05,-9.108451195061207e-05,-8.515299123246223e-05,-7.922147051431239e-05,-7.328994979616255e-05,-6.735842180205509e-05,-6.142690108390525e-05,-5.5495373089797795e-05,-4.9563852371647954e-05,-4.363233165349811e-05,-3.770081093534827e-05,-3.176929021719843e-05,-2.583776949904859e-05,-1.990624878089875e-05,-1.397471351083368e-05,-8.04319279268384e-06,-2.111672074533999e-06,3.819848643615842e-06,9.751354809850454e-06,1.5682875528000295e-05,2.1614396246150136e-05,2.7545916964299977e-05,3.347743768244982e-05,3.940897295251489e-05,4.534049367066473e-05,5.127201438881457e-05,5.720353510696441e-05,6.313505582511425e-05,6.906657654326409e-05,7.499809726141393e-05,8.092962525552139e-05,8.686114597367123e-05,9.279267396777868e-05,9.872419468592852e-05,0.00010465571540407836,0.0001105872361222282,0.00011651875684037805,0.00012245029211044312,0.00012838179827667773,0.0001343133335467428,0.00014024485426489264,0.00014617637498304248,0.00015210789570119232,0.00015803941641934216,0.000163970937137492,0.00016990245785564184,0.0001758339931257069,0.00018176551384385675,0.0001876970345620066,0.00019362855528015643,0.00019956007599830627],"_type":"histogram","values":[1,0,0,5,6,2,2,7,6,13,5,10,17,26,34,43,74,79,110,157,212,349,558,892,1536,2620,4855,8582,15436,24974,30006,23527,14683,8160,4292,2368,1352,873,527,325,238,159,92,62,37,40,28,18,10,8,13,5,4,4,1,6,0,2,3,1,0,0,0,1]},"val_loss":0.4649053102917605,"gradients/features.0.1.weight":{"bins":[-0.00025090790586546063,-0.0002410710440017283,-0.00023123416758608073,-0.00022139729117043316,-0.00021156042930670083,-0.0002017235674429685,-0.00019188669102732092,-0.00018204981461167336,-0.00017221295274794102,-0.00016237609088420868,-0.0001525392144685611,-0.00014270233805291355,-0.0001328654761891812,-0.00012302861432544887,-0.0001131917379098013,-0.00010335486149415374,-9.35179996304214e-05,-8.368113776668906e-05,-7.38442613510415e-05,-6.400738493539393e-05,-5.417052307166159e-05,-4.4333661207929254e-05,-3.449678479228169e-05,-2.465990837663412e-05,-1.4823046512901783e-05,-4.986184649169445e-06,4.850677214562893e-06,1.4687568182125688e-05,2.4524430045858026e-05,3.4361291909590364e-05,4.419818287715316e-05,5.4035044740885496e-05,6.387190660461783e-05,7.370876846835017e-05,8.354563033208251e-05,9.33825212996453e-05,0.00010321938316337764,0.00011305624502710998,0.00012289313599467278,0.0001327299978584051,0.00014256685972213745,0.0001524037215858698,0.00016224059800151736,0.00017207747441716492,0.00018191433628089726,0.0001917511981446296,0.00020158807456027716,0.00021142495097592473,0.00022126181283965707,0.0002310986747033894,0.00024093555111903697,0.00025077242753468454,0.0002606092893984169,0.0002704461512621492,0.000280283042229712,0.00029011990409344435,0.0002999567659571767,0.000309793627820909,0.00031963048968464136,0.00032946738065220416,0.0003393042425159365,0.00034914110437966883,0.0003589779953472316,0.00036881485721096396,0.0003786517190746963],"_type":"histogram","values":[2,0,1,0,1,0,0,0,0,2,0,0,0,1,3,2,1,1,2,1,3,2,1,4,1,2,2,2,1,3,4,2,1,2,0,4,2,3,1,0,0,1,0,0,0,2,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,1,1]},"graph_0":{"size":5328,"path":"media/graph/graph_0_summary_132b1dd32ead095f5a49.graph.json","_type":"graph-file","sha256":"132b1dd32ead095f5a491486484e8d543e80f3677cec368aa59efd9a3e4b2ae5"},"val_accuracy":91.52,"gradients/features.4.1.bias":{"values":[1,0,0,1,0,1,1,1,4,3,2,0,0,1,0,2,1,2,3,1,2,4,6,4,2,7,7,4,5,11,8,6,13,9,19,3,13,10,8,9,12,5,8,7,9,1,6,4,10,4,3,2,2,3,1,2,2,0,0,0,0,0,0,1],"bins":[-0.00033162589534185827,-0.00032206712057814,-0.0003125083458144218,-0.0003029495710507035,-0.0002933907962869853,-0.00028383202152326703,-0.00027427327586337924,-0.000264714501099661,-0.00025515572633594275,-0.0002455969515722245,-0.00023603817680850625,-0.000226479402044788,-0.00021692062728106976,-0.0002073618525173515,-0.0001978030923055485,-0.00018824431754183024,-0.000178685542778112,-0.00016912676801439375,-0.0001595679932506755,-0.00015000923303887248,-0.00014045045827515423,-0.00013089168351143599,-0.00012133290874771774,-0.00011177413398399949,-0.00010221535922028124,-9.265659900847822e-05,-8.309780969284475e-05,-7.353906403295696e-05,-6.398028926923871e-05,-5.442151450552046e-05,-4.4862739741802216e-05,-3.530396497808397e-05,-2.574519021436572e-05,-1.6186415450647473e-05,-6.627640686929226e-06,2.9311340767890215e-06,1.2489908840507269e-05,2.2048683604225516e-05,3.160742926411331e-05,4.116621857974678e-05,5.07249787915498e-05,6.028375355526805e-05,6.98425283189863e-05,7.940130308270454e-05,8.896007784642279e-05,9.851885261014104e-05,0.00010807761282194406,0.0001176363875856623,0.00012719516234938055,0.0001367539371130988,0.00014631271187681705,0.00015587147208862007,0.00016543024685233831,0.00017498902161605656,0.0001845477963797748,0.00019410657114349306,0.0002036653459072113,0.00021322412067092955,0.00022278288088273257,0.00023234165564645082,0.00024190043041016906,0.0002514591906219721,0.00026101796538569033,0.0002705767401494086,0.0002801355149131268],"_type":"histogram"},"gradients/features.1.1.bias":{"_type":"histogram","values":[1,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,2,1,0,0,1,4,2,2,2,0,2,0,3,1,1,3,2,3,2,0,1,4,4,3,1,1,4,3,1,1,1,0,0,0,0,0,1,1,0,1,0,0,0,0,1,0,0,1],"bins":[-0.00042795712943188846,-0.00041447137482464314,-0.00040098564932122827,-0.00038749989471398294,-0.00037401416921056807,-0.00036052841460332274,-0.0003470426890999079,-0.00033355693449266255,-0.0003200711798854172,-0.00030658545438200235,-0.0002930997288785875,-0.00027961397427134216,-0.00026612821966409683,-0.00025264249416068196,-0.00023915673955343664,-0.00022567099949810654,-0.00021218525944277644,-0.00019869951938744634,-0.00018521377933211625,-0.00017172802472487092,-0.00015824229922145605,-0.00014475654461421072,-0.00013127081911079586,-0.00011778506450355053,-0.0001042993098963052,-9.081358439289033e-05,-7.732782978564501e-05,-6.384210428223014e-05,-5.035634967498481e-05,-3.6870624171569943e-05,-2.3384869564324617e-05,-9.899144060909748e-06,3.5865814425051212e-06,1.7072336049750447e-05,3.0558061553165317e-05,4.404381616041064e-05,5.752954166382551e-05,7.101529627107084e-05,8.450102177448571e-05,9.798677638173103e-05,0.0001114725018851459,0.00012495825649239123,0.00013844401109963655,0.00015192973660305142,0.00016541549121029675,0.00017890121671371162,0.00019238697132095695,0.00020587271137628704,0.00021935845143161714,0.00023284419148694724,0.00024632993154227734,0.0002598156570456922,0.00027330141165293753,0.00028678716626018286,0.0003002728917635977,0.00031375864637084305,0.0003272444009780884,0.00034073012648150325,0.0003542158519849181,0.00036770160659216344,0.00038118736119940877,0.00039467308670282364,0.00040815884131006896,0.00042164456681348383,0.00043513032142072916]},"gradients/features.5.0.weight":{"values":[1,1,0,2,1,1,1,2,2,1,3,1,1,3,2,10,8,14,12,26,33,48,68,78,93,154,242,386,721,1296,2773,8068,31894,179357,298216,46654,11506,4034,1798,943,511,289,198,106,78,48,32,21,23,15,9,9,5,9,5,6,2,0,0,2,0,0,1,1],"bins":[-0.00023978743411134928,-0.0002327639376744628,-0.00022574045578949153,-0.00021871695935260504,-0.00021169347746763378,-0.0002046699810307473,-0.00019764649914577603,-0.00019062300270888954,-0.00018359950627200305,-0.0001765760243870318,-0.0001695525279501453,-0.00016252903151325881,-0.00015550554962828755,-0.0001484820677433163,-0.00014145855675451458,-0.00013443507486954331,-0.00012741159298457205,-0.00012038809654768556,-0.00011336460011079907,-0.00010634111822582781,-9.931762178894132e-05,-9.229413990397006e-05,-8.527064346708357e-05,-7.824714703019708e-05,-7.122366514522582e-05,-6.420016870833933e-05,-5.717668682336807e-05,-5.015319038648158e-05,-4.3129693949595094e-05,-3.610621206462383e-05,-2.9082715627737343e-05,-2.2059233742766082e-05,-1.5035737305879593e-05,-8.012240868993104e-06,-9.887589840218425e-07,6.034737452864647e-06,1.3058219337835908e-05,2.0081715774722397e-05,2.7105212211608887e-05,3.412869409658015e-05,4.115219053346664e-05,4.81756724184379e-05,5.519916885532439e-05,6.222266529221088e-05,6.924614717718214e-05,7.626964361406863e-05,8.329312549903989e-05,9.031662193592638e-05,9.734011109685525e-05,0.00010436360025778413,0.000111387089418713,0.00011841058585559949,0.00012543407501652837,0.00013245755690149963,0.00013948105333838612,0.0001465045497752726,0.00015352803166024387,0.00016055152809713036,0.00016757502453401685,0.0001745985064189881,0.0001816220028558746,0.00018864548474084586,0.00019566898117773235,0.0002026924630627036,0.0002097159594995901],"_type":"histogram"},"gradients/features.6.0.weight":{"bins":[-2.9313217964954674e-05,-2.8296790333115496e-05,-2.7280362701276317e-05,-2.626393506943714e-05,-2.524750743759796e-05,-2.4231081624748185e-05,-2.3214653992909007e-05,-2.2198226361069828e-05,-2.118179872923065e-05,-2.016537109739147e-05,-1.9148943465552293e-05,-1.8132515833713114e-05,-1.711609002086334e-05,-1.6099660570034757e-05,-1.5083234757184982e-05,-1.4066807125345804e-05,-1.3050379493506625e-05,-1.2033951861667447e-05,-1.1017524229828268e-05,-1.000109659798909e-05,-8.984668966149911e-06,-7.968243153300136e-06,-6.951815521460958e-06,-5.935387889621779e-06,-4.918960257782601e-06,-3.902532625943422e-06,-2.886104994104244e-06,-1.8696773622650653e-06,-8.532515494152904e-07,1.6317608242388815e-07,1.1796037142630666e-06,2.1960331650916487e-06,3.2124626159202307e-06,4.228888428770006e-06,5.245317879598588e-06,6.261745511437766e-06,7.278173143276945e-06,8.29459895612672e-06,9.311026587965898e-06,1.0327454219805077e-05,1.1343881851644255e-05,1.2360309483483434e-05,1.3376737115322612e-05,1.439316474716179e-05,1.5409590560011566e-05,1.6426018191850744e-05,1.7442445823689923e-05,1.84588734555291e-05,1.947530108736828e-05,2.0491728719207458e-05,2.1508156351046637e-05,2.252458216389641e-05,2.3541011614724994e-05,2.455743742757477e-05,2.5573865059413947e-05,2.6590292691253126e-05,2.7606720323092304e-05,2.8623147954931483e-05,2.963957558677066e-05,3.065600321860984e-05,3.1672429031459615e-05,3.26888584822882e-05,3.370528429513797e-05,3.4721713745966554e-05,3.573813955881633e-05],"_type":"histogram","values":[1,1,1,0,0,1,0,3,5,14,8,9,20,31,48,72,105,150,223,388,634,899,1647,2920,5359,10851,26242,92237,626975,320533,57545,17579,7038,3410,1849,1005,620,388,252,153,110,96,58,49,31,23,14,9,9,3,4,5,5,2,3,2,1,2,2,2,0,1,0,1]},"gradients/features.6.1.bias":{"_type":"histogram","values":[1,2,0,0,0,1,2,2,4,2,2,0,2,4,1,8,4,8,9,10,17,18,20,23,30,49,46,65,38,20,25,31,12,12,8,7,6,4,3,1,1,4,2,1,2,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,1],"bins":[-0.00010048459080280736,-9.678940114099532e-05,-9.30942187551409e-05,-8.939902909332886e-05,-8.570383943151683e-05,-8.200864976970479e-05,-7.831346010789275e-05,-7.461827772203833e-05,-7.092308806022629e-05,-6.722789839841425e-05,-6.353271601255983e-05,-5.9837526350747794e-05,-5.614233668893576e-05,-5.244714702712372e-05,-4.875196100329049e-05,-4.505677497945726e-05,-4.136158531764522e-05,-3.7666395655833185e-05,-3.397120599402115e-05,-3.0276023608166724e-05,-2.6580833946354687e-05,-2.288564428454265e-05,-1.9190461898688227e-05,-1.549527223687619e-05,-1.1800082575064152e-05,-8.104892913252115e-06,-4.409703251440078e-06,-7.14520865585655e-07,2.9806687962263823e-06,6.6758584580384195e-06,1.0371040843892843e-05,1.406623050570488e-05,1.776142744347453e-05,2.145661710528657e-05,2.5151806767098606e-05,2.884698915295303e-05,3.2542178814765066e-05,3.62373684765771e-05,3.9932550862431526e-05,4.3627740524243563e-05,4.73229301860556e-05,5.101811984786764e-05,5.4713309509679675e-05,5.84084918955341e-05,6.210368155734614e-05,6.579887121915817e-05,6.94940536050126e-05,7.318924326682463e-05,7.688443292863667e-05,8.057962259044871e-05,8.427481225226074e-05,8.796999463811517e-05,9.16651842999272e-05,9.536037396173924e-05,9.905555634759367e-05,0.0001027507460094057,0.00010644593567121774,0.00011014112533302978,0.00011383631499484181,0.00011753149738069624,0.00012122668704250827,0.0001249218767043203,0.00012861705909017473,0.00013231225602794439,0.0001360074384137988]},"gradients/features.3.1.weight":{"_type":"histogram","values":[1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,3,1,6,6,1,4,2,6,6,13,7,10,11,6,10,7,3,3,6,1,1,2,2,1,1,1,1,0,0,0,0,0,0,0,0,1],"bins":[-0.0012648776173591614,-0.0012320521054789424,-0.0011992265935987234,-0.0011664011981338263,-0.0011335756862536073,-0.0011007501743733883,-0.0010679246624931693,-0.0010350991506129503,-0.0010022737551480532,-0.0009694482432678342,-0.0009366227313876152,-0.0009037972195073962,-0.0008709717076271772,-0.0008381462539546192,-0.0008053207420744002,-0.0007724952884018421,-0.0007396697765216231,-0.0007068442646414042,-0.0006740188109688461,-0.0006411932990886271,-0.000608367845416069,-0.00057554233353585,-0.0005427168216556311,-0.000509891367983073,-0.000477065856102854,-0.00044424034422263503,-0.00041141489055007696,-0.000378589378669858,-0.000345763866789639,-0.0003129384131170809,-0.00028011295944452286,-0.0002472874475643039,-0.0002144619938917458,-0.00018163648201152682,-0.00014881097013130784,-0.00011598551645874977,-8.31600627861917e-05,-5.033455090597272e-05,-1.7509039025753736e-05,1.5316414646804333e-05,4.8141926527023315e-05,8.09674384072423e-05,0.00011379289207980037,0.00014661840396001935,0.00017944391584023833,0.0002122693695127964,0.0002450948813930154,0.00027792033506557345,0.00031074584694579244,0.0003435713588260114,0.0003763968124985695,0.00040922232437878847,0.000442047807155177,0.0004748732899315655,0.0005076988018117845,0.0005405242554843426,0.0005733497673645616,0.0006061752792447805,0.0006390007329173386,0.0006718262447975576,0.0007046516984701157,0.0007374772103503346,0.0007703027222305536,0.0008031281759031117,0.0008359536877833307]},"confusion_matrix":{"width":800,"height":600,"_type":"image-file","sha256":"286cbb15cd888998e571751c981b694d39860cf07637920c1603b1b46a0b0111","size":50334,"path":"media/images/confusion_matrix_99_286cbb15cd888998e571.png","format":"png"},"gradients/features.4.0.weight":{"values":[1,0,0,0,1,1,0,0,0,1,1,2,3,1,0,3,4,3,5,8,4,7,12,7,8,17,32,32,63,67,88,138,222,327,573,851,1535,3176,6907,15964,36978,73844,76836,42265,18721,8191,3756,1851,1012,539,320,187,127,84,45,37,28,9,6,5,3,2,0,2],"bins":[-0.00023091555340215564,-0.00022542706574313343,-0.00021993856353219599,-0.00021445007587317377,-0.00020896157366223633,-0.00020347308600321412,-0.00019798458379227668,-0.00019249609613325447,-0.00018700759392231703,-0.00018151910626329482,-0.00017603060405235738,-0.00017054211639333516,-0.00016505361418239772,-0.0001595651265233755,-0.0001540766388643533,-0.00014858813665341586,-0.00014309963444247842,-0.0001376111467834562,-0.000132122659124434,-0.00012663415691349655,-0.00012114566197851673,-0.0001156571670435369,-0.00011016867210855708,-0.00010468017717357725,-9.919168951455504e-05,-9.37031873036176e-05,-8.821469964459538e-05,-8.272619743365794e-05,-7.723770977463573e-05,-7.174920756369829e-05,-6.626071990467608e-05,-6.077221769373864e-05,-5.528372275875881e-05,-4.97952350997366e-05,-4.430673288879916e-05,-3.881824522977695e-05,-3.332974301883951e-05,-2.7841255359817296e-05,-2.2352753148879856e-05,-1.6864265489857644e-05,-1.1375763278920203e-05,-5.887275619897991e-06,-3.987806849181652e-07,5.089714250061661e-06,1.0578209185041487e-05,1.6066704120021313e-05,2.155519905500114e-05,2.7043693989980966e-05,3.253218892496079e-05,3.802068385994062e-05,4.3509178794920444e-05,4.899767372990027e-05,5.44861686648801e-05,5.9974659961881116e-05,6.546315853483975e-05,7.095164619386196e-05,7.64401484047994e-05,8.192863606382161e-05,8.741713827475905e-05,9.290562593378127e-05,9.839412086876109e-05,0.00010388261580374092,0.00010937111073872074,0.00011485960567370057,0.0001203481006086804],"_type":"histogram"},"learning_rate":0,"gradients/features.3.1.bias":{"_type":"histogram","values":[1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,1,0,2,1,0,0,1,1,2,2,2,4,1,1,3,3,1,5,5,6,9,8,11,5,4,7,4,5,3,5,2,3,3,4,2,2,1,1,0,0,1,1,0,1,1,0,1],"bins":[-0.0006729177548550069,-0.0006556921871379018,-0.0006384666776284575,-0.0006212411099113524,-0.0006040156004019082,-0.000586790032684803,-0.0005695645231753588,-0.0005523389554582536,-0.0005351134459488094,-0.0005178878782317042,-0.00050066236872226,-0.00048343680100515485,-0.00046621126239188015,-0.00044898572377860546,-0.00043176018516533077,-0.0004145346465520561,-0.0003973091079387814,-0.0003800835693255067,-0.000362858030712232,-0.0003456324920989573,-0.0003284069534856826,-0.0003111814148724079,-0.0002939558762591332,-0.0002767303376458585,-0.0002595047699287534,-0.00024227923131547868,-0.000225053692702204,-0.0002078281540889293,-0.0001906026154756546,-0.00017337710596621037,-0.00015615153824910522,-0.00013892602873966098,-0.00012170043191872537,-0.00010447486420162022,-8.724935469217598e-05,-7.002378697507083e-05,-5.27982774656266e-05,-3.5572738852351904e-05,-1.834720023907721e-05,-1.121661625802517e-06,1.6103876987472177e-05,3.332944470457733e-05,5.055498331785202e-05,6.778052193112671e-05,8.500606054440141e-05,0.0001022315991576761,0.0001194571377709508,0.0001366826763842255,0.00015390821499750018,0.00017113375361077487,0.00018835929222404957,0.00020558483083732426,0.00022281036945059896,0.00024003592261578888,0.00025726144667714834,0.0002744870143942535,0.00029171252390369773,0.0003089380916208029,0.0003261636011302471,0.00034338916884735227,0.00036061470746062696,0.00037784024607390165,0.00039506578468717635,0.00041229132330045104,0.00042951686191372573]},"epoch":99,"gradients/features.5.1.bias":{"values":[1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,3,1,0,5,1,1,2,4,4,5,6,7,12,19,19,16,24,13,16,11,14,15,13,7,8,3,7,4,4,0,1,0,1,2,0,1,0,1,0,0,1],"bins":[-0.0006338987150229514,-0.0006178463809192181,-0.0006017939886078238,-0.0005857416545040905,-0.0005696892621926963,-0.000553636928088963,-0.0005375845357775688,-0.0005215322016738355,-0.0005054798675701022,-0.000489427475258708,-0.00047337511205114424,-0.0004573227488435805,-0.0004412704147398472,-0.00042521802242845297,-0.00040916568832471967,-0.0003931133251171559,-0.00037706096190959215,-0.0003610085987020284,-0.00034495623549446464,-0.0003289038722869009,-0.0003128515090793371,-0.0002967991749756038,-0.00028074681176804006,-0.0002646944485604763,-0.00024864208535291255,-0.0002325897221453488,-0.00021653735893778503,-0.00020048499573022127,-0.00018443266162648797,-0.0001683802984189242,-0.00015232793521136045,-0.00013627554289996624,-0.00012022317969240248,-0.00010417084558866918,-8.811845327727497e-05,-7.206609006971121e-05,-5.601372686214745e-05,-3.996139275841415e-05,-2.390902955085039e-05,-7.856666343286633e-06,8.195696864277124e-06,2.4248060071840882e-05,4.030042327940464e-05,5.63527864869684e-05,7.24051205907017e-05,8.845748379826546e-05,0.00010450984700582922,0.00012056221021339297,0.00013661457342095673,0.0001526669366285205,0.00016871929983608425,0.00018477164849173278,0.00020082401169929653,0.0002168763749068603,0.00023292872356250882,0.0002489810867700726,0.00026503344997763634,0.0002810858131852001,0.00029713817639276385,0.00031319051049649715,0.00032924290280789137,0.00034529523691162467,0.00036134760011918843,0.0003773999633267522,0.00039345232653431594],"_type":"histogram"},"gradients/features.0.1.bias":{"values":[3,0,0,1,1,0,2,0,0,1,1,0,2,1,5,3,1,0,1,1,1,2,4,0,0,0,2,6,0,4,1,2,2,2,0,3,0,3,2,1,0,0,1,0,2,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,1],"bins":[-0.0003152161370962858,-0.00030380921089090407,-0.0002924023137893528,-0.000280995387583971,-0.00026958849048241973,-0.000258181564277038,-0.00024677463807165623,-0.0002353677264181897,-0.00022396081476472318,-0.00021255390311125666,-0.00020114699145779014,-0.00018974006525240839,-0.00017833315359894186,-0.00016692624194547534,-0.0001555193157400936,-0.00014411240408662707,-0.00013270549243316054,-0.00012129858077969402,-0.0001098916691262275,-9.848474292084575e-05,-8.707783126737922e-05,-7.56709196139127e-05,-6.426399340853095e-05,-5.2857096306979656e-05,-4.1450170101597905e-05,-3.0043243896216154e-05,-1.863634679466486e-05,-7.229420589283109e-06,4.177505616098642e-06,1.5584402717649937e-05,2.6991328923031688e-05,3.839822602458298e-05,4.980515222996473e-05,6.121207843534648e-05,7.261897553689778e-05,8.402590174227953e-05,9.543279884383082e-05,0.00010683972504921257,0.00011824665125459433,0.00012965354835614562,0.00014106047456152737,0.00015246740076690912,0.00016387429786846042,0.00017528122407384217,0.0001866881357273087,0.0001980950473807752,0.00020950197358615696,0.0002209088852396235,0.00023231579689309,0.00024372270854655653,0.00025512962020002306,0.0002665365464054048,0.0002779434435069561,0.00028935036971233785,0.0003007572959177196,0.0003121641930192709,0.00032357111922465265,0.0003349780454300344,0.0003463849425315857,0.00035779186873696744,0.0003691987949423492,0.0003806056920439005,0.00039201261824928224,0.00040341951535083354,0.0004148264415562153],"_type":"histogram"},"gradients/features.1.1.weight":{"bins":[-0.0005635304260067642,-0.000548947136849165,-0.0005343638476915658,-0.0005197805585339665,-0.0005051973275840282,-0.000490614038426429,-0.0004760307492688298,-0.0004614474601112306,-0.0004468641709536314,-0.0004322808817960322,-0.00041769762174226344,-0.0004031143325846642,-0.00038853107253089547,-0.00037394778337329626,-0.00035936449421569705,-0.00034478120505809784,-0.00033019791590049863,-0.0003156146558467299,-0.00030103136668913066,-0.00028644807753153145,-0.0002718648174777627,-0.0002572815283201635,-0.00024269823916256428,-0.00022811495000496507,-0.0002135316899511963,-0.0001989484007935971,-0.0001843651116359979,-0.00016978185158222914,-0.00015519856242462993,-0.00014061527326703072,-0.0001260319841094315,-0.00011144872405566275,-9.686543489806354e-05,-8.228214574046433e-05,-6.769888568669558e-05,-5.3115596529096365e-05,-3.8532307371497154e-05,-2.3949018213897943e-05,-9.36575816012919e-06,5.217530997470021e-06,1.9800820155069232e-05,3.4384080208837986e-05,4.89673693664372e-05,6.355065852403641e-05,7.813394768163562e-05,9.271720773540437e-05,0.00010730049689300358,0.0001218837860506028,0.00013646706065628678,0.00015105033526197076,0.00016563362441956997,0.00018021689902525395,0.00019480018818285316,0.00020938346278853714,0.00022396675194613636,0.00023855002655182034,0.0002531333011575043,0.00026771659031510353,0.00028229987947270274,0.00029688316863030195,0.0003114664286840707,0.0003260497178416699,0.00034063300699926913,0.0003552162670530379,0.0003697995562106371],"_type":"histogram","values":[1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,1,2,1,2,1,0,0,4,0,0,2,3,1,4,6,1,4,2,3,1,2,4,4,1,2,2,1,1,0,3,0,0,0,0,0,1,0,1,0,0,1]},"gradients/features.0.0.weight":{"_type":"histogram","values":[3,0,0,1,6,1,5,4,10,3,10,10,4,14,21,33,44,62,58,126,148,169,257,198,107,111,72,53,40,20,18,11,10,16,6,7,7,6,1,2,2,5,3,2,3,2,4,7,4,4,1,3,2,2,2,4,0,0,1,2,0,0,0,1],"bins":[-0.002316992962732911,-0.0022141828667372465,-0.0021113725379109383,-0.0020085624419152737,-0.001905752345919609,-0.0018029421335086226,-0.0017001319210976362,-0.0015973218251019716,-0.0014945116126909852,-0.0013917014002799988,-0.0012888913042843342,-0.0011860810918733478,-0.0010832708794623613,-0.0009804607834666967,-0.0008776505710557103,-0.0007748404750600457,-0.0006720302626490593,-0.0005692200502380729,-0.0004664099542424083,-0.00036359974183142185,-0.00026078964583575726,-0.000157979317009449,-5.516922101378441e-05,4.764087498188019e-05,0.00015045120380818844,0.00025326129980385303,0.00035607139579951763,0.00045888149179518223,0.0005616918206214905,0.0006645019166171551,0.0007673120126128197,0.0008701223414391279,0.0009729322046041489,0.0010757423005998135,0.0011785526294261217,0.0012813627254217863,0.001384172821417451,0.0014869831502437592,0.0015897932462394238,0.0016926033422350883,0.001795413438230753,0.0018982237670570612,0.002001033863052726,0.0021038439590483904,0.0022066542878746986,0.0023094643838703632,0.002412274479866028,0.0025150845758616924,0.0026178949046880007,0.002720705233514309,0.0028235153295099735,0.002926325425505638,0.0030291355215013027,0.0031319456174969673,0.0032347559463232756,0.00333756604231894,0.0034403763711452484,0.003543186467140913,0.0036459965631365776,0.003748806659132242,0.0038516169879585505,0.003954427316784859,0.004057237412780523,0.004160047508776188,0.0042628576047718525]},"train_accuracy":99.89111111111112,"_step":99}
wandb/run-20250717_042842-06r19hoq/logs/debug-internal.log ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {"time":"2025-07-17T04:28:43.5700375+05:30","level":"INFO","msg":"stream: starting","core version":"0.21.0"}
2
+ {"time":"2025-07-17T04:28:44.547036+05:30","level":"INFO","msg":"stream: created new stream","id":"06r19hoq"}
3
+ {"time":"2025-07-17T04:28:44.547036+05:30","level":"INFO","msg":"stream: started","id":"06r19hoq"}
4
+ {"time":"2025-07-17T04:28:44.547036+05:30","level":"INFO","msg":"writer: Do: started","stream_id":"06r19hoq"}
5
+ {"time":"2025-07-17T04:28:44.547036+05:30","level":"INFO","msg":"sender: started","stream_id":"06r19hoq"}
6
+ {"time":"2025-07-17T04:28:44.547036+05:30","level":"INFO","msg":"handler: started","stream_id":"06r19hoq"}
7
+ {"time":"2025-07-17T16:45:40.2467305+05:30","level":"INFO","msg":"handler: operation stats","stats":{"operations":[{"desc":"uploading media\\images\\confusion_matrix_99_286cbb15cd888998e571.png","runtime_seconds":0.7144137,"progress":"49.2KB/49.2KB"},{"desc":"uploading output.log","runtime_seconds":0.6502599,"progress":"8.8KB/8.8KB"},{"desc":"uploading wandb-summary.json","runtime_seconds":0.6502599,"progress":"39.2KB/39.2KB"},{"desc":"uploading config.yaml","runtime_seconds":0.1927655,"progress":"2.3KB/2.3KB"}],"total_operations":4}}
8
+ {"time":"2025-07-17T16:45:40.719187+05:30","level":"INFO","msg":"fileTransfer: Close: file transfer manager closed"}
9
+ {"time":"2025-07-17T16:45:41.4630104+05:30","level":"INFO","msg":"stream: closing","id":"06r19hoq"}
10
+ {"time":"2025-07-17T16:45:41.4630104+05:30","level":"INFO","msg":"handler: closed","stream_id":"06r19hoq"}
11
+ {"time":"2025-07-17T16:45:41.4630104+05:30","level":"INFO","msg":"sender: closed","stream_id":"06r19hoq"}
12
+ {"time":"2025-07-17T16:45:41.4630104+05:30","level":"INFO","msg":"writer: Close: closed","stream_id":"06r19hoq"}
13
+ {"time":"2025-07-17T16:45:41.463665+05:30","level":"INFO","msg":"stream: closed","id":"06r19hoq"}
wandb/run-20250717_042842-06r19hoq/logs/debug.log ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 2025-07-17 04:28:42,848 INFO MainThread:17604 [wandb_setup.py:_flush():80] Current SDK version is 0.21.0
2
+ 2025-07-17 04:28:42,848 INFO MainThread:17604 [wandb_setup.py:_flush():80] Configure stats pid to 17604
3
+ 2025-07-17 04:28:42,848 INFO MainThread:17604 [wandb_setup.py:_flush():80] Loading settings from C:\Users\Legion\.config\wandb\settings
4
+ 2025-07-17 04:28:42,848 INFO MainThread:17604 [wandb_setup.py:_flush():80] Loading settings from C:\Users\Legion\desktop\cnn_benchmark\wandb\settings
5
+ 2025-07-17 04:28:42,848 INFO MainThread:17604 [wandb_setup.py:_flush():80] Loading settings from environment variables
6
+ 2025-07-17 04:28:42,849 INFO MainThread:17604 [wandb_init.py:setup_run_log_directory():703] Logging user logs to C:\Users\Legion\desktop\cnn_benchmark\wandb\run-20250717_042842-06r19hoq\logs\debug.log
7
+ 2025-07-17 04:28:42,849 INFO MainThread:17604 [wandb_init.py:setup_run_log_directory():704] Logging internal logs to C:\Users\Legion\desktop\cnn_benchmark\wandb\run-20250717_042842-06r19hoq\logs\debug-internal.log
8
+ 2025-07-17 04:28:42,849 INFO MainThread:17604 [wandb_init.py:init():830] calling init triggers
9
+ 2025-07-17 04:28:42,849 INFO MainThread:17604 [wandb_init.py:init():835] wandb.init called with sweep_config: {}
10
+ config: {'epochs': 100, 'device': 'cpu', 'optimizer': 'AdamW', 'scheduler': 'CosineAnnealingLR', 'learning_rate': 0.001, 'model_name': 'CustomCNN', 'total_params': 2332106, 'trainable_params': 2332106, 'model_size_mb': 8.896278381347656, 'architecture': 'CustomCNN', '_wandb': {}}
11
+ 2025-07-17 04:28:42,849 INFO MainThread:17604 [wandb_init.py:init():871] starting backend
12
+ 2025-07-17 04:28:43,505 INFO MainThread:17604 [wandb_init.py:init():874] sending inform_init request
13
+ 2025-07-17 04:28:43,556 INFO MainThread:17604 [wandb_init.py:init():882] backend started and connected
14
+ 2025-07-17 04:28:43,558 INFO MainThread:17604 [wandb_init.py:init():953] updated telemetry
15
+ 2025-07-17 04:28:43,561 INFO MainThread:17604 [wandb_init.py:init():977] communicating run to backend with 90.0 second timeout
16
+ 2025-07-17 04:28:46,581 INFO MainThread:17604 [wandb_init.py:init():1029] starting run threads in backend
17
+ 2025-07-17 04:28:46,881 INFO MainThread:17604 [wandb_run.py:_console_start():2458] atexit reg
18
+ 2025-07-17 04:28:46,881 INFO MainThread:17604 [wandb_run.py:_redirect():2306] redirect: wrap_raw
19
+ 2025-07-17 04:28:46,881 INFO MainThread:17604 [wandb_run.py:_redirect():2375] Wrapping output streams.
20
+ 2025-07-17 04:28:46,882 INFO MainThread:17604 [wandb_run.py:_redirect():2398] Redirects installed.
21
+ 2025-07-17 04:28:46,887 INFO MainThread:17604 [wandb_init.py:init():1075] run started, returning control to user process
22
+ 2025-07-17 04:28:46,887 INFO MainThread:17604 [wandb_watch.py:_watch():70] Watching
23
+ 2025-07-17 16:45:39,164 INFO MainThread:17604 [wandb_run.py:_finish():2224] finishing run shreshth/cifar10-benchmark/06r19hoq
24
+ 2025-07-17 16:45:39,181 INFO MainThread:17604 [wandb_run.py:_atexit_cleanup():2423] got exitcode: 0
25
+ 2025-07-17 16:45:39,186 INFO MainThread:17604 [wandb_run.py:_restore():2405] restore
26
+ 2025-07-17 16:45:39,188 INFO MainThread:17604 [wandb_run.py:_restore():2411] restore done
27
+ 2025-07-17 16:45:41,429 INFO MainThread:17604 [wandb_run.py:_footer_history_summary_info():3903] rendering history
28
+ 2025-07-17 16:45:41,435 INFO MainThread:17604 [wandb_run.py:_footer_history_summary_info():3935] rendering summary
29
+ 2025-07-17 16:45:41,452 INFO MainThread:17604 [wandb_run.py:_footer_sync_info():3864] logging synced files
wandb/run-20250717_042842-06r19hoq/run-06r19hoq.wandb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ba5b7c8ee54540523828562deb92d52504c5f9022981e3cf84a23dd93aa746b0
3
+ size 10024574
wandb/run-20250718_001150-vs4r5xs7/files/config.yaml ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ _wandb:
2
+ value:
3
+ cli_version: 0.21.0
4
+ e:
5
+ 36xelqch4cpi22y83rf7wmufzk5hqs4j:
6
+ codePath: main.py
7
+ codePathLocal: main.py
8
+ cpu_count: 4
9
+ cpu_count_logical: 8
10
+ cudaVersion: "12.7"
11
+ disk:
12
+ /:
13
+ total: "255230791680"
14
+ used: "172211818496"
15
+ email: shreshthkapai@gmail.com
16
+ executable: C:\Users\Legion\Miniconda3\envs\ML\python.exe
17
+ git:
18
+ remote: https://github.com/shreshthkapai/cnn_benchmark.git
19
+ gpu: NVIDIA GeForce GTX 1650
20
+ gpu_count: 1
21
+ gpu_nvidia:
22
+ - architecture: Turing
23
+ cudaCores: 1024
24
+ memoryTotal: "4294967296"
25
+ name: NVIDIA GeForce GTX 1650
26
+ uuid: GPU-fbcd7647-fb67-66f5-b8c7-1a4198b7e4fa
27
+ host: DESKTOP-EIHJJJL
28
+ memory:
29
+ total: "8506298368"
30
+ os: Windows-11-10.0.26100-SP0
31
+ program: C:\Users\Legion\desktop\cnn_benchmark\main.py
32
+ python: CPython 3.13.5
33
+ root: C:\Users\Legion\desktop\cnn_benchmark
34
+ startedAt: "2025-07-17T18:41:50.027313Z"
35
+ writerId: 36xelqch4cpi22y83rf7wmufzk5hqs4j
36
+ m: []
37
+ python_version: 3.13.5
38
+ t:
39
+ "1":
40
+ - 1
41
+ - 5
42
+ - 41
43
+ - 53
44
+ - 105
45
+ "2":
46
+ - 1
47
+ - 5
48
+ - 41
49
+ - 53
50
+ - 105
51
+ "3":
52
+ - 1
53
+ - 2
54
+ - 13
55
+ - 16
56
+ - 61
57
+ - 62
58
+ "4": 3.13.5
59
+ "5": 0.21.0
60
+ "8":
61
+ - 3
62
+ "12": 0.21.0
63
+ "13": windows-amd64
64
+ architecture:
65
+ value: CustomCNN
66
+ device:
67
+ value: cuda
68
+ epochs:
69
+ value: 50
70
+ learning_rate:
71
+ value: 0.001
72
+ model_name:
73
+ value: CustomCNN
74
+ model_size_mb:
75
+ value: 8.896278381347656
76
+ optimizer:
77
+ value: AdamW
78
+ scheduler:
79
+ value: CosineAnnealingLR
80
+ total_params:
81
+ value: 2332106
82
+ trainable_params:
83
+ value: 2332106
wandb/run-20250718_001150-vs4r5xs7/files/media/graph/graph_0_summary_b97b6de7596295411b65.graph.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"format": "torch", "nodes": [{"name": "features.0.0", "id": 1884714809200, "class_name": "Conv2d(3, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)", "parameters": [["weight", [64, 3, 3, 3]]], "output_shape": [[128, 64, 32, 32]], "num_parameters": [1728]}, {"name": "features.0.1", "id": 1884714809536, "class_name": "BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)", "parameters": [["weight", [64]], ["bias", [64]]], "output_shape": [[128, 64, 32, 32]], "num_parameters": [64, 64]}, {"name": "features.0.2", "id": 1884714809872, "class_name": "ReLU(inplace=True)", "parameters": [], "output_shape": [[128, 64, 32, 32]], "num_parameters": []}, {"name": "features.1.0", "id": 1884714858320, "class_name": "Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)", "parameters": [["weight", [64, 64, 3, 3]]], "output_shape": [[128, 64, 32, 32]], "num_parameters": [36864]}, {"name": "features.1.1", "id": 1884714858640, "class_name": "BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)", "parameters": [["weight", [64]], ["bias", [64]]], "output_shape": [[128, 64, 32, 32]], "num_parameters": [64, 64]}, {"name": "features.1.2", "id": 1884714858960, "class_name": "ReLU(inplace=True)", "parameters": [], "output_shape": [[128, 64, 32, 32]], "num_parameters": []}, {"name": "features.2.0", "id": 1884714859600, "class_name": "Conv2d(64, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)", "parameters": [["weight", [128, 64, 3, 3]]], "output_shape": [[128, 128, 16, 16]], "num_parameters": [73728]}, {"name": "features.2.1", "id": 1884714859920, "class_name": "BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)", "parameters": [["weight", [128]], ["bias", [128]]], "output_shape": [[128, 128, 16, 16]], "num_parameters": [128, 128]}, {"name": "features.2.2", "id": 1884714860240, "class_name": "ReLU(inplace=True)", "parameters": [], "output_shape": [[128, 128, 16, 16]], "num_parameters": []}, {"name": "features.3.0", "id": 1884716138896, "class_name": "Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)", "parameters": [["weight", [128, 128, 3, 3]]], "output_shape": [[128, 128, 16, 16]], "num_parameters": [147456]}, {"name": "features.3.1", "id": 1884715801808, "class_name": "BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)", "parameters": [["weight", [128]], ["bias", [128]]], "output_shape": [[128, 128, 16, 16]], "num_parameters": [128, 128]}, {"name": "features.3.2", "id": 1884715802112, "class_name": "ReLU(inplace=True)", "parameters": [], "output_shape": [[128, 128, 16, 16]], "num_parameters": []}, {"name": "features.4.0", "id": 1884716139216, "class_name": "Conv2d(128, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)", "parameters": [["weight", [256, 128, 3, 3]]], "output_shape": [[128, 256, 8, 8]], "num_parameters": [294912]}, {"name": "features.4.1", "id": 1884715802720, "class_name": "BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)", "parameters": [["weight", [256]], ["bias", [256]]], "output_shape": [[128, 256, 8, 8]], "num_parameters": [256, 256]}, {"name": "features.4.2", "id": 1884715803024, "class_name": "ReLU(inplace=True)", "parameters": [], "output_shape": [[128, 256, 8, 8]], "num_parameters": []}, {"name": "features.5.0", "id": 1884716139536, "class_name": "Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)", "parameters": [["weight", [256, 256, 3, 3]]], "output_shape": [[128, 256, 8, 8]], "num_parameters": [589824]}, {"name": "features.5.1", "id": 1884714597648, "class_name": "BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)", "parameters": [["weight", [256]], ["bias", [256]]], "output_shape": [[128, 256, 8, 8]], "num_parameters": [256, 256]}, {"name": "features.5.2", "id": 1884714597936, "class_name": "ReLU(inplace=True)", "parameters": [], "output_shape": [[128, 256, 8, 8]], "num_parameters": []}, {"name": "features.6.0", "id": 1884716139856, "class_name": "Conv2d(256, 512, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)", "parameters": [["weight", [512, 256, 3, 3]]], "output_shape": [[128, 512, 4, 4]], "num_parameters": [1179648]}, {"name": "features.6.1", "id": 1884714874224, "class_name": "BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)", "parameters": [["weight", [512]], ["bias", [512]]], "output_shape": [[128, 512, 4, 4]], "num_parameters": [512, 512]}, {"name": "features.6.2", "id": 1884714874496, "class_name": "ReLU(inplace=True)", "parameters": [], "output_shape": [[128, 512, 4, 4]], "num_parameters": []}, {"name": "avgpool", "id": 1884714810544, "class_name": "AdaptiveAvgPool2d(output_size=(1, 1))", "parameters": [], "output_shape": [[128, 512, 1, 1]], "num_parameters": []}, {"name": "dropout", "id": 1884714810880, "class_name": "Dropout(p=0.4, inplace=False)", "parameters": [], "output_shape": [[128, 512]], "num_parameters": []}, {"name": "classifier", "id": 1884732784720, "class_name": "Linear(in_features=512, out_features=10, bias=True)", "parameters": [["weight", [10, 512]], ["bias", [10]]], "output_shape": [[128, 10]], "num_parameters": [5120, 10]}], "edges": []}
wandb/run-20250718_001150-vs4r5xs7/files/media/images/confusion_matrix_19_f2088a1d95b30d655a10.png ADDED
wandb/run-20250718_001150-vs4r5xs7/files/media/images/confusion_matrix_39_c51878a573e7397c245b.png ADDED
wandb/run-20250718_001150-vs4r5xs7/files/output.log ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ wandb: logging graph, to disable use `wandb.watch(log_graph=False)`
2
+ 🚀 Training CustomCNN on cuda for 50 epochs...
3
+ ------------------------------------------------------------
4
+ Epoch 1/50 | Train: 1.4377/46.60% | Val: 1.3395/53.40% | LR: 9.99e-04 | Time: 254.5s
5
+ Epoch 2/50 | Train: 1.0022/63.95% | Val: 0.8815/68.20% | LR: 9.96e-04 | Time: 133.9s
6
+ Epoch 3/50 | Train: 0.8269/70.64% | Val: 0.7499/73.38% | LR: 9.91e-04 | Time: 65.1s
7
+ Epoch 4/50 | Train: 0.7065/75.32% | Val: 0.7545/73.74% | LR: 9.84e-04 | Time: 72.0s
8
+ Epoch 5/50 | Train: 0.6231/78.44% | Val: 0.8905/73.22% | LR: 9.76e-04 | Time: 28.7s
9
+ Epoch 6/50 | Train: 0.5634/80.57% | Val: 0.5721/80.42% | LR: 9.65e-04 | Time: 30.6s
10
+ Epoch 7/50 | Train: 0.5146/82.15% | Val: 0.5392/81.46% | LR: 9.52e-04 | Time: 30.5s
11
+ Epoch 8/50 | Train: 0.4782/83.44% | Val: 0.5748/79.96% | LR: 9.38e-04 | Time: 30.1s
12
+ Epoch 9/50 | Train: 0.4418/84.86% | Val: 0.5654/81.44% | LR: 9.22e-04 | Time: 31.2s
13
+ Epoch 10/50 | Train: 0.4094/85.76% | Val: 0.5252/83.16% | LR: 9.05e-04 | Time: 30.5s
14
+ Epoch 11/50 | Train: 0.3839/86.78% | Val: 0.4837/83.48% | LR: 8.85e-04 | Time: 30.8s
15
+ Epoch 12/50 | Train: 0.3596/87.53% | Val: 0.4123/85.56% | LR: 8.64e-04 | Time: 30.3s
16
+ Epoch 13/50 | Train: 0.3343/88.44% | Val: 0.4390/85.12% | LR: 8.42e-04 | Time: 29.8s
17
+ Epoch 14/50 | Train: 0.3136/89.23% | Val: 0.3795/86.96% | LR: 8.19e-04 | Time: 30.4s
18
+ Epoch 15/50 | Train: 0.2931/89.91% | Val: 0.4262/86.18% | LR: 7.94e-04 | Time: 29.3s
19
+ Epoch 16/50 | Train: 0.2774/90.26% | Val: 0.3854/86.94% | LR: 7.68e-04 | Time: 29.0s
20
+ Epoch 17/50 | Train: 0.2579/91.06% | Val: 0.3839/87.62% | LR: 7.41e-04 | Time: 29.6s
21
+ Epoch 18/50 | Train: 0.2427/91.53% | Val: 0.3406/88.50% | LR: 7.13e-04 | Time: 29.5s
22
+ Epoch 19/50 | Train: 0.2298/92.06% | Val: 0.3633/88.86% | LR: 6.84e-04 | Time: 29.5s
23
+ Epoch 20/50 | Train: 0.2122/92.56% | Val: 0.3388/89.00% | LR: 6.55e-04 | Time: 33.0s
24
+ Epoch 21/50 | Train: 0.1964/93.12% | Val: 0.3935/87.56% | LR: 6.24e-04 | Time: 28.9s
25
+ Epoch 22/50 | Train: 0.1834/93.61% | Val: 0.3369/89.00% | LR: 5.94e-04 | Time: 28.9s
26
+ Epoch 23/50 | Train: 0.1725/94.03% | Val: 0.3968/87.30% | LR: 5.63e-04 | Time: 28.9s
27
+ Epoch 24/50 | Train: 0.1626/94.27% | Val: 0.3287/89.74% | LR: 5.31e-04 | Time: 30.1s
28
+ Epoch 25/50 | Train: 0.1530/94.62% | Val: 0.3462/89.54% | LR: 5.00e-04 | Time: 131.4s
29
+ Epoch 26/50 | Train: 0.1341/95.20% | Val: 0.3402/89.96% | LR: 4.69e-04 | Time: 68.9s
30
+ Epoch 27/50 | Train: 0.1269/95.59% | Val: 0.3460/89.26% | LR: 4.37e-04 | Time: 28.9s
31
+ Epoch 28/50 | Train: 0.1181/95.88% | Val: 0.3417/90.22% | LR: 4.06e-04 | Time: 29.4s
32
+ Epoch 29/50 | Train: 0.1057/96.22% | Val: 0.3538/89.76% | LR: 3.76e-04 | Time: 29.0s
33
+ Epoch 30/50 | Train: 0.0985/96.49% | Val: 0.3729/89.46% | LR: 3.45e-04 | Time: 29.1s
34
+ Epoch 31/50 | Train: 0.0934/96.76% | Val: 0.3492/90.12% | LR: 3.16e-04 | Time: 29.1s
35
+ Epoch 32/50 | Train: 0.0831/97.13% | Val: 0.3630/89.92% | LR: 2.87e-04 | Time: 29.2s
36
+ Epoch 33/50 | Train: 0.0751/97.44% | Val: 0.3596/90.32% | LR: 2.59e-04 | Time: 29.4s
37
+ Epoch 34/50 | Train: 0.0700/97.58% | Val: 0.3494/90.66% | LR: 2.32e-04 | Time: 29.5s
38
+ Epoch 35/50 | Train: 0.0650/97.77% | Val: 0.3769/90.80% | LR: 2.06e-04 | Time: 29.6s
39
+ Epoch 36/50 | Train: 0.0591/97.97% | Val: 0.3650/90.48% | LR: 1.81e-04 | Time: 29.0s
40
+ Epoch 37/50 | Train: 0.0547/98.15% | Val: 0.3599/90.78% | LR: 1.58e-04 | Time: 29.1s
41
+ Epoch 38/50 | Train: 0.0494/98.31% | Val: 0.3569/90.76% | LR: 1.36e-04 | Time: 29.4s
42
+ Epoch 39/50 | Train: 0.0451/98.48% | Val: 0.3625/91.14% | LR: 1.15e-04 | Time: 30.5s
43
+ Epoch 40/50 | Train: 0.0408/98.72% | Val: 0.3622/91.06% | LR: 9.55e-05 | Time: 32.6s
44
+ Epoch 41/50 | Train: 0.0385/98.74% | Val: 0.3755/90.80% | LR: 7.78e-05 | Time: 30.0s
45
+ Epoch 42/50 | Train: 0.0364/98.85% | Val: 0.3603/90.98% | LR: 6.18e-05 | Time: 29.2s
46
+ Epoch 43/50 | Train: 0.0349/98.92% | Val: 0.3659/91.10% | LR: 4.76e-05 | Time: 28.8s
47
+ Epoch 44/50 | Train: 0.0326/98.98% | Val: 0.3597/91.18% | LR: 3.51e-05 | Time: 29.0s
48
+ Epoch 45/50 | Train: 0.0322/99.00% | Val: 0.3619/91.16% | LR: 2.45e-05 | Time: 28.4s
49
+ Epoch 46/50 | Train: 0.0306/99.04% | Val: 0.3592/91.16% | LR: 1.57e-05 | Time: 28.7s
50
+ Epoch 47/50 | Train: 0.0300/99.13% | Val: 0.3618/91.20% | LR: 8.86e-06 | Time: 29.0s
51
+ Epoch 48/50 | Train: 0.0292/99.13% | Val: 0.3569/91.26% | LR: 3.94e-06 | Time: 29.0s
52
+ Epoch 49/50 | Train: 0.0290/99.14% | Val: 0.3627/91.28% | LR: 9.87e-07 | Time: 29.0s
53
+ Epoch 50/50 | Train: 0.0286/99.10% | Val: 0.3608/91.26% | LR: 0.00e+00 | Time: 28.5s
wandb/run-20250718_001150-vs4r5xs7/files/requirements.txt ADDED
@@ -0,0 +1,120 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ aiofiles==24.1.0
2
+ alembic==1.16.2
3
+ altair==5.5.0
4
+ annotated-types==0.7.0
5
+ anyio==4.9.0
6
+ attrs==25.3.0
7
+ audioop-lts==0.2.1
8
+ blinker==1.9.0
9
+ Bottleneck==1.4.2
10
+ Brotli==1.1.0
11
+ cachetools==6.1.0
12
+ certifi==2025.6.15
13
+ charset-normalizer==3.4.2
14
+ click==8.2.1
15
+ cloudpickle==3.1.1
16
+ colorama==0.4.6
17
+ colorlog==6.9.0
18
+ contourpy==1.3.1
19
+ cycler==0.11.0
20
+ fastapi==0.116.1
21
+ ffmpy==0.6.0
22
+ filelock==3.18.0
23
+ fonttools==4.55.3
24
+ fsspec==2025.5.1
25
+ gitdb==4.0.12
26
+ GitPython==3.1.44
27
+ gradio==5.37.0
28
+ gradio_client==1.10.4
29
+ greenlet==3.2.3
30
+ groovy==0.1.2
31
+ h11==0.16.0
32
+ httpcore==1.0.9
33
+ httpx==0.28.1
34
+ huggingface-hub==0.33.4
35
+ idna==3.10
36
+ imbalanced-learn==0.13.0
37
+ imblearn==0.0
38
+ Jinja2==3.1.6
39
+ joblib==1.4.2
40
+ jsonschema==4.24.0
41
+ jsonschema-specifications==2025.4.1
42
+ kiwisolver==1.4.8
43
+ llvmlite==0.44.0
44
+ Mako==1.3.10
45
+ markdown-it-py==3.0.0
46
+ MarkupSafe==3.0.2
47
+ matplotlib==3.9.2
48
+ mdurl==0.1.2
49
+ mpmath==1.3.0
50
+ narwhals==1.44.0
51
+ networkx==3.5
52
+ numba==0.61.2
53
+ numexpr==2.10.2
54
+ numpy==2.1.1
55
+ optuna==4.4.0
56
+ orjson==3.11.0
57
+ packaging==24.2
58
+ pandas==2.2.3
59
+ pillow==11.1.0
60
+ pip==25.1
61
+ platformdirs==4.3.8
62
+ plotly==6.2.0
63
+ protobuf==6.31.1
64
+ pyarrow==20.0.0
65
+ pydantic==2.11.7
66
+ pydantic_core==2.33.2
67
+ pydeck==0.9.1
68
+ pydub==0.25.1
69
+ Pygments==2.19.2
70
+ pyparsing==3.2.0
71
+ PyQt6==6.7.1
72
+ PyQt6_sip==13.9.1
73
+ python-dateutil==2.9.0.post0
74
+ python-multipart==0.0.20
75
+ pytz==2024.1
76
+ PyYAML==6.0.2
77
+ referencing==0.36.2
78
+ requests==2.32.4
79
+ rich==14.0.0
80
+ rpds-py==0.26.0
81
+ ruff==0.12.3
82
+ safehttpx==0.1.6
83
+ scikit-learn==1.5.2
84
+ scipy==1.15.2
85
+ seaborn==0.13.2
86
+ semantic-version==2.10.0
87
+ sentry-sdk==2.33.0
88
+ setuptools==78.1.1
89
+ shap==0.48.0
90
+ shellingham==1.5.4
91
+ sip==6.10.0
92
+ six==1.17.0
93
+ sklearn-compat==0.1.3
94
+ slicer==0.0.8
95
+ smmap==5.0.2
96
+ sniffio==1.3.1
97
+ SQLAlchemy==2.0.41
98
+ starlette==0.47.1
99
+ streamlit==1.46.1
100
+ sympy==1.14.0
101
+ tenacity==9.1.2
102
+ threadpoolctl==3.5.0
103
+ toml==0.10.2
104
+ tomlkit==0.13.3
105
+ torch==2.7.1+cu118
106
+ torchaudio==2.7.1+cu118
107
+ torchvision==0.22.1
108
+ tornado==6.5.1
109
+ tqdm==4.67.1
110
+ typer==0.16.0
111
+ typing_extensions==4.14.0
112
+ typing-inspection==0.4.1
113
+ tzdata==2025.2
114
+ urllib3==2.5.0
115
+ uvicorn==0.35.0
116
+ wandb==0.21.0
117
+ watchdog==6.0.0
118
+ websockets==15.0.1
119
+ wheel==0.45.1
120
+ xgboost==3.0.2
wandb/run-20250718_001150-vs4r5xs7/files/wandb-metadata.json ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "os": "Windows-11-10.0.26100-SP0",
3
+ "python": "CPython 3.13.5",
4
+ "startedAt": "2025-07-17T18:41:50.027313Z",
5
+ "program": "C:\\Users\\Legion\\desktop\\cnn_benchmark\\main.py",
6
+ "codePath": "main.py",
7
+ "codePathLocal": "main.py",
8
+ "git": {
9
+ "remote": "https://github.com/shreshthkapai/cnn_benchmark.git"
10
+ },
11
+ "email": "shreshthkapai@gmail.com",
12
+ "root": "C:\\Users\\Legion\\desktop\\cnn_benchmark",
13
+ "host": "DESKTOP-EIHJJJL",
14
+ "executable": "C:\\Users\\Legion\\Miniconda3\\envs\\ML\\python.exe",
15
+ "cpu_count": 4,
16
+ "cpu_count_logical": 8,
17
+ "gpu": "NVIDIA GeForce GTX 1650",
18
+ "gpu_count": 1,
19
+ "disk": {
20
+ "/": {
21
+ "total": "255230791680",
22
+ "used": "172211818496"
23
+ }
24
+ },
25
+ "memory": {
26
+ "total": "8506298368"
27
+ },
28
+ "gpu_nvidia": [
29
+ {
30
+ "name": "NVIDIA GeForce GTX 1650",
31
+ "memoryTotal": "4294967296",
32
+ "cudaCores": 1024,
33
+ "architecture": "Turing",
34
+ "uuid": "GPU-fbcd7647-fb67-66f5-b8c7-1a4198b7e4fa"
35
+ }
36
+ ],
37
+ "cudaVersion": "12.7",
38
+ "writerId": "36xelqch4cpi22y83rf7wmufzk5hqs4j"
39
+ }
wandb/run-20250718_001150-vs4r5xs7/files/wandb-summary.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"gradients/features.5.0.weight":{"bins":[-0.006347639486193657,-0.006137831136584282,-0.005928023252636194,-0.005718214903026819,-0.0055084070190787315,-0.0052985986694693565,-0.005088790785521269,-0.004878982435911894,-0.004669174551963806,-0.004459366202354431,-0.004249557852745056,-0.0040397499687969685,-0.003829941852018237,-0.0036201337352395058,-0.0034103256184607744,-0.003200517501682043,-0.0029907093849033117,-0.0027809012681245804,-0.002571093151345849,-0.0023612850345671177,-0.0021514766849577427,-0.001941668801009655,-0.00173186045140028,-0.0015220525674521923,-0.0013122442178428173,-0.0011024363338947296,-0.0008926279842853546,-0.0006828201003372669,-0.0004730117507278919,-0.00026320386677980423,-5.339551717042923e-05,0.00015641236677765846,0.00036622071638703346,0.0005760290659964085,0.0007858369499444962,0.0009956452995538712,0.0012054531835019588,0.0014152615331113338,0.0016250694170594215,0.0018348777666687965,0.0020446856506168842,0.0022544940002262592,0.002464301884174347,0.002674110233783722,0.0028839181177318096,0.0030937264673411846,0.003303534584119916,0.0035133427008986473,0.0037231508176773787,0.00393295893445611,0.004142766818404198,0.004352575168013573,0.004562383517622948,0.004772191401571035,0.004981999285519123,0.005191807635128498,0.005401615984737873,0.005611423868685961,0.005821232218295336,0.0060310401022434235,0.0062408484518527985,0.006450656335800886,0.006660464685410261,0.006870272569358349,0.007080080918967724],"_type":"histogram","values":[2,0,1,0,2,0,2,3,19,19,12,35,46,39,80,98,123,192,257,359,558,842,1368,2332,3926,7154,12965,25537,54572,132414,181220,84355,38042,18476,9804,5601,3353,1978,1287,860,565,408,275,173,149,97,62,46,31,23,22,13,3,7,3,2,5,3,0,2,1,0,0,1]},"gradients/features.3.1.bias":{"values":[1,0,0,1,0,0,2,2,0,1,1,1,2,2,2,4,5,3,5,7,5,7,7,3,6,3,3,3,3,3,4,5,1,4,4,4,3,6,1,2,2,2,0,1,0,0,0,2,0,2,0,0,0,1,0,1,0,0,0,0,0,0,0,1],"bins":[-0.017735803499817848,-0.017063302919268608,-0.01639080047607422,-0.01571829989552498,-0.015045799314975739,-0.014373297803103924,-0.013700796291232109,-0.013028295710682869,-0.012355794198811054,-0.01168329268693924,-0.01101079210639,-0.010338290594518185,-0.00966578908264637,-0.00899328850209713,-0.008320786990225315,-0.007648286409676075,-0.00697578489780426,-0.0063032833859324455,-0.005630782805383205,-0.004958281293511391,-0.004285780712962151,-0.003613279201090336,-0.002940777689218521,-0.002268277108669281,-0.0015957746654748917,-0.0009232740849256516,-0.00025077350437641144,0.0004217270761728287,0.001094229519367218,0.0017667300999164581,0.0024392306804656982,0.0031117331236600876,0.003784235566854477,0.004456736147403717,0.005129238590598106,0.0058017391711473465,0.006474239751696587,0.007146742194890976,0.007819242775440216,0.008491743355989456,0.009164243936538696,0.009836746379733086,0.010509246960282326,0.01118174847215414,0.011854249984025955,0.012526750564575195,0.01319925207644701,0.01387175265699625,0.014544254168868065,0.01521675568073988,0.015889257192611694,0.016561757773160934,0.017234258353710175,0.017906758934259415,0.018579261377453804,0.019251761958003044,0.019924264401197433,0.020596764981746674,0.021269265562295914,0.021941766142845154,0.022614268586039543,0.023286769166588783,0.023959269747138023,0.024631772190332413,0.025304272770881653],"_type":"histogram"},"gradients/features.6.1.weight":{"values":[2,0,2,0,0,0,0,2,2,1,2,2,1,1,5,0,7,1,3,9,7,7,16,18,16,13,17,19,27,41,60,54,34,16,25,15,12,6,6,6,11,3,6,5,5,3,5,3,1,2,2,2,2,0,1,0,0,1,1,0,1,1,1,1],"bins":[-0.004191229119896889,-0.004054636228829622,-0.003918043337762356,-0.003781449981033802,-0.0036448570899665356,-0.003508264198899269,-0.003371671075001359,-0.003235077951103449,-0.0030984850600361824,-0.002961892168968916,-0.002825299045071006,-0.0026887059211730957,-0.0025521130301058292,-0.0024155201390385628,-0.0022789270151406527,-0.0021423338912427425,-0.002005741000175476,-0.0018691481091082096,-0.0017325549852102995,-0.0015959618613123894,-0.001459368970245123,-0.0013227760791778564,-0.0011861829552799463,-0.0010495898313820362,-0.0009129969403147697,-0.0007764040492475033,-0.0006398109253495932,-0.000503217801451683,-0.0003666249103844166,-0.00023003201931715012,-9.343866258859634e-05,4.315422847867012e-05,0.00017974711954593658,0.00031634001061320305,0.0004529329016804695,0.0005895262584090233,0.0007261191494762897,0.0008627120405435562,0.0009993051644414663,0.0011358982883393764,0.001272491179406643,0.0014090840704739094,0.0015456771943718195,0.0016822703182697296,0.001818863209336996,0.0019554561004042625,0.0020920492243021727,0.0022286423482000828,0.0023652352392673492,0.0025018281303346157,0.002638421254232526,0.002775014378130436,0.0029116072691977024,0.003048200160264969,0.003184793284162879,0.003321386408060789,0.0034579792991280556,0.003594572190195322,0.003731165314093232,0.0038677584379911423,0.004004351329058409,0.004140944220125675,0.004277537576854229,0.0044141304679214954,0.004550723358988762],"_type":"histogram"},"gradients/features.1.0.weight":{"_type":"histogram","values":[3,1,6,9,8,6,4,7,17,19,19,19,39,36,45,63,84,114,144,206,257,370,501,736,1018,1510,2145,3042,4260,5175,4731,3665,2664,1786,1159,860,563,388,261,195,156,124,78,75,51,42,37,34,19,19,13,16,8,13,9,7,5,3,6,4,1,1,6,2],"bins":[-0.015092653222382069,-0.014586612582206726,-0.014080571942031384,-0.013574531301856041,-0.013068491593003273,-0.012562450021505356,-0.012056410312652588,-0.011550369672477245,-0.011044329032301903,-0.01053828839212656,-0.010032247751951218,-0.00952620804309845,-0.009020166471600533,-0.008514126762747765,-0.008008086122572422,-0.0075020454823970795,-0.006996004842221737,-0.006489964202046394,-0.005983923561871052,-0.005477882921695709,-0.004971842281520367,-0.004465802572667599,-0.003959761932492256,-0.0034537212923169136,-0.002947680652141571,-0.0024416400119662285,-0.001935599371790886,-0.0014295587316155434,-0.0009235190227627754,-0.00041747838258743286,8.85622575879097e-05,0.0005946038290858269,0.0011006444692611694,0.0016066841781139374,0.0021127257496118546,0.002618766389787197,0.0031248070299625397,0.0036308467388153076,0.00413688737899065,0.004642928019165993,0.005148968659341335,0.005655009299516678,0.00616104993969202,0.006667090579867363,0.007173130288720131,0.0076791709288954735,0.008185211569070816,0.008691252209246159,0.009197292849421501,0.009703333489596844,0.010209374129772186,0.010715413838624954,0.011221455410122871,0.01172749511897564,0.012233535759150982,0.012739576399326324,0.013245617039501667,0.01375165767967701,0.014257698319852352,0.014763738960027695,0.015269778668880463,0.01577582024037838,0.016281859949231148,0.016787901520729065,0.017293941229581833]},"gradients/features.0.1.weight":{"values":[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,1,2,2,2,1,0,1,2,3,2,1,3,3,1,5,3,4,1,5,1,2,0,9,1,2,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1],"bins":[-0.032734084874391556,-0.031889207661151886,-0.031044332310557365,-0.030199456959962845,-0.029354581609368324,-0.028509706258773804,-0.027664829045534134,-0.026819953694939613,-0.025975078344345093,-0.025130201131105423,-0.024285325780510902,-0.023440450429916382,-0.022595573216676712,-0.02175069972872734,-0.02090582251548767,-0.02006094716489315,-0.01921607181429863,-0.01837119460105896,-0.01752631925046444,-0.01668144389986992,-0.01583656668663025,-0.014991691336035728,-0.014146815985441208,-0.013301940634846687,-0.012457063421607018,-0.011612188071012497,-0.010767312720417976,-0.009922435507178307,-0.009077560156583786,-0.008232684805989265,-0.007387809455394745,-0.006542932242155075,-0.0056980568915605545,-0.004853181540966034,-0.004008304327726364,-0.0031634289771318436,-0.002318553626537323,-0.0014736782759428024,-0.0006288010627031326,0.00021607428789138794,0.0010609496384859085,0.0019058268517255783,0.002750702202320099,0.0035955775529146194,0.00444045290350914,0.00528533011674881,0.00613020546734333,0.006975080817937851,0.007819957099854946,0.008664833381772041,0.009509708732366562,0.010354585014283657,0.011199460364878178,0.012044336646795273,0.012889211997389793,0.013734088279306889,0.014578964561223984,0.015423839911818504,0.016268715262413025,0.017113592475652695,0.017958467826247215,0.018803343176841736,0.019648218527436256,0.020493095740675926,0.021337971091270447],"_type":"histogram"},"gradients/features.2.0.weight":{"values":[3,4,2,4,8,14,14,16,29,41,47,58,81,145,169,245,384,547,835,1181,1766,2431,3523,4661,6126,7361,8204,8154,7361,5817,4196,3226,2219,1553,1010,729,504,327,222,134,106,71,57,27,31,23,19,7,6,9,3,5,4,1,0,2,1,0,2,1,0,1,0,1],"bins":[-0.009251434355974197,-0.00890701450407505,-0.008562593720853329,-0.008218173868954182,-0.00787375308573246,-0.007529332768172026,-0.007184912450611591,-0.006840492598712444,-0.006496071815490723,-0.006151651963591576,-0.005807231180369854,-0.005462811328470707,-0.005118391010910273,-0.004773970693349838,-0.004429550375789404,-0.00408513005822897,-0.0037407097406685352,-0.003396289423108101,-0.0030518691055476665,-0.002707448787987232,-0.002363028470426798,-0.0020186081528663635,-0.0016741878353059292,-0.0013297675177454948,-0.0009853476658463478,-0.0006409268826246262,-0.0002965070307254791,4.791375249624252e-05,0.00039233360439538956,0.0007367543876171112,0.0010811742395162582,0.0014255950227379799,0.001770014874637127,0.002114434726536274,0.0024588555097579956,0.0028032753616571426,0.0031476961448788643,0.0034921159967780113,0.003836536779999733,0.00418095663189888,0.004525377415120602,0.004869797267019749,0.005214217584580183,0.005558637902140617,0.005903058219701052,0.006247478537261486,0.00659189885482192,0.006936319172382355,0.007280739489942789,0.007625159807503223,0.007969580590724945,0.008314000442624092,0.00865842029452324,0.00900284107774496,0.009347260929644108,0.00969168171286583,0.010036101564764977,0.010380522347986698,0.010724942199885845,0.011069362983107567,0.011413782835006714,0.011758203618228436,0.012102623470127583,0.012447044253349304,0.012791464105248451],"_type":"histogram"},"gradients/features.4.0.weight":{"_type":"histogram","values":[2,0,0,1,0,0,5,6,7,12,22,27,43,51,89,140,184,312,436,776,1156,2064,3533,5778,10094,16836,27846,42659,53029,48042,33189,20213,11550,6800,3854,2325,1339,880,581,331,219,160,98,75,51,26,15,15,11,10,4,4,3,1,2,0,1,1,1,0,1,0,0,2],"bins":[-0.007378115318715572,-0.007120863534510136,-0.006863612215965986,-0.0066063604317605495,-0.0063491091132164,-0.0060918573290109634,-0.005834605544805527,-0.00557735376060009,-0.005320102442055941,-0.005062851123511791,-0.0048055993393063545,-0.004548347555100918,-0.004291095770895481,-0.004033844452351332,-0.003776592668145895,-0.003519341116771102,-0.003262089565396309,-0.003004837781190872,-0.002747586462646723,-0.002490334678441286,-0.0022330833598971367,-0.0019758315756917,-0.0017185797914862633,-0.0014613284729421139,-0.0012040766887366772,-0.0009468249045312405,-0.0006895735859870911,-0.00043232180178165436,-0.00017507001757621765,8.218130096793175e-05,0.00033943308517336845,0.0005966844037175179,0.0008539352566003799,0.0011111870408058167,0.001368438359349966,0.0016256901435554028,0.0018829414620995522,0.002140193246304989,0.0023974450305104256,0.002654696349054575,0.0029119481332600117,0.0031691999174654484,0.0034264512360095978,0.0036837030202150345,0.003940954804420471,0.004198206122964621,0.004455457907170057,0.004712709225714207,0.004969961009919643,0.00522721279412508,0.0054844641126692295,0.005741715896874666,0.005998967215418816,0.006256218999624252,0.006513470783829689,0.006770722568035126,0.007027973886579275,0.0072852252051234245,0.007542476989328861,0.007799728773534298,0.008056980557739735,0.008314232341945171,0.008571483194828033,0.00882873497903347,0.009085986763238907]},"gradients/features.3.0.weight":{"bins":[-0.008307206444442272,-0.008049923926591873,-0.007792641408741474,-0.007535358890891075,-0.007278076373040676,-0.007020793855190277,-0.006763511803001165,-0.006506229285150766,-0.006248946767300367,-0.005991664249449968,-0.005734381731599569,-0.005477099679410458,-0.005219817161560059,-0.00496253464370966,-0.0047052521258592606,-0.0044479696080088615,-0.0041906870901584625,-0.0039334045723080635,-0.0036761220544576645,-0.0034188395366072655,-0.0031615570187568665,-0.0029042749665677547,-0.0026469924487173557,-0.0023897099308669567,-0.0021324274130165577,-0.0018751448951661587,-0.0016178623773157597,-0.0013605798594653606,-0.001103297807276249,-0.0008460152894258499,-0.0005887327715754509,-0.0003314502537250519,-7.416680455207825e-05,0.00018311571329832077,0.0004403982311487198,0.0006976807489991188,0.0009549632668495178,0.0012122453190386295,0.0014695278368890285,0.0017268103547394276,0.0019840928725898266,0.0022413753904402256,0.0024986579082906246,0.0027559404261410236,0.0030132224783301353,0.0032705049961805344,0.0035277875140309334,0.0037850700318813324,0.004042352549731731,0.00429963506758213,0.0045569175854325294,0.0048142001032829285,0.0050714826211333275,0.0053287651389837265,0.005586047191172838,0.005843329709023237,0.006100612226873636,0.006357894744724035,0.006615177262574434,0.006872459314763546,0.007129741832613945,0.007387024350464344,0.007644306868314743,0.007901589386165142,0.008158871904015541],"_type":"histogram","values":[3,1,2,5,11,2,8,10,10,13,21,24,30,44,82,73,112,167,211,334,474,670,903,1293,1849,2610,3851,5566,7541,10415,13827,17092,17853,15865,12845,9630,6821,4881,3450,2487,1759,1256,914,662,478,324,251,190,146,107,70,52,53,32,14,22,17,5,7,4,1,2,1,3]},"train_accuracy":99.09555555555555,"gradients/features.0.0.weight":{"_type":"histogram","values":[1,2,0,2,6,4,4,8,15,18,15,31,44,44,54,95,174,211,297,166,89,97,73,44,40,34,35,14,13,16,19,16,8,5,6,5,2,1,0,2,0,0,0,0,0,0,1,0,0,0,2,1,0,1,2,2,2,0,0,0,3,2,1,1],"bins":[-0.13515004515647888,-0.12756389379501343,-0.11997773498296738,-0.11239158362150192,-0.10480542480945587,-0.09721927344799042,-0.08963312208652496,-0.08204696327447891,-0.07446080446243286,-0.06687465310096741,-0.05928850173950195,-0.0517023429274559,-0.04411619156599045,-0.0365300327539444,-0.028943881392478943,-0.021357722580432892,-0.013771571218967438,-0.006185412406921387,0.0014007389545440674,0.008986890316009521,0.016573041677474976,0.024159207940101624,0.03174535930156708,0.03933151066303253,0.046917662024497986,0.05450381338596344,0.06208997964859009,0.06967613101005554,0.077262282371521,0.08484843373298645,0.0924345999956131,0.10002075135707855,0.107606902718544,0.11519305408000946,0.12277920544147491,0.13036537170410156,0.13795152306556702,0.14553767442703247,0.15312382578849792,0.16070999205112457,0.16829614341259003,0.17588229477405548,0.18346844613552094,0.1910545974969864,0.19864076375961304,0.2062269151210785,0.21381306648254395,0.2213992178440094,0.22898536920547485,0.2365715205669403,0.24415768682956696,0.2517438530921936,0.25933000445365906,0.2669161558151245,0.27450230717658997,0.2820884585380554,0.2896746098995209,0.29726076126098633,0.3048469126224518,0.31243306398391724,0.3200192451477051,0.32760539650917053,0.335191547870636,0.34277769923210144,0.3503638505935669]},"gradients/features.6.1.bias":{"bins":[-0.004438269883394241,-0.004292006604373455,-0.004145743791013956,-0.00399948051199317,-0.0038532172329723835,-0.003706954186782241,-0.0035606911405920982,-0.003414427861571312,-0.0032681648153811693,-0.0031219017691910267,-0.0029756384901702404,-0.0028293754439800978,-0.002683112397789955,-0.002536849118769169,-0.0023905860725790262,-0.00224432279355824,-0.0020980597473680973,-0.0019517967011779547,-0.0018055334221571684,-0.0016592703759670258,-0.0015130070969462395,-0.0013667440507560968,-0.0012204810045659542,-0.001074217725545168,-0.0009279546793550253,-0.0007816916331648827,-0.0006354283541440964,-0.0004891650751233101,-0.0003429022617638111,-0.00019663898274302483,-5.037570372223854e-05,9.588710963726044e-05,0.00024215085431933403,0.0003884141333401203,0.0005346769466996193,0.0006809402257204056,0.0008272035047411919,0.0009734663181006908,0.0011197295971214771,0.0012659928761422634,0.001412255922332406,0.0015585189685225487,0.001704782247543335,0.0018510452937334776,0.0019973083399236202,0.0021435716189444065,0.002289834665134549,0.0024360979441553354,0.002582360990345478,0.0027286240365356207,0.002874887315556407,0.0030211503617465496,0.003167413640767336,0.0033136766869574785,0.003459939733147621,0.0036062030121684074,0.00375246605835855,0.0038987291045486927,0.004044992383569479,0.004191255196928978,0.004337518475949764,0.0044837817549705505,0.004630045033991337,0.004776307847350836,0.004922571126371622],"_type":"histogram","values":[2,0,0,0,2,0,0,1,2,6,1,2,4,1,5,3,6,5,5,6,6,12,15,11,13,10,26,21,27,34,62,36,35,23,13,19,9,13,10,6,5,7,7,8,5,4,5,1,0,3,4,1,3,1,1,1,0,0,1,0,0,0,1,2]},"_timestamp":1.7527797421269662e+09,"gradients/features.5.1.bias":{"_type":"histogram","values":[2,0,0,0,0,0,0,0,0,0,1,0,0,2,0,1,0,0,1,0,1,0,4,2,1,7,1,6,9,3,4,9,6,10,22,13,17,16,19,21,13,14,9,5,7,4,6,2,5,2,2,1,2,1,0,2,0,0,1,1,0,0,0,1],"bins":[-0.022683560848236084,-0.022074295207858086,-0.021465031430125237,-0.020855765789747238,-0.02024650201201439,-0.01963723637163639,-0.01902797259390354,-0.018418706953525543,-0.017809443175792694,-0.017200177535414696,-0.016590911895036697,-0.01598164811730385,-0.01537238247692585,-0.014763117767870426,-0.014153853058815002,-0.013544588349759579,-0.012935323640704155,-0.012326058931648731,-0.011716794222593307,-0.011107529513537884,-0.01049826480448246,-0.009888999164104462,-0.009279734455049038,-0.008670469745993614,-0.00806120503693819,-0.007451940327882767,-0.006842674687504768,-0.006233410909771919,-0.005624145269393921,-0.005014881491661072,-0.004405615851283073,-0.0037963520735502243,-0.003187086433172226,-0.0025778207927942276,-0.0019685570150613785,-0.0013592913746833801,-0.000750027596950531,-0.00014076195657253265,0.00046850182116031647,0.0010777674615383148,0.0016870321705937386,0.0022962968796491623,0.002905561588704586,0.0035148262977600098,0.004124091938138008,0.004733356647193432,0.005342621356248856,0.005951886065304279,0.006561150774359703,0.007170415483415127,0.0077796801924705505,0.008388944901525974,0.008998209610581398,0.009607475250959396,0.01021673996001482,0.010826004669070244,0.011435269378125668,0.012044534087181091,0.012653798796236515,0.013263063505291939,0.013872329145669937,0.014481593854725361,0.015090858563780785,0.015700122341513634,0.016309387981891632]},"_wandb":{"runtime":2029},"_step":49,"gradients/classifier.weight":{"bins":[-0.03279554843902588,-0.03185955807566643,-0.030923563987016678,-0.029987571761012077,-0.029051579535007477,-0.028115587309002876,-0.027179595082998276,-0.026243604719638824,-0.025307610630989075,-0.024371620267629623,-0.023435626178979874,-0.022499635815620422,-0.021563643589615822,-0.02062765136361122,-0.01969165913760662,-0.01875566691160202,-0.01781967468559742,-0.01688368245959282,-0.01594769023358822,-0.015011698007583618,-0.014075705781579018,-0.013139713555574417,-0.012203721329569817,-0.011267729103565216,-0.010331738740205765,-0.009395746514201164,-0.008459754288196564,-0.007523762062191963,-0.006587769836187363,-0.005651777610182762,-0.004715785384178162,-0.003779793158173561,-0.0028438009321689606,-0.00190780870616436,-0.0009718164801597595,-3.5824254155158997e-05,0.0009001679718494415,0.001836160197854042,0.0027721524238586426,0.003708144649863243,0.004644136875867844,0.005580127239227295,0.0065161194652318954,0.007452111691236496,0.008388103917241096,0.009324096143245697,0.010260088369250298,0.011196080595254898,0.012132072821259499,0.013068065047264099,0.0140040572732687,0.0149400494992733,0.0158760417252779,0.0168120339512825,0.017748024314641953,0.018684018403291702,0.019620008766651154,0.020556002855300903,0.021491993218660355,0.022427985444664955,0.023363977670669556,0.024299969896674156,0.025235962122678757,0.026171954348683357,0.027107946574687958],"_type":"histogram","values":[1,0,0,1,2,3,1,3,2,2,1,2,5,9,1,6,3,8,4,7,16,12,12,18,21,23,30,29,62,61,71,108,122,209,970,2305,329,143,123,83,55,51,25,25,26,26,15,16,7,9,11,5,7,9,2,3,4,1,5,1,4,3,0,2]},"gradients/features.2.1.bias":{"_type":"histogram","values":[2,0,0,1,0,0,1,0,0,1,1,1,1,2,3,3,6,2,4,2,3,7,8,7,9,5,5,6,4,2,4,7,1,3,9,5,3,0,2,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1],"bins":[-0.02057185210287571,-0.019785797223448753,-0.018999744206666946,-0.01821368932723999,-0.017427636310458183,-0.016641581431031227,-0.01585552841424942,-0.015069473534822464,-0.014283420518040657,-0.0134973656386137,-0.01271131169050932,-0.011925257742404938,-0.011139203794300556,-0.010353149846196175,-0.009567095898091793,-0.008781041949987411,-0.00799498800188303,-0.007208934053778648,-0.006422880105674267,-0.005636826157569885,-0.004850771278142929,-0.004064718261361122,-0.003278663381934166,-0.002492610365152359,-0.0017065554857254028,-0.0009205024689435959,-0.0001344475895166397,0.0006516054272651672,0.0014376603066921234,0.0022237133234739304,0.0030097682029008865,0.0037958212196826935,0.00458187609910965,0.005367930978536606,0.006153983995318413,0.006940038874745369,0.007726091891527176,0.008512146770954132,0.009298199787735939,0.010084254667162895,0.010870307683944702,0.011656362563371658,0.012442415580153465,0.013228470459580421,0.014014523476362228,0.014800578355789185,0.015586632303893566,0.016372686251997948,0.017158739268779755,0.01794479414820671,0.018730849027633667,0.019516902044415474,0.02030295506119728,0.021089009940624237,0.021875064820051193,0.022661117836833,0.023447172716259956,0.024233225733041763,0.02501928061246872,0.025805333629250526,0.026591388508677483,0.02737744152545929,0.028163496404886246,0.028949549421668053,0.02973560430109501]},"gradients/features.3.1.weight":{"bins":[-0.024806508794426918,-0.023833980783820152,-0.022861452773213387,-0.02188892662525177,-0.020916398614645004,-0.01994387060403824,-0.018971342593431473,-0.017998814582824707,-0.01702628657221794,-0.016053758561611176,-0.015081232413649559,-0.014108704403042793,-0.013136176392436028,-0.012163649313151836,-0.01119112130254507,-0.01021859422326088,-0.009246066212654114,-0.008273538202047348,-0.007301010191440582,-0.006328484043478966,-0.0053559560328722,-0.004383428022265434,-0.0034109000116586685,-0.0024383720010519028,-0.001465843990445137,-0.0004933178424835205,0.00047921016812324524,0.001451738178730011,0.0024242661893367767,0.0033967941999435425,0.004369320347905159,0.005341848358511925,0.00631437823176384,0.0072869062423706055,0.008259434252977371,0.009231960400938988,0.010204488411545753,0.01117701642215252,0.012149544432759285,0.01312207244336605,0.014094598591327667,0.015067126601934433,0.0160396546125412,0.017012182623147964,0.01798471063375473,0.018957238644361496,0.019929764792323112,0.020902292802929878,0.021874820813536644,0.02284734882414341,0.023819874972105026,0.024792402982711792,0.025764930993318558,0.026737459003925323,0.02770998701453209,0.028682515025138855,0.02965504303574562,0.030627569183707237,0.031600095331668854,0.03257262706756592,0.033545151352882385,0.03451767936348915,0.03549020737409592,0.03646273538470268,0.03743526339530945],"_type":"histogram","values":[2,0,0,0,0,0,0,1,1,4,0,4,2,7,0,1,4,2,3,4,4,6,5,4,8,3,6,9,4,3,7,3,7,5,1,1,1,4,0,4,1,0,2,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]},"gradients/features.5.1.weight":{"bins":[-0.03539315238595009,-0.03446907922625542,-0.033545006066560745,-0.032620932906866074,-0.0316968597471714,-0.03077278472483158,-0.02984871156513691,-0.028924638405442238,-0.028000563383102417,-0.027076490223407745,-0.026152417063713074,-0.025228343904018402,-0.02430427074432373,-0.02338019758462906,-0.022456124424934387,-0.021532049402594566,-0.020607976242899895,-0.019683903083205223,-0.01875982992351055,-0.01783575490117073,-0.01691168174147606,-0.015987608581781387,-0.015063535422086716,-0.014139462262392044,-0.013215389102697372,-0.012291314080357552,-0.01136724092066288,-0.010443167760968208,-0.009519094601273537,-0.008595021441578865,-0.007670946419239044,-0.0067468732595443726,-0.005822798237204552,-0.00489872507750988,-0.0039746519178152084,-0.0030505768954753876,-0.002126503735780716,-0.0012024305760860443,-0.0002783574163913727,0.000645715743303299,0.0015697907656431198,0.0024938639253377914,0.003417937085032463,0.004342010244727135,0.005266083404421806,0.006190156564116478,0.007114231586456299,0.00803830474615097,0.008962377905845642,0.009886451065540314,0.01081052515655756,0.011734598316252232,0.012658672407269478,0.01358274556696415,0.014506818726658821,0.015430892817676067,0.016354966908693314,0.017279040068387985,0.018203113228082657,0.01912718638777733,0.020051259547472,0.020975332707166672,0.021899407729506493,0.022823480889201164,0.023747554048895836],"_type":"histogram","values":[1,0,0,0,0,0,0,0,1,0,0,1,0,1,0,0,1,0,1,0,1,1,3,2,1,3,1,2,7,3,10,4,5,4,15,14,12,19,25,22,24,14,8,9,5,3,4,10,5,3,0,1,1,2,0,1,0,2,1,0,0,1,1,1]},"learning_rate":0,"confusion_matrix":{"path":"media/images/confusion_matrix_39_c51878a573e7397c245b.png","format":"png","width":800,"height":600,"_type":"image-file","sha256":"c51878a573e7397c245b453b403f11d230e31f0e508834c184a4c5e844e3ddd4","size":49263},"epoch":49,"gradients/features.1.1.bias":{"bins":[-0.01759827695786953,-0.01683836430311203,-0.01607845164835453,-0.01531853899359703,-0.014558626338839531,-0.013798713684082031,-0.013038801029324532,-0.012278888374567032,-0.011518975719809532,-0.010759063065052032,-0.009999150410294533,-0.009239238686859608,-0.008479326032102108,-0.007719413377344608,-0.006959500722587109,-0.006199588067829609,-0.005439675413072109,-0.0046797627583146095,-0.00391985010355711,-0.00315993744879961,-0.0024000247940421104,-0.0016401130706071854,-0.0008802004158496857,-0.00012028776109218597,0.0006396248936653137,0.0013995375484228134,0.002159450203180313,0.002919362857937813,0.0036792755126953125,0.004439188167452812,0.005199100822210312,0.005959013476967812,0.006718926131725311,0.007478838786482811,0.00823875144124031,0.00899866409599781,0.00975857675075531,0.01051848940551281,0.01127840206027031,0.01203831471502781,0.012798227369785309,0.013558140024542809,0.014318052679300308,0.015077965334057808,0.015837877988815308,0.016597788780927658,0.017357703298330307,0.018117614090442657,0.018877528607845306,0.019637439399957657,0.020397353917360306,0.021157264709472656,0.021917179226875305,0.022677090018987656,0.023437002673745155,0.024196915328502655,0.024956827983260155,0.025716740638017654,0.026476653292775154,0.027236565947532654,0.027996478602290154,0.028756391257047653,0.029516303911805153,0.030276216566562653,0.031036129221320152],"_type":"histogram","values":[1,1,0,2,1,0,1,2,2,0,0,3,0,2,1,0,1,2,3,0,2,2,2,4,1,3,2,3,0,1,1,4,0,3,1,1,1,0,1,1,1,0,1,0,0,0,1,2,0,1,0,0,0,0,0,0,0,0,1,0,0,1,0,1]},"gradients/features.4.1.bias":{"values":[2,0,0,0,0,0,0,0,0,1,3,2,2,0,4,2,8,5,2,4,7,8,5,7,12,9,11,11,9,11,10,6,12,15,4,13,10,9,9,8,7,4,3,3,1,4,4,0,1,1,1,1,0,1,0,1,0,0,0,0,2,0,0,1],"bins":[-0.014035224914550781,-0.013575888238847256,-0.01311655156314373,-0.012657214887440205,-0.012197878211736679,-0.011738540604710579,-0.011279203929007053,-0.010819867253303528,-0.010360530577600002,-0.009901193901896477,-0.009441857226192951,-0.008982520550489426,-0.008523182943463326,-0.008063847199082375,-0.007604509592056274,-0.007145172916352749,-0.006685836240649223,-0.006226499564945698,-0.005767162889242172,-0.005307826213538647,-0.004848489537835121,-0.004389151930809021,-0.0039298152551054955,-0.00347047857940197,-0.0030111419036984444,-0.002551805227994919,-0.0020924685522913933,-0.0016331318765878677,-0.0011737942695617676,-0.000714457593858242,-0.0002551209181547165,0.00020421575754880905,0.0006635533645749092,0.0011228900402784348,0.0015822267159819603,0.002041563391685486,0.0025009000673890114,0.0029602376744151115,0.003419574350118637,0.0038789110258221626,0.004338247701525688,0.004797584377229214,0.005256921052932739,0.005716257728636265,0.006175595335662365,0.0066349320113658905,0.007094268687069416,0.007553605362772942,0.008012942038476467,0.008472278714179993,0.008931615389883518,0.009390952065587044,0.009850289672613144,0.010309625416994095,0.010768963024020195,0.01122829969972372,0.011687636375427246,0.012146973051130772,0.012606309726834297,0.013065647333860397,0.013524983078241348,0.013984320685267448,0.014443657360970974,0.0149029940366745,0.015362330712378025],"_type":"histogram"},"gradients/classifier.bias":{"values":[2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,2,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"bins":[-0.010963590815663338,-0.010624184273183346,-0.010284777730703354,-0.009945370256900787,-0.009605963714420795,-0.009266557171940804,-0.008927150629460812,-0.00858774408698082,-0.008248336613178253,-0.007908930070698261,-0.007569523528218269,-0.0072301169857382774,-0.0068907104432582855,-0.006551303435117006,-0.006211896892637014,-0.005872489884495735,-0.005533083342015743,-0.005193676799535751,-0.004854269791394472,-0.00451486324891448,-0.004175456240773201,-0.003836049698293209,-0.003496643155813217,-0.003157236147671938,-0.0028178300708532333,-0.002478422597050667,-0.002139016054570675,-0.001799609512090683,-0.001460202969610691,-0.0011207964271306992,-0.0007813889533281326,-0.0004419824108481407,-0.0001025758683681488,0.0002368306741118431,0.000576237216591835,0.0009156446903944016,0.0012550512328743935,0.0015944577753543854,0.0019338643178343773,0.002273270860314369,0.0026126783341169357,0.0029520844109356403,0.0032914914190769196,0.0036308979615569115,0.003970304504036903,0.004309711512178183,0.0046491180546581745,0.004988525062799454,0.005327931605279446,0.0056673381477594376,0.006006745155900717,0.006346151698380709,0.006685558706521988,0.00702496524900198,0.007364371791481972,0.007703778333961964,0.008043184876441956,0.008382592350244522,0.008721998892724514,0.009061405435204506,0.009400811977684498,0.00974021852016449,0.010079625993967056,0.010419032536447048,0.01075843907892704],"_type":"histogram"},"gradients/features.6.0.weight":{"values":[1,0,0,0,2,3,0,10,9,17,15,23,37,35,78,88,133,173,247,342,460,629,860,1299,1940,2890,4495,7685,14015,26681,55929,129185,491832,265156,88510,39373,19445,10482,5970,3612,2406,1570,1121,786,598,415,264,206,166,111,106,48,57,36,27,26,17,10,4,7,2,1,2,1],"bins":[-0.001501418650150299,-0.0014556592795997858,-0.0014098999090492725,-0.0013641405384987593,-0.001318381167948246,-0.001272621680982411,-0.0012268623104318976,-0.0011811029398813844,-0.001135343569330871,-0.0010895841987803578,-0.0010438248282298446,-0.0009980653412640095,-0.0009523060289211571,-0.0009065466583706439,-0.0008607872296124697,-0.0008150278590619564,-0.0007692684885114431,-0.0007235091179609299,-0.0006777497474104166,-0.0006319903186522424,-0.0005862309481017292,-0.0005404715775512159,-0.0004947121487930417,-0.00044895277824252844,-0.00040319340769201517,-0.0003574340371415019,-0.00031167466659098864,-0.00026591529604047537,-0.00022015580907464027,-0.000174396438524127,-0.00012863706797361374,-8.287769742310047e-05,-3.7118326872587204e-05,8.641043677926064e-06,5.440041422843933e-05,0.0001001597847789526,0.00014591915532946587,0.00019167864229530096,0.00023743801284581423,0.0002831973833963275,0.00032895675394684076,0.00037471612449735403,0.0004204754950478673,0.0004662349238060415,0.0005119942943565547,0.000557753664907068,0.0006035130936652422,0.0006492724642157555,0.0006950318347662687,0.000740791205316782,0.0007865505758672953,0.0008323100046254694,0.0008780693751759827,0.000923828745726496,0.0009695881744846702,0.0010153475450351834,0.0010611069155856967,0.00110686628613621,0.0011526256566867232,0.0011983850272372365,0.0012441445142030716,0.0012899038847535849,0.0013356632553040981,0.0013814226258546114,0.0014271819964051247],"_type":"histogram"},"val_loss":0.3607871209271252,"gradients/features.2.1.weight":{"bins":[-0.01949116587638855,-0.018720008432865143,-0.017948850989341736,-0.017177695408463478,-0.01640653796494007,-0.015635380521416664,-0.014864224009215832,-0.014093067497015,-0.013321910053491592,-0.012550752609968185,-0.011779596097767353,-0.01100843958556652,-0.010237282142043114,-0.009466124698519707,-0.008694968186318874,-0.007923811674118042,-0.007152654230594635,-0.006381496787071228,-0.005610340274870396,-0.004839183762669563,-0.004068026319146156,-0.0032968688756227493,-0.0025257132947444916,-0.0017545558512210846,-0.0009833984076976776,-0.00021224096417427063,0.0005589164793491364,0.001330072060227394,0.002101229503750801,0.002872386947274208,0.003643542528152466,0.004414699971675873,0.005185859277844429,0.005957016721367836,0.006728174164891243,0.007499329745769501,0.008270487189292908,0.009041644632816315,0.009812800213694572,0.01058395765721798,0.011355115100741386,0.012126272544264793,0.0128974299877882,0.013668585568666458,0.014439743012189865,0.015210900455713272,0.01598205789923668,0.016753213480114937,0.017524370923638344,0.01829552836716175,0.01906668394804001,0.019837841391563416,0.020608998835086823,0.02138015627861023,0.022151313722133636,0.022922469303011894,0.0236936267465353,0.024464784190058708,0.025235939770936966,0.026007097214460373,0.02677825465798378,0.027549412101507187,0.028320569545030594,0.02909172512590885,0.02986288256943226],"_type":"histogram","values":[2,2,0,0,1,1,0,1,0,0,2,3,2,4,1,3,6,2,6,6,2,5,0,7,5,9,7,5,5,4,2,4,5,6,0,0,4,1,1,2,1,1,1,1,3,1,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1]},"gradients/features.1.1.weight":{"bins":[-0.020358799025416374,-0.019561683759093285,-0.018764568492770195,-0.017967453226447105,-0.017170337960124016,-0.016373222693800926,-0.015576106496155262,-0.014778991229832172,-0.013981875963509083,-0.013184760697185993,-0.012387645430862904,-0.011590530164539814,-0.01079341396689415,-0.00999629870057106,-0.00919918343424797,-0.008402068167924881,-0.007604952901601791,-0.006807837635278702,-0.006010722368955612,-0.005213607102632523,-0.004416491836309433,-0.0036193765699863434,-0.002822261303663254,-0.002025146037340164,-0.0012280289083719254,-0.00043091364204883575,0.00036620162427425385,0.0011633168905973434,0.001960432156920433,0.0027575474232435226,0.0035546626895666122,0.004351777955889702,0.005148895084857941,0.00594601035118103,0.00674312561750412,0.0075402408838272095,0.008337356150150299,0.009134471416473389,0.009931586682796478,0.010728701949119568,0.011525817215442657,0.012322934344410896,0.013120049610733986,0.013917164877057076,0.014714280143380165,0.015511395409703255,0.016308510676026344,0.017105625942349434,0.017902741208672523,0.018699856474995613,0.019496971741318703,0.020294087007641792,0.021091202273964882,0.02188831940293312,0.02268543466925621,0.0234825499355793,0.02427966520190239,0.02507678046822548,0.02587389573454857,0.02667101100087166,0.027468126267194748,0.028265241533517838,0.029062356799840927,0.029859472066164017,0.030656587332487106],"_type":"histogram","values":[1,0,0,0,0,1,0,1,0,2,1,1,0,1,3,3,2,1,2,2,2,1,2,2,5,2,1,1,3,0,4,3,0,4,0,1,0,0,1,2,0,0,1,2,1,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1]},"gradients/features.0.1.bias":{"values":[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,1,0,1,1,0,2,1,0,1,2,1,1,2,1,1,1,3,4,2,2,3,6,4,3,2,1,1,2,0,4,0,0,0,1,2,0,2,0,0,0,0,0,1],"bins":[-0.027700461447238922,-0.027026265859603882,-0.02635207027196884,-0.025677872821688652,-0.025003677234053612,-0.02432948164641857,-0.023655284196138382,-0.02298108860850334,-0.0223068930208683,-0.02163269743323326,-0.02095850184559822,-0.02028430439531803,-0.01961010880768299,-0.01893591322004795,-0.01826171576976776,-0.01758752018213272,-0.01691332459449768,-0.01623912900686264,-0.015564932487905025,-0.01489073596894741,-0.01421654038131237,-0.01354234479367733,-0.012868148274719715,-0.0121939517557621,-0.01151975616812706,-0.01084556058049202,-0.01017136499285698,-0.00949716754257679,-0.00882297195494175,-0.00814877636730671,-0.00747457891702652,-0.0068003833293914795,-0.0061261896044015884,-0.005451994016766548,-0.004777798429131508,-0.004103600978851318,-0.003429405391216278,-0.002755209803581238,-0.0020810123533010483,-0.001406816765666008,-0.0007326211780309677,-5.842559039592743e-05,0.0006157709285616875,0.0012899674475193024,0.0019641630351543427,0.002638358622789383,0.003312555141746998,0.003986751660704613,0.004660947248339653,0.005335142835974693,0.006009339354932308,0.006683535873889923,0.007357731461524963,0.008031927049160004,0.008706123568117619,0.009380320087075233,0.010054515674710274,0.010728711262345314,0.011402907781302929,0.012077104300260544,0.012751299887895584,0.013425495475530624,0.01409969199448824,0.014773888513445854,0.015448084101080894],"_type":"histogram"},"graph_0":{"_type":"graph-file","sha256":"b97b6de7596295411b65f89a28792763efb4284a1b7914d29ff6fcf18d2f8090","size":5328,"path":"media/graph/graph_0_summary_b97b6de7596295411b65.graph.json"},"train_loss":0.028621981378157878,"_runtime":2029.2236867,"gradients/features.4.1.weight":{"values":[1,0,0,1,0,1,2,0,0,0,2,0,2,1,0,3,1,5,4,2,6,10,7,9,9,5,9,12,8,13,13,11,9,14,11,7,14,11,3,12,6,4,3,6,1,3,2,4,5,0,0,0,0,0,2,0,1,0,0,0,0,0,0,1],"bins":[-0.019749628379940987,-0.019117143005132675,-0.018484659492969513,-0.0178521741181612,-0.01721969060599804,-0.016587205231189728,-0.015954721719026566,-0.015322236344218254,-0.014689752832055092,-0.01405726745724678,-0.013424783945083618,-0.012792298570275307,-0.01215981412678957,-0.011527329683303833,-0.010894845239818096,-0.01026236079633236,-0.009629876352846622,-0.008997391909360886,-0.008364907465875149,-0.007732423022389412,-0.007099938578903675,-0.006467454135417938,-0.005834969691932201,-0.0052024852484464645,-0.004569999873638153,-0.003937516361474991,-0.0033050309866666794,-0.002672547474503517,-0.0020400620996952057,-0.0014075785875320435,-0.000775093212723732,-0.00014260970056056976,0.0004898756742477417,0.0011223610490560532,0.0017548445612192154,0.002387329936027527,0.003019813448190689,0.0036522988229990005,0.004284782335162163,0.004917267709970474,0.0055497512221336365,0.006182236596941948,0.006814721040427685,0.007447205483913422,0.008079689927399158,0.008712174370884895,0.009344658814370632,0.009977143257856369,0.010609627701342106,0.011242112144827843,0.01187459658831358,0.012507081031799316,0.013139565475285053,0.01377204991877079,0.014404535293579102,0.015037018805742264,0.015669504180550575,0.016301987692713737,0.01693447306752205,0.01756695657968521,0.018199441954493523,0.018831925466656685,0.019464410841464996,0.02009689435362816,0.02072937972843647],"_type":"histogram"},"val_accuracy":91.26}