You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .azure-pipelines/gpu-tests.yml
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -51,7 +51,7 @@ jobs:
51
51
- bash: |
52
52
python -c "fname = 'requirements/extra.txt' ; lines = [line for line in open(fname).readlines() if 'horovod' not in line] ; open(fname, 'w').writelines(lines)"
53
53
pip install fairscale>=0.3.4
54
-
pip install deepspeed>=0.4.0 -U
54
+
pip install "deepspeed==0.4.3" # FIXME: bug with >= 0.4.4
Copy file name to clipboardExpand all lines: .github/BECOMING_A_CORE_CONTRIBUTOR.md
+12-5Lines changed: 12 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,22 +6,26 @@ We're currently recruiting for a team of 5 core maintainers.
6
6
As a core maintainer you will have a strong say in the direction of the project. Big changes will require a majority of maintainers to agree.
7
7
8
8
## Code of conduct
9
+
9
10
First and foremost, you'll be evaluated against [these core values](https://github.com/PyTorchLightning/pytorch-lightning/blob/master/.github/CONTRIBUTING.md). Any code we commit or feature we add needs to align with those core values.
10
11
11
12
## The bar for joining the team
13
+
12
14
Lightning is being used to solve really hard problems at the top AI labs in the world. As such, the bar for adding team members is extremely high. Candidates must have solid engineering skills, have a good eye for user experience, and must be a power user of Lightning and PyTorch.
13
15
14
16
With that said, the Lightning team will be diverse and a reflection of an inclusive AI community. You don't have to be an engineer to contribute! Scientists with great usability intuition and PyTorch ninja skills are welcomed!
15
17
16
18
## Responsibilities:
19
+
17
20
The responsibilities mainly revolve around 3 things.
18
21
19
22
### Github issues
23
+
20
24
- Here we want to help users have an amazing experience. These range from questions from new people getting into DL to questions from researchers about doing something esoteric with Lightning
21
-
Often, these issues require some sort of bug fix, document clarification or new functionality to be scoped out.
25
+
Often, these issues require some sort of bug fix, document clarification or new functionality to be scoped out.
22
26
23
27
- To become a core member you must resolve at least 10 Github issues which align with the API design goals for Lightning. By the end of these 10 issues I should feel comfortable in the way you answer user questions
24
-
Pleasant/helpful tone.
28
+
Pleasant/helpful tone.
25
29
26
30
- Can abstract from that issue or bug into functionality that might solve other related issues or makes the platform more flexible.
27
31
@@ -37,22 +41,25 @@ Pleasant/helpful tone.
37
41
- Ask yourself, could a non-engineer understand what’s happening here?
38
42
- Make sure new tests are written
39
43
- Is this NECESSARY for Lightning? There are some PRs which are just purely about adding engineering complexity which have no place in Lightning.
40
-
Guidance
44
+
Guidance
41
45
- Some other PRs are for people who are wanting to get involved and add something unnecessary. We do want their help though! So don’t approve the PR, but direct them to a Github issue that they might be interested in helping with instead!
42
46
- To be considered for core contributor, please review 10 PRs and help the authors land it on master. Once you've finished the review, ping me
43
-
for a sanity check. At the end of 10 PRs if your PR reviews are inline with expectations described above, then you can merge PRs on your own going forward,
44
-
otherwise we'll do a few more until we're both comfortable :)
47
+
for a sanity check. At the end of 10 PRs if your PR reviews are inline with expectations described above, then you can merge PRs on your own going forward,
48
+
otherwise we'll do a few more until we're both comfortable :)
45
49
46
50
### Project directions
51
+
47
52
There are some big decisions which the project must make. For these I expect core contributors to have something meaningful to add if it’s their area of expertise.
48
53
49
54
### Diversity
55
+
50
56
Lightning should reflect the broader community it serves. As such we should have scientists/researchers from
51
57
different fields contributing!
52
58
53
59
The first 5 core contributors will fit this profile. Thus if you overlap strongly with experiences and expertise as someone else on the team, you might have to wait until the next set of contributors are added.
54
60
55
61
### Summary: Requirements to apply
62
+
56
63
The goal is to be inline with expectations for solving issues by the last one so you can do them on your own. If not, I might ask you to solve a few more specific ones.
Copy file name to clipboardExpand all lines: .github/CONTRIBUTING.md
+64-48Lines changed: 64 additions & 48 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -56,7 +56,7 @@ As a researcher, you can't have any part of your code going wrong. So, make thor
56
56
57
57
Have a favorite feature from other libraries like fast.ai or transformers? Those should just work with lightning as well. Grab your favorite model or learning rate scheduler from your favorite library and run it in Lightning.
@@ -73,26 +73,28 @@ A lot of good work has already been done in project mechanics (requirements.txt,
73
73
- Add details on how to reproduce the issue - a minimal test case is always best, colab is also great.
74
74
Note, that the sample code shall be minimal and if needed with publicly available data.
75
75
76
-
2. Try to fix it or recommend a solution. We highly recommend to use test-driven approach:
76
+
1. Try to fix it or recommend a solution. We highly recommend to use test-driven approach:
77
77
78
78
- Convert your minimal code example to a unit/integration test with assert on expected results.
79
79
- Start by debugging the issue... You can run just this particular test in your IDE and draft a fix.
80
80
- Verify that your test case fails on the master branch and only passes with the fix applied.
81
81
82
-
3. Submit a PR!
82
+
1. Submit a PR!
83
83
84
-
_**Note**, even if you do not find the solution, sending a PR with a test covering the issue is a valid contribution, and we can help you or finish it with you :]_
84
+
_**Note**, even if you do not find the solution, sending a PR with a test covering the issue is a valid contribution, and we can help you or finish it with you :\]_
85
85
86
86
### New Features:
87
87
88
88
1. Submit a GitHub issue - describe what is the motivation of such feature (adding the use case, or an example is helpful).
89
-
2. Determine the feature scope with us.
90
-
3. Submit a PR! We recommend test driven approach to adding new features as well:
89
+
90
+
1. Determine the feature scope with us.
91
+
92
+
1. Submit a PR! We recommend test driven approach to adding new features as well:
91
93
92
94
- Write a test for the functionality you want to add.
93
95
- Write the functional code until the test passes.
94
96
95
-
4. Add/update the relevant tests!
97
+
1. Add/update the relevant tests!
96
98
97
99
-[This PR](https://github.com/PyTorchLightning/pytorch-lightning/pull/2671) is a good example for adding a new metric, and [this one for a new logger](https://github.com/PyTorchLightning/pytorch-lightning/pull/2721).
98
100
@@ -102,12 +104,14 @@ Want to keep Lightning healthy? Love seeing those green tests? So do we! How to
102
104
103
105
Most of the tests in PyTorch Lightning train a trial MNIST model under various trainer conditions (ddp, ddp2+amp, etc...). The tests expect the model to perform to a reasonable degree of testing accuracy to pass. Want to add a new test case and not sure how? [Talk to us!](https://join.slack.com/t/pytorch-lightning/shared_invite/zt-pw5v393p-qRaDgEk24~EjiZNBpSQFgQ)
Additionally, for testing backward compatibility with older versions of PyTorch Lightning, you also need to download all saved version-checkpoints from the public AWS storage. Run the following script to get all saved version-checkpoints:
Note: These checkpoints are generated to set baselines for maintaining backward compatibility with legacy versions of PyTorch Lightning. Details of checkpoints for back-compatibility can be found [here](https://github.com/PyTorchLightning/pytorch-lightning/blob/master/legacy/README.md).
206
+
194
207
You can run the full test-case in your terminal via this make script:
195
208
196
209
```bash
@@ -223,18 +236,18 @@ We welcome any useful contribution! For your convenience here's a recommended wo
223
236
- Create a branch and prepare your changes.
224
237
- Tip: do not work with your master directly, it may become complicated when you need to rebase.
225
238
- Tip: give your PR a good name! It will be useful later when you may work on multiple tasks/PRs.
226
-
2. Test your code!
239
+
1. Test your code!
227
240
- It is always good practice to start coding by creating a test case, verifying it breaks with current behaviour, and passes with your new changes.
228
241
- Make sure your new tests cover all different edge cases.
229
242
- Make sure all exceptions are handled.
230
-
3. Create a "Draft PR" which is clearly marked, to let us know you don't need feedback yet.
231
-
4. When you feel ready for integrating your work, mark your PR "Ready for review".
243
+
1. Create a "Draft PR" which is clearly marked, to let us know you don't need feedback yet.
244
+
1. When you feel ready for integrating your work, mark your PR "Ready for review".
232
245
- Your code should be readable and follow the project's design principles.
233
246
- Make sure all tests are passing.
234
247
- Make sure you add a GitHub issue to your PR.
235
-
5. Use tags in PR name for following cases:
236
-
-**[blocked by #<number>]** if your work is dependent on other PRs.
237
-
-**[wip]** when you start to re-edit your work, mark it so no one will accidentally merge it in meantime.
248
+
1. Use tags in PR name for following cases:
249
+
-**\[blocked by #<number>\]** if your work is dependent on other PRs.
250
+
-**\[wip\]** when you start to re-edit your work, mark it so no one will accidentally merge it in meantime.
238
251
239
252
### Question & Answer
240
253
@@ -275,20 +288,21 @@ git rebase upstream/master
275
288
git push -f
276
289
```
277
290
278
-
#### How to add new tests?**
291
+
#### How to add new tests?
279
292
280
293
We are using [pytest](https://docs.pytest.org/en/stable/) in Pytorch Lightning.
281
294
282
295
Here are tutorials:
283
-
* (recommended) [Visual Testing with pytest](https://www.youtube.com/playlist?list=PLCTHcU1KoD99Rim2tzg-IhYY2iu9FFvNo) from JetBrains on YouTube
284
-
*[Effective Python Testing With Pytest](https://realpython.com/pytest-python-testing/) article on realpython.com
296
+
297
+
- (recommended) [Visual Testing with pytest](https://www.youtube.com/playlist?list=PLCTHcU1KoD99Rim2tzg-IhYY2iu9FFvNo) from JetBrains on YouTube
298
+
-[Effective Python Testing With Pytest](https://realpython.com/pytest-python-testing/) article on realpython.com
285
299
286
300
Here is the process to create a new test
287
301
288
-
*0. Optional: Follow tutorials !
289
-
*1. Find a file in tests/ which match what you want to test. If none, create one.
290
-
*2. Use this template to get started !
291
-
*3. Use `BoringModel and derivates to test out your code`.
302
+
-0. Optional: Follow tutorials !
303
+
-1. Find a file in tests/ which match what you want to test. If none, create one.
304
+
-2. Use this template to get started !
305
+
-3. Use `BoringModel and derivates to test out your code`.
0 commit comments