Skip to content

GSoC 2021 project

vfdev edited this page Jan 18, 2021 · 14 revisions

Getting started

There few basic requirements for new contributors. They have to accomplish the following steps:

To be considered as a GSoC student, it is necessary to have at least 3 accepted PRs to the project. They can something small like a doc fix or a simple bug fix. Please, see help wanted issues.

a) a project title/description b) more detailed description of the project (2-5 sentences) c) expected outcomes d) skills required/preferred e) possible mentors. And if possible, an easy, medium or hard rating of each project.

Projects

Improve Metrics module

Metrics module in PyTorch-Ignite proposes very unique features to evaluate a trained PyTorch model in an online manner and for any type of computation settings (single process or distributed configuration). Namely, the module provides essential metrics for classification/segmentation tasks and various regression metrics.

The plan for the improvements contains the following topics:

  • All metrics should work in distributed configuration (#1284)
  • Metrics for object detection task: implement mean Average Precision metric
  • Metrics for NLP: essential metrics for common tasks: ROUGE, BLEU, etc
  • Metrics for GANs: FID, PPL, others (see #998)
  • Add minor improvements:
    • better support of sklearn metrics
    • classification metrics with micro/macro options

Expected outcome

  • Implemented new metrics for various tasks: mAP, ROUGE, FID
  • All library's metrics work in distributed configuration
  • Solved major metrics related issues: #1284, #1283, #520, #513

Preferred skills and mindset

  • Fluent with Python
  • Already trained neural networks with PyTorch
  • Willing to maintain AI-related open-source project
  • Curiosity and motivation to learn new technical things

Complexity rating

4 / 5

Potential mentors:

Development of a Higher-level API

Library provides a very flexible way to construct a model's trainer, however this API can be optionally simplified further for a number of common tasks (#912).

  • Implement a Higher-level API
    • We can explore a solution with Model.fit API as here.
  • Provide contrib trainers with
    • Automatic Mixed Precision (#1235)
    • Distributed and other options, like automatic batch size via toma etc
  • Create new examples using this Higher-level API

Expected outcome

  • Implemented new Higher-level API based on decided
  • Implemented helper methods to create new trainers
  • Implemented 2-3 examples with new Higher-level API

Preferred skills and mindset

  • Fluent with Python
  • Already trained neural networks with PyTorch
  • Do not afraid of try/fail/succeed work

Complexity rating

3 / 5

Potential mentors: