CLI script to gather environment info
Author: BramVanroy
Pull request: yes

I noticed that all too often people leave the "Environment" section in their issue empty. However, things such as the version number of PT/TF and `transformers` itself are very useful to know when trying to debug things.

This PR adds a small script to the existing CLI workflow. Running `python transformers-cli info` will output something like this:

```
Copy-and-paste the text below in your GitHub issue and FILL OUT the two last points.

- `transformers` version: 2.4.0
- Platform: Windows-10-10.0.18362-SP0
- Python version: 3.6.8
- PyTorch version (GPU?): 1.4.0 (True)
- Tensorflow version (GPU?): 2.1.0 (True)
- Using GPU in script?: <fill in>
- Using distributed or parallel set-up in script?: <fill in>
```

Note that GPUs being available through the DL framework (`GPU?`) are retrieved automatically, but that users still have to specify whether or not they are actually using the GPU.

In addition, the relevant issue templates have been updated to direct users to the script.

Comments:
This is really cool!

> This is really cool!

Props to spaCy, since I basically stole [the idea](https://github.com/explosion/spaCy/blob/master/spacy/cli/info.py) from them. 

LGTM but I've also pinged @mfuntowicz as he will have good insight

Is there a way to see which tests are run in `check_code_quality`? I'm curious as to why it fails.

It fails because the file `/home/circleci/transformers/src/transformers/commands/info.py` would be reformatted by black.

You can run `make style` at the root to set everything to black style.

> It fails because the file `/home/circleci/transformers/src/transformers/commands/info.py` would be reformatted by black.
> 
> You can run `make style` at the root to set everything to black style.

Thanks. Is that different from running `black .`? I did that, and it formats all files (not only info.py). What I mean is that that suggests that all previously committed files must have also failed the test (since black changes them when I run the command) but during the test only info.py fails. Perhaps you are using a specific stylesheet.

**EDIT**: never mind, found the actual command in the [Makefile](https://github.com/huggingface/transformers/blob/master/Makefile). It's the same result indeed.

The black command we used uses a specific line-length which is different to the default (we use a line length of 119, we like it better). We also set it to be based on Python 3.5.

I believe the test now fails because of isort; that's weird, it should have been triggered by the `make style` as well and should have fixed the imports on its own.

> The black command we used uses a specific line-length which is different to the default (we use a line length of 119, we like it better). We also set it to be based on Python 3.5.
> 
> I believe the test now fails because of isort; that's weird, it should have been triggered by the `make style` as well and should have fixed the imports on its own.

I am now manually running black/isort (without the 'check' flag) and pushing those commits in hopes that the tests will then pass. But, correct me if I'm wrong, isn't circleCI supposed to apply these runs (black, isort etc) before running the tests?

Did you install isort with the exact version that's pinned in `CONTRIBUTING.md`?

If you do, both `make style` and `make quality` should reliably pass.

It's a very cool feature to provide through the CLI.

I may suggest to rename the command from `info` to `env` as we may want to keep `info` for exposing information about models through cards / config.

What do you think ? @BramVanroy @julien-c @LysandreJik 

> Did you install isort with the exact version that's pinned in `CONTRIBUTING.md`?
> 
> If you do, both `make style` and `make quality` should reliably pass.

Ah, I missed the note on isort. Fixed it now.


> It's a very cool feature to provide through the CLI.
> 
> I may suggest to rename the command from `info` to `env` as we may want to keep `info` for exposing information about models through cards / config.
> 
> What do you think ? @BramVanroy @julien-c @LysandreJik

Good suggestion and future-proof! I renamed the CLI method to env, so the full command is 

```
python transformers-cli env
```

Issue templates have been update and this command has been added to CONTRIBUTING.md as well.


# [Codecov](https://codecov.io/gh/huggingface/transformers/pull/2699?src=pr&el=h1) Report
> Merging [#2699](https://codecov.io/gh/huggingface/transformers/pull/2699?src=pr&el=desc) into [master](https://codecov.io/gh/huggingface/transformers/commit/161c88f0861e71e757bd4516369e836555cd3ded?src=pr&el=desc) will **decrease** coverage by `0.15%`.
> The diff coverage is `56.78%`.

[![Impacted file tree graph](https://codecov.io/gh/huggingface/transformers/pull/2699/graphs/tree.svg?width=650&token=9qOlN6Hb1c&height=150&src=pr)](https://codecov.io/gh/huggingface/transformers/pull/2699?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master    #2699      +/-   ##
==========================================
- Coverage   74.24%   74.09%   -0.16%     
==========================================
  Files          92       93       +1     
  Lines       15215    15247      +32     
==========================================
  Hits        11297    11297              
- Misses       3918     3950      +32
```


| [Impacted Files](https://codecov.io/gh/huggingface/transformers/pull/2699?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [src/transformers/modeling\_camembert.py](https://codecov.io/gh/huggingface/transformers/pull/2699/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ19jYW1lbWJlcnQucHk=) | `100% <ø> (ø)` | :arrow_up: |
| [src/transformers/configuration\_camembert.py](https://codecov.io/gh/huggingface/transformers/pull/2699/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9jb25maWd1cmF0aW9uX2NhbWVtYmVydC5weQ==) | `100% <ø> (ø)` | :arrow_up: |
| [src/transformers/commands/env.py](https://codecov.io/gh/huggingface/transformers/pull/2699/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9jb21tYW5kcy9lbnYucHk=) | `0% <0%> (ø)` | |
| [src/transformers/modeling\_auto.py](https://codecov.io/gh/huggingface/transformers/pull/2699/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ19hdXRvLnB5) | `75.23% <100%> (ø)` | :arrow_up: |
| [src/transformers/modeling\_tf\_xlm\_roberta.py](https://codecov.io/gh/huggingface/transformers/pull/2699/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ190Zl94bG1fcm9iZXJ0YS5weQ==) | `100% <100%> (ø)` | :arrow_up: |
| [src/transformers/tokenization\_camembert.py](https://codecov.io/gh/huggingface/transformers/pull/2699/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy90b2tlbml6YXRpb25fY2FtZW1iZXJ0LnB5) | `34.56% <100%> (ø)` | :arrow_up: |
| [src/transformers/configuration\_albert.py](https://codecov.io/gh/huggingface/transformers/pull/2699/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9jb25maWd1cmF0aW9uX2FsYmVydC5weQ==) | `100% <100%> (ø)` | :arrow_up: |
| [src/transformers/tokenization\_utils.py](https://codecov.io/gh/huggingface/transformers/pull/2699/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy90b2tlbml6YXRpb25fdXRpbHMucHk=) | `85.69% <100%> (ø)` | :arrow_up: |
| [src/transformers/modeling\_tf\_camembert.py](https://codecov.io/gh/huggingface/transformers/pull/2699/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ190Zl9jYW1lbWJlcnQucHk=) | `100% <100%> (ø)` | :arrow_up: |
| [src/transformers/configuration\_auto.py](https://codecov.io/gh/huggingface/transformers/pull/2699/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9jb25maWd1cmF0aW9uX2F1dG8ucHk=) | `100% <100%> (ø)` | :arrow_up: |
| ... and [23 more](https://codecov.io/gh/huggingface/transformers/pull/2699/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/huggingface/transformers/pull/2699?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/huggingface/transformers/pull/2699?src=pr&el=footer). Last update [161c88f...da9cf7c](https://codecov.io/gh/huggingface/transformers/pull/2699?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


LGTM, thanks a lot @BramVanroy