All Projects → learningtitans → Isic2018 Part3

learningtitans / Isic2018 Part3

Source code for 'ISIC 2018: Skin Lesion Analysis Towards Melanoma Detection' - Task 3 (Classification)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Isic2018 Part3

Random Erasing
Random Erasing Data Augmentation. Experiments on CIFAR10, CIFAR100 and Fashion-MNIST
Stars: ✭ 511 (+2905.88%)
Mutual labels:  image-classification
Unsupervised Classification
SCAN: Learning to Classify Images without Labels (ECCV 2020), incl. SimCLR.
Stars: ✭ 605 (+3458.82%)
Mutual labels:  image-classification
Awesome Project Ideas
Curated list of Machine Learning, NLP, Vision, Recommender Systems Project Ideas
Stars: ✭ 6,114 (+35864.71%)
Mutual labels:  image-classification
Fishnet
Implementation code of the paper: FishNet: A Versatile Backbone for Image, Region, and Pixel Level Prediction, NeurIPS 2018
Stars: ✭ 533 (+3035.29%)
Mutual labels:  image-classification
Cvat
Powerful and efficient Computer Vision Annotation Tool (CVAT)
Stars: ✭ 6,557 (+38470.59%)
Mutual labels:  image-classification
Tf trt models
TensorFlow models accelerated with NVIDIA TensorRT
Stars: ✭ 621 (+3552.94%)
Mutual labels:  image-classification
Bag of tricks for image classification with convolutional neural networks
experiments on Paper <Bag of Tricks for Image Classification with Convolutional Neural Networks> and other useful tricks to improve CNN acc
Stars: ✭ 486 (+2758.82%)
Mutual labels:  image-classification
Quickdraw
Implementation of Quickdraw - an online game developed by Google
Stars: ✭ 805 (+4635.29%)
Mutual labels:  image-classification
Pytorch Best Practice
A Guidance on PyTorch Coding Style Based on Kaggle Dogs vs. Cats
Stars: ✭ 587 (+3352.94%)
Mutual labels:  image-classification
Food 101 Keras
Food Classification with Deep Learning in Keras / Tensorflow
Stars: ✭ 646 (+3700%)
Mutual labels:  image-classification
Mmclassification
OpenMMLab Image Classification Toolbox and Benchmark
Stars: ✭ 532 (+3029.41%)
Mutual labels:  image-classification
Dogs vs cats
猫狗大战
Stars: ✭ 570 (+3252.94%)
Mutual labels:  image-classification
Paddleclas
A treasure chest for image classification powered by PaddlePaddle
Stars: ✭ 625 (+3576.47%)
Mutual labels:  image-classification
Residual Attention Network
Residual Attention Network for Image Classification
Stars: ✭ 525 (+2988.24%)
Mutual labels:  image-classification
Cvpr2021 Paper Code Interpretation
cvpr2021/cvpr2020/cvpr2019/cvpr2018/cvpr2017 论文/代码/解读/直播合集,极市团队整理
Stars: ✭ 8,075 (+47400%)
Mutual labels:  image-classification
Gluon Cv
Gluon CV Toolkit
Stars: ✭ 5,001 (+29317.65%)
Mutual labels:  image-classification
Label Studio
Label Studio is a multi-type data labeling and annotation tool with standardized output format
Stars: ✭ 7,264 (+42629.41%)
Mutual labels:  image-classification
Eccv2020 Code
ECCV 2020 论文开源项目合集,同时欢迎各位大佬提交issue,分享ECCV 2020开源项目
Stars: ✭ 827 (+4764.71%)
Mutual labels:  image-classification
Ailab
Experience, Learn and Code the latest breakthrough innovations with Microsoft AI
Stars: ✭ 6,896 (+40464.71%)
Mutual labels:  image-classification
Hrnet Image Classification
Train the HRNet model on ImageNet
Stars: ✭ 633 (+3623.53%)
Mutual labels:  image-classification

ISIC 2018: Skin Lesion Analysis Towards Melanoma Detection: Task 3

This project contains the source code used for the RECOD Titan's submission to ISIC 2018: Skin Lesion Analysis Towards Melanoma Detection (Task 3). This project was forked from the source of the paper 'Data Augmentation for Skin Lesion Analysis'.

Project setup

  1. Install OpenCV with pip3 install opencv-python.
  2. Run pip3 install -r requirements.txt.
  3. Download data from ISIC 2017: Skin Lesion Analysis Towards Melanoma Detection.

Train

The project uses Sacred to organize the experiments. The main script for training is in the train.py file. Check the available settings by running python3 train.py print_config.

Possible values for model_names: resnet152, inceptionv4, densenet161.

Example: training ResNet-152 with split 1

TRAIN_ROOT=/path/to/dataset/images
TRAIN_CSV=splits/split_task3_train_full_1.txt
VAL_ROOT=/path/to/dataset/images
VAL_CSV=splits/split_task3_validation.txt

python3 train.py with \
    train_root=$TRAIN_ROOT train_csv=$TRAIN_CSV \
    val_root=$VAL_ROOT val_csv=$VAL_CSV \
    model_name='resnet152' \
    'aug={"color_contrast": 0.3, "color_saturation": 0.3, "color_brightness": 0.3, "color_hue": 0.1, "rotation": 90, "scale": (0.8, 1.2), "shear": 20, "vflip": True, "hflip": True, "random_crop": True}' \
    weighted_loss=True \
    --name resnet152-split-1

If everything goes well, Sacred will create a directory with a unique ID inside results (e.g. results/1 for the first run). Inside this directory, you will find:

  • config.json: Sacred configuration used in training.
  • cout.txt: Entire stdout produced during the training.
  • run.json: General metadata of the training.
  • train.csv: CSV with metrics on train set.
  • val.csv: CSV with metrics on validation set.
  • checkpoints/model_best.pth: model with the best validation AUC.
  • checkpoints/model_last.pth: model as in the last epoch.

Telegram API

If you want to monitor the experiments with Telegram (receive a message when the experiments start, finish, or fail), create a file telegram.json at the root of the project:

$ cat telegram.json
{
    "token": "00000000:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "chat_id": "00000000"
}

To configure the Telegram API, check this.

Test

Each model file (i.e, model_best.pth or model_last.pth) contains the PyTorch model, weights, and augmentation configuration (accessed through model.aug_params). To load the model, use torch.load.

The test.py file will automatically infer the augmentation settings from the model. Run python3 test.py --help to check all available options.

Example: get predictions for test set

TEST_ROOT=/path/to/dataset/images
TEST_CSV=splits/split_task3_testsubmission_challenge.txt
python3 test.py results/<SACRED_ID>/checkpoints/model_best.pth $TEST_ROOT $TEST_CSV -n 128 --output results_test.csv
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].