QUOTE(pipedream @ Jan 15 2021, 07:10 PM)
You should try Keras. Its actually way easier than PyTorch. I have not use PyTorch before but the code looks complicated
Keras is super easy and modular to use
https://blog.keras.io/building-powerful-ima...ittle-data.htmlCUDA is supported on a lot of nvidia models, even my 750m laptop gpu has it, and I think google colab doesnt have CUDA support and running on a single cpu core thats why its so slow. Try using your PC or something. Or ask your SV to borrow university resources.
You are correct. Your FYP would be easier and more worthwhile for publication if you just focus your effort on optimizing a pre-trained model. Use the UM sets to try to further tune the model. Try to get the LindaWang model from her github and start from there. You can save plenty of time without rebuilding the model FYI.
Edit: Also way too complicated for a FYP project in undergrad. Kudos to you but don't overdo things. Your project is actually at least a Masters level even on optimization.

hopefully I just make it out alive and passed. really bitten too much I chewed.
Colab should have their eGPU I think? As I thought it is web training.
Linda Wang's from what I saw doesn't publish their model to their public.
I can try attempt to email to her to get her code, if she replies.
My problem with TensorFlow is that only few people I saw actually did some models with it.
And I ain't that proficient with all those Python Libraries.
And I haven't find someone with a proper guide on auto tuning the hyperparameters ...
or use AI explainability / to visualize the heatmaps on how the model makes it respond.
Solely looking at training / testing / validation losses and accuracy doesn't really help for me...
Here's my training results for 20/60 epochs so far, before it crashed.
» Click to show Spoiler - click again to hide... «
------------------ Epoch 0 Iteration 49--------------------------------------
Accuracy 0.580
Sensitivity 0.160
Specificity 1.000
Area Under ROC 0.929
Validation Loss 0.9678632583655417
------------------------------------------------------------------------------
Training Performance Epoch 0: Average loss: 0.0083, Accuracy: 273/400 (68%)
------------------ Epoch 1 Iteration 49--------------------------------------
Accuracy 0.745
Sensitivity 0.870
Specificity 0.620
Area Under ROC 0.848
Validation Loss 0.6299769258499146
------------------------------------------------------------------------------
Training Performance Epoch 1: Average loss: 0.0053, Accuracy: 342/400 (86%)
------------------ Epoch 2 Iteration 49--------------------------------------
Accuracy 0.505
Sensitivity 0.990
Specificity 0.020
Area Under ROC 0.615
Validation Loss 2.6408397589577364
------------------------------------------------------------------------------
Training Performance Epoch 2: Average loss: 0.0046, Accuracy: 363/400 (91%)
------------------ Epoch 3 Iteration 49--------------------------------------
Accuracy 0.875
Sensitivity 0.910
Specificity 0.840
Area Under ROC 0.918
Validation Loss 0.40587875187397005
------------------------------------------------------------------------------
Training Performance Epoch 3: Average loss: 0.0030, Accuracy: 371/400 (93%)
------------------ Epoch 4 Iteration 49--------------------------------------
Accuracy 0.715
Sensitivity 0.930
Specificity 0.500
Area Under ROC 0.876
Validation Loss 0.838105290364474
------------------------------------------------------------------------------
Training Performance Epoch 4: Average loss: 0.0026, Accuracy: 375/400 (94%)
------------------ Epoch 5 Iteration 49--------------------------------------
Accuracy 0.905
Sensitivity 0.920
Specificity 0.890
Area Under ROC 0.966
Validation Loss 0.25731385704129933
------------------------------------------------------------------------------
Training Performance Epoch 5: Average loss: 0.0018, Accuracy: 382/400 (96%)
------------------ Epoch 6 Iteration 49--------------------------------------
Accuracy 0.845
Sensitivity 0.910
Specificity 0.780
Area Under ROC 0.913
Validation Loss 0.5631416907906532
------------------------------------------------------------------------------
Training Performance Epoch 6: Average loss: 0.0015, Accuracy: 385/400 (96%)
------------------ Epoch 7 Iteration 49--------------------------------------
Accuracy 0.885
Sensitivity 0.810
Specificity 0.960
Area Under ROC 0.919
Validation Loss 0.48001379884779455
------------------------------------------------------------------------------
Training Performance Epoch 7: Average loss: 0.0030, Accuracy: 377/400 (94%)
------------------ Epoch 8 Iteration 49--------------------------------------
Accuracy 0.820
Sensitivity 0.880
Specificity 0.760
Area Under ROC 0.893
Validation Loss 0.4984317614138126
------------------------------------------------------------------------------
Training Performance Epoch 8: Average loss: 0.0020, Accuracy: 382/400 (96%)
------------------ Epoch 9 Iteration 49--------------------------------------
Accuracy 0.700
Sensitivity 0.910
Specificity 0.490
Area Under ROC 0.832
Validation Loss 0.9922116323187947
------------------------------------------------------------------------------
Training Performance Epoch 9: Average loss: 0.0014, Accuracy: 383/400 (96%)
------------------ Epoch 10 Iteration 49--------------------------------------
Accuracy 0.755
Sensitivity 0.860
Specificity 0.650
Area Under ROC 0.835
Validation Loss 0.7781819646060467
------------------------------------------------------------------------------
Training Performance Epoch 10: Average loss: 0.0011, Accuracy: 389/400 (97%)
------------------ Epoch 11 Iteration 49--------------------------------------
Accuracy 0.845
Sensitivity 0.840
Specificity 0.850
Area Under ROC 0.888
Validation Loss 0.618116648197174
------------------------------------------------------------------------------
Training Performance Epoch 11: Average loss: 0.0007, Accuracy: 393/400 (98%)
------------------ Epoch 12 Iteration 49--------------------------------------
Accuracy 0.715
Sensitivity 0.880
Specificity 0.550
Area Under ROC 0.805
Validation Loss 1.1322297202795744
------------------------------------------------------------------------------
Training Performance Epoch 12: Average loss: 0.0008, Accuracy: 394/400 (98%)
------------------ Epoch 13 Iteration 49--------------------------------------
Accuracy 0.805
Sensitivity 0.840
Specificity 0.770
Area Under ROC 0.883
Validation Loss 0.5807389818131924
------------------------------------------------------------------------------
Training Performance Epoch 13: Average loss: 0.0011, Accuracy: 389/400 (97%)
------------------ Epoch 14 Iteration 49--------------------------------------
Accuracy 0.610
Sensitivity 0.940
Specificity 0.280
Area Under ROC 0.876
Validation Loss 1.3897523446328706
------------------------------------------------------------------------------
Training Performance Epoch 14: Average loss: 0.0010, Accuracy: 391/400 (98%)
Updating the learning rate to 0.001
------------------ Epoch 15 Iteration 49--------------------------------------
Accuracy 0.815
Sensitivity 0.910
Specificity 0.720
Area Under ROC 0.916
Validation Loss 0.5976290856697597
------------------------------------------------------------------------------
Training Performance Epoch 15: Average loss: 0.0011, Accuracy: 388/400 (97%)
------------------ Epoch 16 Iteration 49--------------------------------------
Accuracy 0.700
Sensitivity 0.920
Specificity 0.480
Area Under ROC 0.879
Validation Loss 1.181665936439531
------------------------------------------------------------------------------
Training Performance Epoch 16: Average loss: 0.0008, Accuracy: 394/400 (98%)
------------------ Epoch 17 Iteration 49--------------------------------------
Accuracy 0.745
Sensitivity 0.920
Specificity 0.570
Area Under ROC 0.899
Validation Loss 0.8194479347649031
------------------------------------------------------------------------------
Training Performance Epoch 17: Average loss: 0.0004, Accuracy: 398/400 (100%)
------------------ Epoch 18 Iteration 49--------------------------------------
Accuracy 0.715
Sensitivity 0.920
Specificity 0.510
Area Under ROC 0.893
Validation Loss 0.9728903653169982
------------------------------------------------------------------------------
Training Performance Epoch 18: Average loss: 0.0004, Accuracy: 398/400 (100%)
------------------ Epoch 19 Iteration 49--------------------------------------
Accuracy 0.685
Sensitivity 0.920
Specificity 0.450
Area Under ROC 0.872
Validation Loss 1.2074791560857556
------------------------------------------------------------------------------
Training Performance Epoch 19: Average loss: 0.0003, Accuracy: 398/400 (100%)
------------------ Epoch 20 Iteration 49--------------------------------------
Accuracy 0.755
Sensitivity 0.920
Specificity 0.590
Area Under ROC 0.902
Validation Loss 0.8047028038976713
------------------------------------------------------------------------------
Training Performance Epoch 20: Average loss: 0.0005, Accuracy: 397/400 (99%)