Update README.md

This commit is contained in:
rstojnic
2020-04-08 14:58:45 +01:00
committed by GitHub
parent dbc06b9595
commit 5a124ea628

View File

@@ -30,7 +30,7 @@ NeurIPS 2019 repositories that had all five of these components had the highest
We explain each item on the checklist in detail blow.
#### 1. Specification of dependencies
### 1. Specification of dependencies
If you are using Python, this means providing a `requirements.txt` file (if using `pip` and `virtualenv`), providing `environment.yml` file (if using anaconda), or a `setup.py` if your code is a library.
@@ -38,19 +38,19 @@ It is good practice to provide a section in your README.md that explains how to
If you wish to provide whole reproducible environments, you might want to consider using Docker and upload a Docker image of your environment into Dockerhub.
#### 2. Training code
### 2. Training code
Your code should have a training script that can be used to obtain the principal results stated in the paper. This means you should include hyperparameters and any tricks that were used in the process of getting your results. To maximize usefulness, ideally this code should be written with extensibility in mind: what if your user wants to use the same training script on their own dataset?
You can provide a documented command line wrapper such as `train.py` to serve as a useful entry point for your users.
#### 3. Evaluation code
### 3. Evaluation code
Model evaluation and experiments often depend on subtle details that are not always possible to explain in the paper. This is why including the exact code you used to evaluate or run experiments is helpful to give a complete description of the procedure. In turn, this helps the user to trust, understand and build on your research.
You can provide a documented command line wrapper such as `eval.py` to serve as a useful entry point for your users.
#### 4. Pre-trained models
### 4. Pre-trained models
Training a model from scratch can be time-consuming and expensive. One way to increase trust in your results is to provide a pre-trained model that the community can evaluate to obtain the end results. This means users can see the results are credible without having to train afresh.
@@ -58,7 +58,7 @@ Another common use case is fine-tuning for downstream task, where it's useful to
Lastly, some users might want to try out your model to see if it works on some example data. Providing pre-trained models allows your users to play around with your work and aids understanding of the paper's achievements.
#### 5. README file includes table of results accompanied by precise command to run to produce those results
### 5. README file includes table of results accompanied by precise command to run to produce those results
Adding a table of results into README.md lets your users quickly understand what to expect from the repository (see the [README.md template](templates/README.md) for an example). Instructions on how to reproduce those results (with links to any relevant scripts, pretrained models etc) can provide another entry point for the user and directly facilitate reproducibility. In some cases, the main result of a paper is a Figure, but that might be more difficult for users to understand without reading the paper.