-
Notifications
You must be signed in to change notification settings - Fork 178
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Topic recognition - s4647936 #165
base: main
Are you sure you want to change the base?
Conversation
…ernAnalysis-2023 into topic-recognition
…function in modules.py.
… patient), and negative (different class) image triplets for Siamese training.
…d anchor selection and optimized triplet formation for Siamese network training.
…hecking for NaN and Inf values in the dataset
… data, improved triplet selection using patient IDs, and streamlined path extraction using os.path.basename
…ernAnalysis-2023 into topic-recognition
… flip, and vertical flip) when in train mode
…dded visualization of sample images post-training.
…rform predictions on new sample data.
…nd added functionality to save the 2D scatter plot as embeddings_pca.png.
…taset in train.py This will enable subsequent classifier training on Siamese network embeddings.
… and use of labels when processing embeddings post Siamese network training.
…te the classification of Siamese network embeddings into AD or NC categories
…ed embeddings from the Siamese Network. Utilized the Adam optimizer and CrossEntropyLoss for training.
…dings. The accuracy metric is computed to assess the classifier's performance on the test set.
…lidation losses. This enhancement aids in monitoring the classifier's performance across epochs.
…ve for 5 consecutive epochs).
…in classification evaluation.
…incorrect embedding sizing.
…ning and also added results summary.
… can now just run the file. Updated with saving all visualising plots.
…d of images and to display images properly.
This is an initial inspection, no action is required at this point Difficulty: Hard Readme: Very good
Commit messages: very good, detailed Code:
Functionality/Performance:
General comments:
|
MarkingGood Practice (Design/Commenting, TF/Torch Usage)Adequate design and implementation Recognition ProblemSolves problem Commit LogMeaningful commit messages DocumentationReadMe acceptable/good Pull RequestSuccessful Pull Request (Working Algorithm Delivered on Time in InCorrect Branch) -2 |
Feedback marks possible +2 if the requested changes are made (see above). |
No feedback attempt and no feedback marks granted. |
This pull request introduces an Alzheimer's Disease classification solution using Siamese networks on the ADNI dataset. The Siamese Network, with a Simple Classifier, allows for the differentiation between Alzheimer's Disease (AD) and Normal Control (NC) brain images. The primary objective is to use triplet loss and the power of Siamese networks to achieve this classification.
Key Highlights:
Files Added:
train.py
: Script containing the Siamese network training logic, visualisation of results, and classifier training.modules.py
: Contains the architecture for the Feature Extractor, Siamese Network, Triplet Loss, and the Simple Classifier.dataset.py
: Provides the TripletDataset class for generating triplets and the logic for a patient-wise dataset split.predict.py
: Script to generate embeddings using the trained Siamese Network, visualise them, and evaluate the classifier's performance.Setup and Requirements:
Thanks,
Vicky (s4647936)