Giter VIP home page Giter VIP logo

pytorch-dr's Introduction

pytorch-DR

  • Implementation of team o_O solution for the Kaggle Diabetic Retinopathy Detection Challenge in pytorch.
  • Solution summary

Branches

  • Branch "master" tries to apply new techniques to improve team o_O solution.
  • Branch "reimplement" is the reimplementation of team o_O solution.
  • Branch "two_cates" is used to do binary classification (Normal/DR).

How to use

Data directory

Your should organize your dataset as following:

├── your_data_dir
	├── train
		├── 1
			├── a.jpg
			├── b.jpg
			├── ...
		├── 2
			├── x.jpg
			├── y.jpg
			├── ...
		├── 3
		├── 4
		├── 5
	├── val
	├── test

Here, val and test directory have the same structure of train. The name of directories 1- 5 means the severity of disease.

Run

You can run this code by:

$ python main.py

Most of hyperparameters and configurations are in config.py. You should choose SMALL_NET_CONFIG, MEDIUM_NET_CONFIG or LARGE_NET_CONFIG as STEM_CONFIG in main function of main.py. Function stem will train one inference network and function blend will train a ensemble network which is optional.

def main():
    # network config, you should .
    STEM_CONFIG = SMALL_NET_CONFIG
    stem(STEM_CONFIG)
    
    # blend step config
    # BLEND_CONFIG = BLEND_NET_CONFIG
    # blend(BLEND_CONFIG, STEM_CONFIG)

Moreover, if you want to get the final large network, you should train small and medium network first. More details are in o_O_solution_report.pdf.

Result

This project is still in progress. Now a single large network can achieves 79.84% in EyePACs test set which is close to 80% that the author claims. You can use full ensemble methods that the author designed to get a better result but I haven't implement it yet.

pytorch-dr's People

Contributors

lavrikov avatar yijinhuang avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.