Hydra plugin for allennlp
Project description
AllenNLP-Hydra
Plugin For AllenNLP that enables composing configs through the use of the Hydra Library from Facebook Research.
NOTE there is no affiliation between this project and AllenNLP or the Allen Institute for AI.
We use the same contributions guideline as AllenNLP in order to maintain similar code styles. For this reason our style guide is the same as that found in their repository.
Install Instructions
Clone the repo
pip install .
echo allennlp_hydra >> ~.allennlp_plugins
The second line adds allennlp-hydra
to the allennlp plugins file so that it
can globally be recognized.
Basic Guide
Say you have the following directory structure:
project
+-- conf
| +-- dataset_readers
| | +-- A.yaml
| | +-- B.yaml
| +-- models
| | +-- C.yaml
| | +-- D.yaml
| +-- config.yaml
+-- experiments
conf/dataset_readers/A.yaml
:
type: A
start_token: <s>
end_token: </s>
conf/dataset_readers/B.yaml
:
type: B
start_token: [CLS]
end_token: [SEP]
conf/models/C.yaml
:
type: C
layers: 5
conf/models/D.yaml
:
type: D
input_dim: 10
config.yaml
defaults:
- dataset_reader: A
- model: C
debug: false
Then running the command
allennlp compose conf config example -s experiments
Produces the file project/experiments/config.json
{
"dataset_reader":{
"type": "A",
"start_token": "<s>",
"end_token": "</s>"
},
"model": {
"type": "C",
"layers": 5
},
"debug": false
}
If you want to override the config and use the B
dataset reader with the D
model, you would modify the previous command:
allennlp compose conf config example -s experiments -o model=D dataset_reader=B
Produces the file project/experiments/config.json
{
"dataset_reader":{
"type": "B",
"start_token": "[CLS]",
"end_token": "[SEP]"
},
"model": {
"type": "D",
"input_dim": 10
},
"debug": false
}
And if you wanted to change input_dim
of model D
to 25:
allennlp compose conf config example -s experiments -o model=D dataset_reader=B model.input_dim=25
Produces the file project/experiments/config.json
{
"dataset_reader":{
"type": "B",
"start_token": "[CLS]",
"end_token": "[SEP]"
},
"model": {
"type": "D",
"input_dim": 25
},
"debug": false
}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file allennlp-hydra-0.0.7.tar.gz
.
File metadata
- Download URL: allennlp-hydra-0.0.7.tar.gz
- Upload date:
- Size: 15.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.7.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a89e40e50de4f6b320126f0cde7561d7866d72f532e62c95b769120cc104d160 |
|
MD5 | e36491355026403cae92fb3965e9bc97 |
|
BLAKE2b-256 | 64380ff58e94225ccf91a77cf1855a59906a0156462bb832fc092617ebc9d1fb |
File details
Details for the file allennlp_hydra-0.0.7-py3-none-any.whl
.
File metadata
- Download URL: allennlp_hydra-0.0.7-py3-none-any.whl
- Upload date:
- Size: 18.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.7.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0f1d9bd2633f808275f79dfab5aa13b35d38f1f7789af9cacfd50592a50080f |
|
MD5 | 9395ec3086975786a41bd284e5fa7023 |
|
BLAKE2b-256 | 394a8e6d24ef820849780302dd7838c212943d318481a6b835da0e4626296502 |