🐉
Hydraで、ワーキングディレクトリが変化する問題
Hydraでは、YAML
で深層学習のハイパーパラメータを管理できます。
よく使われているargparser
は、少しコードが見にくくなる上に、毎回引数を入力しなければならないので、めんどくさい...
そこでHydra
は非常に有力なツールになりますが、argparser
をHydra
に置き換える時に、パス周りでトラブったので、備忘録として、その時の対応をメモとして残しておきます。
問題
argparser
をHydra
に置き換える部分では時問題はなかった。
@hydra.main(config_path='config', config_name='defaults')
def main(cfg: DictConfig):
...
しかし、データセットを読み込む時に、データセットへのパスを相対パスで記入している場合、Hydra
を使用すると、なぜかそこに辿りつけなくなる現象が発生します。
原因・解決法
原因は、Hydra
を使用した際に、ワーキングディレクトが生成されるoutputs
ディレクトリに勝手に変わってしまいます。
公式ドキュメントで、変わる前のワーキングディレクトリを取得できるので、この問題を解決できます。
Discussion