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
Configurations in examples (e.g. transformer/config_model.py) is written in a separate file with config values as global variables. To be able to use these config files, we import them with importlib, and later convert them into dictionaries so we can pass it as hparams. An example here:
While this approach works, it certainly has downsides:
Importing a module from a user-given location is unsafe, as Python executes the code during import.
As illustrated above, converting an imported module to dictionary is non-trivial (has to ignore magic dunder (__) variables).
I'm proposing that we provide built-in mechanisms to deal with importing config modules. This could be a simple wrapper of the above code snippet that imports the the config module and converts it into a dictionary. It should also be able to work with file paths such as configs/config_data.py (instead of dot notation configs.config_data).
This would solve the second issue but not the first one, which I think would be impossible to solve as long as we still use config modules. In the future, we might think of alternative ways to store configs while still being robust enough.
The text was updated successfully, but these errors were encountered:
Configurations in examples (e.g. transformer/config_model.py) is written in a separate file with config values as global variables. To be able to use these config files, we import them with
importlib
, and later convert them into dictionaries so we can pass it ashparams
. An example here:texar-pytorch/examples/bert/bert_classifier_main.py
Lines 56 to 59 in aedf40a
While this approach works, it certainly has downsides:
__
) variables).I'm proposing that we provide built-in mechanisms to deal with importing config modules. This could be a simple wrapper of the above code snippet that imports the the config module and converts it into a dictionary. It should also be able to work with file paths such as
configs/config_data.py
(instead of dot notationconfigs.config_data
).This would solve the second issue but not the first one, which I think would be impossible to solve as long as we still use config modules. In the future, we might think of alternative ways to store configs while still being robust enough.
The text was updated successfully, but these errors were encountered: