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
+3-1Lines changed: 3 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -43,6 +43,7 @@ jobs:
43
43
lspci | egrep 'VGA|3D'
44
44
whereis nvidia
45
45
nvidia-smi
46
+
which python && which pip
46
47
python --version
47
48
pip --version
48
49
pip list
@@ -51,7 +52,8 @@ jobs:
51
52
- bash: |
52
53
python -c "fname = 'requirements/extra.txt' ; lines = [line for line in open(fname).readlines() if 'horovod' not in line] ; open(fname, 'w').writelines(lines)"
Thanks for your interest in joining the Lightning team! We’re a rapidly growing project which is poised to become the go-to framework for DL researchers!
4
-
We're currently recruiting for a team of 5 core maintainers.
5
4
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.
5
+
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.
6
+
Our development is fully open, so you can still raise your voice just by commenting on issues and pull requests! Doing so is a big step in becoming part of core.
7
7
8
-
## Code of conduct
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
+
First and foremost, you'll be evaluated against [these core values](CONTRIBUTING.md). Any code we commit or feature we add needs to align with those core values.
11
+
Any collaboration and communication must adhere to our [code of conduct](CODE_OF_CONDUCT.md).
11
12
12
-
## The bar for joining the team
13
+
## The Bar for Joining the Team
13
14
14
15
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.
15
16
16
17
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!
17
18
18
19
## Responsibilities:
19
20
20
-
The responsibilities mainly revolve around 3 things.
21
+
Here, we describe general expectations from core contributors:
21
22
22
-
### Github issues
23
+
### Github Issues
23
24
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
25
-
Often, these issues require some sort of bug fix, document clarification or new functionality to be scoped out.
25
+
-Our community is the main motivation for our work. Help them have an amazing experience. Issues range from answering questions from new people getting into deep learning to helping researchers doing something esoteric.
26
+
They often require some sort of bug fix, document clarification, or new functionality to be scoped out. You can help them solve their issues and guide them to completion.
26
27
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
28
-
Pleasant/helpful tone.
28
+
-Weigh in on discussions in a timely fashion. Most importantly, on the RFCs (request for comments) that will shape the future of Lightning.
29
+
There are some big decisions which the project must make. For these, we expect core contributors to have something meaningful to add, especially if it’s their area of expertise.
29
30
30
-
- Can abstract from that issue or bug into functionality that might solve other related issues or makes the platform more flexible.
31
+
- Propose your own RFCs that align with the API design goals for Lightning.
32
+
33
+
- Identify opportunities from an issue or bug that can solve other related issues or make the framework more flexible.
31
34
32
35
- Don’t make users feel like they don’t know what they’re doing. We’re here to help and to make everyone’s experience delightful.
33
36
34
-
### Pull requests
37
+
- Help out with critical bugs. Nobody likes bugs so you'll be a hero if you fix them!
38
+
39
+
### Pull Requests (PRs)
35
40
36
-
- Here we need to ensure the code that enters Lightning is high quality. For each PR we need to:
37
-
- Make sure code coverage does not decrease
38
-
- Documents are updated
39
-
- Code is elegant and simple
40
-
- Code is NOT overly engineered or hard to read
41
-
- Ask yourself, could a non-engineer understand what’s happening here?
42
-
- Make sure new tests are written
43
-
- Is this NECESSARY for Lightning? There are some PRs which are just purely about adding engineering complexity which have no place in Lightning.
44
-
Guidance
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!
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
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 :)
41
+
- Pull requests are the evolutionary mechanism of Lightning, so quality is extremely important. Make sure contributors adhere to the guidelines described in the [contributing section](CONTRIBUTING.md#Pull-request).
49
42
50
-
### Project directions
43
+
- Some PRs are from people who want to get involved and try to 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!
51
44
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.
45
+
- Provide strong and valuable feedback during reviews. This is expected both when reviewing community PRs as well as PRs from other core contributors.
46
+
Even if you are not part of core yet, you can still review and approve PRs. This will show us your abilities.
53
47
54
48
### Diversity
55
49
56
-
Lightning should reflect the broader community it serves. As such we should have scientists/researchers from
57
-
different fields contributing!
50
+
Lightning should reflect the broader community it serves. As such we should have scientists/researchers from different fields contributing!
51
+
52
+
### Community
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
+
We have an active [Slack](https://join.slack.com/t/pytorch-lightning/shared_invite/zt-pw5v393p-qRaDgEk24~EjiZNBpSQFgQ) community, where questions are asked daily.
55
+
This is a great way to show off your Lightning and PyTorch knowledge, and help out others.
56
+
There's also [GitHub discussions](https://github.com/PyTorchLightning/pytorch-lightning/discussions).
60
57
61
-
### Summary: Requirements to apply
58
+
##Applying
62
59
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.
60
+
There are no precise targets for becoming a core contributor. In the past, community members have become core after fitting the previous expectations consistently.
61
+
We are on the lookout for new people to join, however, if you feel like you meet the expectations already and we haven't reached out to you yet, feel free to ping us privately on [Slack](https://join.slack.com/t/pytorch-lightning/shared_invite/zt-pw5v393p-qRaDgEk24~EjiZNBpSQFgQ)!.
64
62
65
-
- Solve 10+ Github issues.
66
-
- Create 5+ meaningful PRs which solves some reported issue - bug,
67
-
- Perform 10+ PR reviews from other contributors.
63
+
## Employment
68
64
69
-
If you want to be considered, ping me on [Slack](https://join.slack.com/t/pytorch-lightning/shared_invite/zt-pw5v393p-qRaDgEk24~EjiZNBpSQFgQ).
65
+
You can also become a [Grid.ai](https://www.grid.ai) employee or intern and work on Lightning. To get started, you can email `[email protected]` with your resume or check out our [open job postings](https://boards.greenhouse.io/gridai).
Copy file name to clipboardExpand all lines: .github/CONTRIBUTING.md
+44-18Lines changed: 44 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,7 @@
1
1
# Contributing
2
2
3
-
Welcome to the PyTorch Lightning community! We're building the most advanced research platform on the planet to implement the latest, best practices that the amazing PyTorch team rolls out!
3
+
Welcome to the PyTorch Lightning community! We're building the most advanced research platform on the planet to implement the latest, best practices
4
+
and integrations that the amazing PyTorch team and other research organization rolls out!
4
5
5
6
If you are new to open source, check out [this blog to get started with your first Open Source contribution](https://devblog.pytorchlightning.ai/quick-contribution-guide-86d977171b3a).
6
7
@@ -9,12 +10,12 @@ If you are new to open source, check out [this blog to get started with your fir
9
10
Simplify the API as much as possible from the user perspective.
10
11
Any additions or improvements should minimize the things the user needs to remember.
11
12
12
-
For example: One benefit of the validation_step is that the user doesn't have to remember to set the model to .eval().
13
+
For example: One benefit of the `validation_step` is that the user doesn't have to remember to set the model to .eval().
13
14
This helps users avoid all sorts of subtle errors.
14
15
15
16
## Lightning Design Principles
16
17
17
-
We encourage all sorts of contributions you're interested in adding! When coding for lightning, please follow these principles.
18
+
We encourage all sorts of contributions you're interested in adding! When coding for Lightning, please follow these principles.
18
19
19
20
### No PyTorch Interference
20
21
@@ -102,7 +103,7 @@ _**Note**, even if you do not find the solution, sending a PR with a test coveri
102
103
103
104
Want to keep Lightning healthy? Love seeing those green tests? So do we! How to we keep it that way? We write tests! We value tests contribution even more than new features.
104
105
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)
106
+
Most of the tests in PyTorch Lightning train a random `BoringModel`under various trainer conditions (ddp, ddp2+amp, etc...). 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)
@@ -194,6 +198,7 @@ To setup a local development environment, install both local and test dependenci
194
198
```bash
195
199
python -m pip install ".[dev, examples]"
196
200
python -m pip install pre-commit
201
+
pre-commit install
197
202
```
198
203
199
204
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:
We welcome any useful contribution! For your convenience here's a recommended workflow:
234
239
235
-
0. Think about what you want to do - fix a bug, repair docs, etc. If you want to implement a new feature or enhance an existing one, start by opening a GitHub issue to explain the feature and the motivation. Members from core-contributors will take a look (it might take some time - we are often overloaded with issues!) and discuss it. Once an agreement was reached - start coding.
236
-
1. Start your work locally (usually until you need our CI testing).
240
+
1. Think about what you want to do - fix a bug, repair docs, etc. If you want to implement a new feature or enhance an existing one.
241
+
242
+
- Start by opening a GitHub issue to explain the feature and the motivation.
243
+
In the case of features, ask yourself first - Is this NECESSARY for Lightning? There are some PRs that are just
244
+
purely about adding engineering complexity which has no place in Lightning.
245
+
- Core contributors will take a look (it might take some time - we are often overloaded with issues!) and discuss it.
246
+
- Once an agreement was reached - start coding.
247
+
248
+
1. Start your work locally.
249
+
237
250
- Create a branch and prepare your changes.
238
-
- Tip: do not work with your master directly, it may become complicated when you need to rebase.
251
+
- Tip: do not work on your master branch directly, it may become complicated when you need to rebase.
239
252
- Tip: give your PR a good name! It will be useful later when you may work on multiple tasks/PRs.
253
+
240
254
1. Test your code!
255
+
241
256
- 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.
242
257
- Make sure your new tests cover all different edge cases.
243
-
- Make sure all exceptions are handled.
244
-
1. Create a "Draft PR" which is clearly marked, to let us know you don't need feedback yet.
258
+
- Make sure all exceptions raised are tested.
259
+
- Make sure all warnings raised are tested.
260
+
261
+
1. If your PR is not ready for reviews, but you want to run it on our CI, open a "Draft PR" to let us know you don't need feedback yet.
262
+
245
263
1. When you feel ready for integrating your work, mark your PR "Ready for review".
264
+
246
265
- Your code should be readable and follow the project's design principles.
247
-
- Make sure all tests are passing.
248
-
- Make sure you add a GitHub issue to your PR.
249
-
1. Use tags in PR name for following cases:
266
+
- Make sure all tests are passing and any new code is tested for (coverage!).
267
+
- Make sure you link the GitHub issue to your PR.
268
+
- Make sure any docs for that piece of code are updated, or added.
269
+
- The code should be elegant and simple. No over-engineering or hard-to-read code.
270
+
271
+
Do your best but don't sweat about perfection! We do code-review to find any missed items.
272
+
If you need help, don't hesitate to ping the core team on the PR.
273
+
274
+
1. Use tags in PR name for the following cases:
275
+
250
276
-**\[blocked by #<number>\]** if your work is dependent on other PRs.
251
277
-**\[wip\]** when you start to re-edit your work, mark it so no one will accidentally merge it in meantime.
252
278
@@ -303,7 +329,7 @@ Here is the process to create a new test
303
329
-0. Optional: Follow tutorials !
304
330
-1. Find a file in tests/ which match what you want to test. If none, create one.
305
331
-2. Use this template to get started !
306
-
-3. Use `BoringModel and derivates to test out your code`.
332
+
-3. Use **BoringModel and derivates to test out your code**.
0 commit comments