Comments (4)
@anisehsani curious about the status of this one? If we can get this merged in, then I think we should be able to remove Event.INIT
and move the Event.TRAINING_START
right before all the ddp wrapping begins. This would help clean up the trainer, as then no events would fire in __init__
.
from composer.
Not positive, but I think the path to getting this working cleanly is to make it easy to add_param_group
to the optimizer after its construction (but still before ddp). And to default to adding all the model's params to a group. As long as the optimizer's defaultdict
has the same hparams as would have been used when passing params in at __init__
, this should end up with equivalent behavior (in theory).
The more comprehensive solution, which would also enable dynamic factorization, quantization, channel pruning (?), etc, is to work around DDP needing the params and their shapes frozen, which would solve this as a special case. But that's probably a lot harder.
from composer.
This issue presents an interesting API challenge:
optimizers
depends on the model
schedulers
depends on the optimizers and steps_per_epoch
It may make sense to wait until after #146 is implemented, as then steps_per_epoch
would no longer required to initialize schedulers
from composer.
from composer.
Related Issues (20)
- Error when using `Trainer.compile_config={}` in DDP mode HOT 4
- Enable control over MLFlowLogger run_name str to match a pre-existing tag run_name in MLFlow and resume model training HOT 1
- TORCH_NCCL_ASYNC_ERROR_HANDLING vs NCCL_ASYNC_ERROR_HANDLING at launcher.py HOT 3
- NUMA affinity control HOT 2
- Optional `CheckpointSaver` instantiation inside the `Trainer` HOT 9
- TypeError: Subscripted generics cannot be used with class and instance checks HOT 2
- Autoresume and duration mismatch on reload HOT 12
- CUDA OOM error not caught with auto microbatching HOT 3
- Computing train metrics at a given frequency HOT 1
- Support DDP with rank-dependent dataloader lengths HOT 2
- Training stops after first pass of Evaluation when pretraining MosaicBert HOT 8
- EVAL_STANDALONE_END documentation missing HOT 1
- Epoch length incorrectly calculated when using DDP HOT 5
- Resuming Training from Load Path HOT 1
- ONNX export with `dynamic_axes` does not work when applying `BlurPool` HOT 1
- Save interval not working HOT 9
- FSDP Wrapping Alters Optimizer's Parameter Tracking Behavior HOT 8
- How to use composer under python3.8 HOT 1
- Multi-TPU Training Support for Composer HOT 4
- Eval Loss HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from composer.