Changing the print statement seem to work a bit but all F1-scores are zeroes.
        print(f'Epoch: {epoch+1:03d}/{NUM_EPOCHS:03d} Train Acc.: {train_acc:.4f}%'
              f' | Validation Acc.: {valid_acc:.4f}% | Validation F1.:format{valid_f1}')

    ```

Epoch: 001/017 | Batch 000/011 | Cost: 0.6913
Epoch: 001/017 Train Acc.: 91.4956% | Validation Acc.: 95.6140% | Validation F1.:formattensor([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
Time elapsed: 0.00 min
Epoch: 002/017 | Batch 000/011 | Cost: 0.4336
Epoch: 002/017 Train Acc.: 93.8416% | Validation Acc.: 97.3684% | Validation F1.:formattensor([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
Time elapsed: 0.00 min
Epoch: 003/017 | Batch 000/011 | Cost: 0.1471
Epoch: 003/017 Train Acc.: 94.4282% | Validation Acc.: 96.4912% | Validation F1.:formattensor([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
Time elapsed: 0.00 min