Skip to content

Commit 5a62ede

Browse files
authored
Merge branch 'main' into christian/documentation
2 parents e98c312 + f5f9576 commit 5a62ede

File tree

3 files changed

+34
-1
lines changed

3 files changed

+34
-1
lines changed

README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ ChristianModel was trained on the USPS_0-6 dataset. The model was trained for a
129129
| Validation | 0.071 | 0.074 | 0.973 | 0.975 | 0.140 | 0.974 |
130130
| Test | 0.247 | 0.096 | 0.931 | 0.934 | 0.134 | 0.932 |
131131

132+
132133
### SolveigModel & USPS_7-9
133134
SolveigModel was trained on the `USPS_7-9` dataset. The model was trained over 40 epochs, evaluating on all metrics with macro-averaging enabled, as shown in the table below.
134135

@@ -138,6 +139,19 @@ SolveigModel was trained on the `USPS_7-9` dataset. The model was trained over 4
138139
| Validation | 0.004 | 0.010 | 0.996 | 0.996 | 0.332 | 0.996 |
139140
| Test | 0.222 | 0.023 | 0.962 | 0.964 | 0.324 | 0.963 |
140141

142+
### JohanModel & MNIST_4-9
143+
This section reports the results from using the model "JohanModel" and the dataset MNIST_4-9 which contains MNIST digits from 4 to 9 (six classes in total).
144+
All five available metrics were calculated for this experiment, model was trained for 12 epochs with learning rate of 0.001 and batch size 64.
145+
146+
The performance of the model is somewhat limited, at least compared with the results of JanModel on the other portion of MNIST dataset. Resulting metrics computed with macro-averaging below:
147+
148+
| Dataset Split | Loss | Entropy | Accuracy | Precision | Recall | F1 |
149+
|---------------|-------|---------|----------|-----------|--------|-------|
150+
| Train | 0.617 | 0.618 | 0.825 | 0.889 | 0.825 | 0.769 |
151+
| Validation | 0.677 | 0.619 | 0.809 | 0.872 | 0.809 | 0.755 |
152+
| Test | 0.679 | 0.618 | 0.810 | 0.870 | 0.810 | 0.755 |
153+
154+
141155

142156
## Citing
143157
Please consider citing this repository if you end up using it for your work.

doc/Jan_page.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,22 @@ The class has the following methods:
5151
* `__returnmetric__`: Returns the computed accuracy based on the averaging method for all stored predictions.
5252
* `__reset__`: Resets the stored true and predicted labels.
5353

54-
The `forward` method takes the true labels and predicted labels as input and stores them. The `_macro_acc` method computes the macro-average accuracy by averaging the accuracy for each class. The `_micro_acc` method computes the micro-average accuracy by calculating the overall accuracy. The `__returnmetric__` method returns the computed accuracy based on the averaging method. The `__reset__` method resets the stored true and predicted labels to prepare for the next epoch.
54+
The `forward` method takes the true labels and predicted labels as input and stores them. The `_macro_acc` method computes the macro-average accuracy by averaging the accuracy for each class. The `_micro_acc` method computes the micro-average accuracy by calculating the overall accuracy. The `__returnmetric__` method returns the computed accuracy based on the averaging method. The `__reset__` method resets the stored true and predicted labels to prepare for the next epoch.
55+
56+
## Challenges
57+
### Running someone elses code
58+
59+
At the very beginning of the project we agreed upon a project structure that included wrappers for models, datasets and metrics which made it very easy to run other peoples code. Problems only arised in the development stage, when it was necessary to collect adjusments from all five participants in case of a change in the wrapper structure.
60+
61+
### Someone else running my code
62+
63+
Thanks to the project structure mentioned above it was also not difficult to have someone else handle the code I produced. It was sometimes necessary to make design adjustments on the go (for example having the metric wrapper pass the raw logits instead of predictions to the metric classes) and it was not always easy for me to catch up with all the important changes and adjust my code right away - sometimes an opened issue got closed before all the dependent code was adjusted. These problems were more and more sparse throughout the process as the whole group got more used to the workflow in a shared github repository.
64+
65+
### Tools
66+
67+
The course presented a lot of tools that were previously unknown to me. The whole concept of testing functions was never appreciated by me, until I saw its importance when working on a shared project, especially when combined with github actions automatic workflows. The sphinx documentation generation tool also prooved to be extremely useful, if only to keep track of all implemented classes.
68+
69+
I have migrated with all my work to the uv package manager after the course - it keeps the project environment local and it is much easier to use.
70+
71+
This was also my first serious experience with work on a shared project using github, so far I only used it as a personal repository or to share specific code.
72+

doc/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ about.md
1010
Magnus_page.md
1111
Jan_page.md
1212
christian.md
13+
Johan_page.md
1314
:::
1415

1516

0 commit comments

Comments
 (0)