Skip to content
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

Siamese Network 49109612 #165

Open
wants to merge 16 commits into
base: main
Choose a base branch
from

Conversation

noeleon1124
Copy link

@noeleon1124 noeleon1124 commented Oct 27, 2024

Dear Shakes,

I hope this message finds you well. I wanted to reach out to explain my situation regarding the recent assignment. As this is my first semester, I am new to programming and do not have a background in Python. I found the report quite challenging due to my limited experience with both the language and the subject matter.

In an effort to complete the assignment to the best of my ability, I utilized resources such as GPT and online materials to help me understand the concepts and develop the code. I recognize the importance of mastering these skills and am committed to improving my programming abilities.

I wanted to be transparent about my efforts and the challenges I faced. If possible, I would appreciate any guidance or resources you could recommend to help me strengthen my understanding of Python and the course material.

Thank you for your time and consideration.

Introduction

This pull request adds a working implementation of a Siamese Network for skin lesion similarity assessment to the PatternAnalysis repository under the recognition folder. The project aims to assist in the diagnosis and research of skin lesions by determining whether two images belong to the same category.

Algorithm Overview

  • Model Implemented: Siamese Network
  • Purpose: Assess similarity between skin lesion images
  • Framework: PyTorch
  • Key Components:
    • modules.py: Contains the SiameseNetwork class with a custom convolutional neural network architecture.
    • dataset.py: Includes the SiameseISICDataset class for loading and preprocessing the ISIC 2018 skin lesion dataset.
    • train.py: Script for training the Siamese Network, including data loading, model training loop, and validation.
    • predict.py: Demonstrates example usage of the trained model for predicting similarity between image pairs.
    • README.md: Documentation detailing the project, usage instructions, dependencies, and other relevant information.

Feedback Incorporated

  • Code Comments and Documentation:
    • Added comprehensive comments to all scripts (modules.py, train.py, etc.) to enhance readability and understanding.
    • Updated README.md to include detailed descriptions, usage instructions, and proper formatting using GitHub Markdown, as per feedback.
  • Model Improvements:
    • Adjusted the model architecture in modules.py to include pooling layers, reducing the feature map size and addressing memory issues.
    • Ensured that the model input sizes and data preprocessing steps are consistent across all scripts.
  • Data Handling:
    • Excluded datasets and model files from the repository to comply with submission guidelines.
    • Provided clear instructions in README.md on how to obtain and set up the dataset.

How to Test the Algorithm

  1. Clone the Repository:

    git clone https://github.com/your_username/PatternAnalysis.git
  2. Navigate to the Project Directory:

    cd PatternAnalysis/recognition/siamese_network_yourname
  3. Install Dependencies:

    pip install -r requirements.txt
  4. Prepare the Dataset:

    • Follow the instructions in README.md to download and organize the ISIC 2018 skin lesion dataset.
  5. Train the Model:

    python train.py
  6. Run Predictions:

    python predict.py

Additional Notes

  • Compliance with Submission Requirements:
    • The code is organized as per the assignment guidelines.
    • Regular commits have been made to the recognition-yourname branch to demonstrate progressive development.
  • Known Issues:
    • The model requires a significant amount of computational resources; it's recommended to run the training on a machine with a GPU.
  • Future Work:
    • Experiment with different architectures and hyperparameters to improve model accuracy.
    • Implement additional data augmentation techniques to enhance model generalization.

Contact

If there are any questions or if further clarification is needed, please feel free to contact me.


Thank you for reviewing this pull request.

@noeleon1124 noeleon1124 changed the title Add Skin Lesion Similarity Assessment using Siamese Network 49109612 liyang mao Siamese Network 49109612 liyang mao Oct 27, 2024
@noeleon1124 noeleon1124 changed the title Siamese Network 49109612 liyang mao Siamese Network 49109612 Oct 27, 2024
@hanemma7moud
Copy link
Collaborator

hanemma7moud commented Nov 6, 2024

This is an initial inspection, no action is required at this point

Recognition Problem : total : 12.5

Solves problem: The solution is not appropriate for solving the problem. There is no SiameseISICDataset class and the available dataset class is for ISIC 2018 segmentation task, no classification (1)

Implementation functions as intended: poor implementation a siamase network is included in module, no classifier and no result (1)

Good design: No (0)

Commenting: some comments throughout the code. (0.5)

Difficulty: Hard (10)

@hanemma7moud hanemma7moud added the PDF PDF submitted label Nov 13, 2024
@gayanku
Copy link
Collaborator

gayanku commented Nov 14, 2024

Marking

Good/OK/Fair Practice (Design/Commenting, TF/Torch Usage)
No design and implementation. -2
Spacing and comments.
No Header blocks. -1
Recognition Problem
OK solution to problem. Not a working solution.-4
Driver Script present.
File structure present.
Good Usage & Demo & Visualisation & Data usage. -1
Module present.
Commenting missing. -1
No Data leakage found. Has data splitting.
Difficulty : Hard. Siamese network (Hard Difficulty)
Commit Log
No Meaningful commit messages. -2
Good Progressive commits. 16 commits spread over 2 days (15 and 1)-2
Documentation
Readme :Acceptable. -2
Model/technical explanation :Missing. -3
Description and Comments :Acceptable. -1
Markdown used and PDF submitted. PDF Checked.
Pull Request
Successful Pull Request (Working Algorithm Delivered on Time in Correct Branch). On time.
No Feedback required.
Request Description is good.
TOTAL-19

Marked as per the due date and changes after which aren't necessarily allowed to contribute to grade for fairness.
Subject to approval from Shakes

@gayanku gayanku added Preliminary Grade To be confirmed after review. Commit Log labels Nov 14, 2024
@hanemma7moud
Copy link
Collaborator

Liyang Mao

@shakes76
Copy link
Owner

No sufficient evidence of working model/results -2, model implementation incomplete -1 additionally

@shakes76 shakes76 added invalid This doesn't seem right Completed Updated_Grade BB grade needs adjustment labels Nov 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BB Commit Log Completed invalid This doesn't seem right PDF PDF submitted Preliminary Grade To be confirmed after review. _Siamese Updated_Grade BB grade needs adjustment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants