Comments (6)
@omry The PR for this will also give us a chance to think about how to logically structure managing 'two projects' - both torch and torchvision.
from hydra-torch.
Another question is whether torchvision should become a dependency. It will need to be at least for tests.
from hydra-torch.
We need to decide if we want to have a different config distribution (pip pacakge) or if we are good with putting all subprojects in the same artifact.
Is torchvesion released with it's own versioning or is it tied to PyTorch's version?
from hydra-torch.
please note there is more than torchvision, i.e. torchaudio (that we are using in NeMo) and torchtext (that I don't really have experience)...
from hydra-torch.
We need to decide if we want to have a different config distribution (pip pacakge) or if we are good with putting all subprojects in the same artifact.
Is torchvesion released with it's own versioning or is it tied to PyTorch's version?
Yap, all those projects have their own versioning.
My proposition is to do it as optional package, with optional dependencies
so one can install
- torch-configs = torch-configs[torch] -> (torch) [default]
- torch-configs[all] -> torch + torchvision + torchtext + torchnlp
- or any subset e.g. torch-configs[torch,torchvision]
here's how we did it in NeMo when it comes to requirements:
https://github.com/NVIDIA/NeMo/blob/90775abc3a413baa0a6c8e68beb6160c7ebd108d/setup.py#L90
(still, I think we can make it better when it comes to actual "installation", as far as I know NeMo tries to install all collections disregarding the user choice during installation)
from hydra-torch.
Okay, so if we do go with different pip packages per target library we support we end up with:
For each package:
- What Hydra version (or versions?) a package is supporting.
- What version (or versions?) of the library the package is supporting.
I added some text to the google doc about versioning, let's discuss there.
from hydra-torch.
Related Issues (20)
- [dev] Overview.md
- [hydra-configs-torch][tests] TensorDatasetConf
- [hydra-configs-torch][tests] DistributedSamplerConf
- [hydra-configs-torch][tests] Losses
- [dev] Auto register Configs upon import of hydra_configs.module.name HOT 5
- [hydra-configs-torchvision][tests] MNIST datasets HOT 2
- [hydra-configs-torchvision] Configs for Transforms
- [hydra-configs-torchvision][tests] Configs for Transforms
- [dev] Move specific library requirements into corresponding package folders HOT 4
- [dev] Document outlining how to create external `hydra-<library-name>` project repos.
- [hydra-configs-torch] Restructure configen directory for configen>=0.9.0dev8
- [hydra-configs-torch] Add version mismatch warning in hydra_configs/torch/__init__.py
- [dev][configen] Investigate proper subclassing during generation.
- [hydra-configs-torchvision] Configs for ImageNet models
- [hydra_configs] ModuleNotFoundError: No module named 'hydra_configs' HOT 4
- HYDRA Arithmetic operations within configs HOT 1
- [hydra-configs-torchvision] Add ConfigStore registration function to torchvision configs.
- Renaming `master` branch to `main` HOT 2
- pytorch/mmdetection distributed training with multi-machines with hydra
- Is this project still actively developed? HOT 2
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 hydra-torch.