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

CCC: Continuously Changing Corruptions #50

Merged
merged 64 commits into from
Nov 19, 2022

Conversation

oripress
Copy link
Contributor

@oripress oripress commented Jun 21, 2022

Task Description

CCC is a dataset used to benchmark models over time. The dataset is based on a generalization of common corruptions used in ImageNet-C, contains 462 million corrupted images in its development set, and pre-computed evaluation sets for evaluating continual adaptation algorithms over the course of one to ten million images to adapt to.

image

Dataset Creation

Dataset creation is done by computing noise trajectories that maintain a constant baseline accuracy.

Expected Insights/Relevance

Using our dataset, we can rigorously test classification methods that continuously adapt to changing environments.

License

MIT LIcense

@stes stes changed the title Just an initial commit CCC: Continuously Changing Corruptions Jun 21, 2022
@stes
Copy link
Contributor

stes commented Jun 21, 2022

FYI, I updated the PR to use the shift happens PR template.

shifthappens/tasks/ccc.py Outdated Show resolved Hide resolved
shifthappens/tasks/ccc.py Outdated Show resolved Hide resolved
shifthappens/tasks/ccc.py Outdated Show resolved Hide resolved
shifthappens/tasks/ccc.py Outdated Show resolved Hide resolved
shifthappens/tasks/ccc.py Outdated Show resolved Hide resolved
shifthappens/tasks/ccc.py Outdated Show resolved Hide resolved
shifthappens/tasks/ccc.py Outdated Show resolved Hide resolved
shifthappens/tasks/ccc.py Outdated Show resolved Hide resolved
shifthappens/tasks/ccc.py Outdated Show resolved Hide resolved
shifthappens/tasks/ccc.py Outdated Show resolved Hide resolved
stes
stes previously requested changes Jul 9, 2022
Copy link
Contributor

@stes stes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @oripress, thanks a lot for your contribution. We are working towards the first release of the benchmark and for this, released our contribution guide with the aim of unifying the implementation of all contributions.

Please have a look, the required changes should be relatively small and are mostly concerned with placing the files within the package, and adding documentation.

From reviewing your PR, the main required changes are:

  • Place the files into their own package inside the tasks/ folder
  • Add a README and optionally citation info. You can re-use the content from your PR description.
  • We are also looking into the best ways to perform unit or integration tests and would be happy to get some feedback on how this would be most effective for your benchmark. Would it be possible to add a "dry-run/demo" option to the benchmark, and e.g. run it only on a small subset of the data? No immediate action/update is required right now, we are first gathering opinions from all authors on this.

Thanks a lot for your contribution, and please ping me if you have any questions. If you have technical questions, also feel free to ping @kotekjedi who is happy to help with implementation details.

shifthappens/tasks/ccc.py Outdated Show resolved Hide resolved
shifthappens/tasks/ccc_imagenet_c.py Outdated Show resolved Hide resolved
shifthappens/tasks/ccc_imagenet_c.py Outdated Show resolved Hide resolved
shifthappens/tasks/ccc_utils.py Outdated Show resolved Hide resolved

import os
import six
import lmdb
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@zimmerrol do you have ideas how we want to handle requirements for subpackages?

Copy link
Collaborator

@zimmerrol zimmerrol Aug 28, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I propose to add them to the requirements files and add comments in that file indicating which tasks need these requirements.

shifthappens/tasks/ccc_utils.py Outdated Show resolved Hide resolved
shifthappens/tasks/ccc_utils.py Outdated Show resolved Hide resolved
shifthappens/tasks/ccc_utils.py Outdated Show resolved Hide resolved
@stes
Copy link
Contributor

stes commented Jul 10, 2022

Hi!

This is an automated report for the documentation coverage of your PR. To provide good user experience for the benchmark, we aim to cover most functions with doc strings, using the Google docstring format.

We would greatly appreciate your help in assuring that docstring coverage is sufficiently high for your contribution.

The current coverage is:

Name Total Miss Cover Cover%
models/torchvision.py 4 0 4 100%
tasks/ccc.py 3 2 1 33%
tasks/ccc_imagenet_c.py 26 24 2 8%
tasks/ccc_utils.py 16 15 1 6%
------------------------------ ----------- ---------- ----------- ------------
TOTAL 49 41 8 16.3%
RESULT: FAILED (minimum: 80.0%, actual: 16.3%)

You can reproduce this result by running

interrogate -v --ignore-nested-functions --ignore-private --ignore-semiprivate --ignore-init-method

on the files you added to your PR.

oripress and others added 2 commits July 10, 2022 14:45
shifthappens/tasks/ccc/ccc_imagenet_c.py Outdated Show resolved Hide resolved
shifthappens/tasks/ccc/ccc_imagenet_c.py Outdated Show resolved Hide resolved
shifthappens/tasks/ccc/ccc_imagenet_c.py Outdated Show resolved Hide resolved
shifthappens/tasks/ccc/ccc_imagenet_c.py Show resolved Hide resolved
shifthappens/tasks/ccc/ccc_imagenet_c.py Outdated Show resolved Hide resolved
shifthappens/tasks/ccc/ccc_lmdb.py Outdated Show resolved Hide resolved
shifthappens/tasks/ccc/ccc.py Outdated Show resolved Hide resolved
shifthappens/tasks/ccc/ccc.py Outdated Show resolved Hide resolved
shifthappens/tasks/ccc/ccc.py Outdated Show resolved Hide resolved
shifthappens/tasks/ccc/ccc.py Outdated Show resolved Hide resolved
Alexander Panfilov and others added 6 commits September 8, 2022 13:43
* black applied
* isort applied
* imagenet_validation_path updated
* small fix in data creation
* num_workers removed
kotekjedi and others added 7 commits September 27, 2022 12:47
* BaseException added
* typing annotation added
* black applied
* requirements.txt updated (to pass mypy)
* docs updated
* requirements.txt update reverted
* docs updated
* some docs added or moved
Alexander Panfilov and others added 9 commits September 27, 2022 15:06
* noise transform functions made private
* docs fixed
# Conflicts:
#	shifthappens/tasks/ccc/ccc.py
#	shifthappens/tasks/ccc/ccc_lmdb.py
#	shifthappens/tasks/ccc/ccc_utils.py
* number of options reduced
* data generation updated
* small codestyle fixes
* flake8 fix
@zimmerrol zimmerrol merged commit ac87ef9 into shift-happens-benchmark:main Nov 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants