私は allennlp を初めて使用し、allennlp でモデルを構築する標準的な方法に完全に適合しないモデルの構築に苦労しています。
NLP を使用してパイプライン モデルを構築したいと考えています。パイプラインは基本的に 2 つのモデルで構成されています。それらを A と B と呼びましょう。最初の A はトレーニングされ、完全なトレーニング A の予測に基づいて、B は後でトレーニングされます。
私が見たのは、人々が 2 つの別々のモデルを定義しallennlp train ...
、次のようなシェル スクリプトでコマンド ライン インターフェイスを使用して両方をトレーニングすることです。
# set a bunch of environment variables
...
allennlp train -s $OUTPUT_BASE_PATH_A --include-package MyModel --force $CONFIG_MODEL_A
# prepare environment variables for model b
...
allennlp train -s $OUTPUT_BASE_PATH_B --include-package MyModel --force $CONFIG_MODEL_B
私はそれについて2つの懸念があります:
- このコードはデバッグが難しい
- あまり柔軟ではありません。完全にトレーニングされたモデルのフォワード パスを実行したい場合は、それを実行するスクリプトを bash する別のスクリプトを作成しました。
より良い方法でそれを行う方法についてのアイデアはありますか?
allennlp.commands.main(..)
シェルスクリプトの代わりにPythonスクリプトを使用して直接呼び出すことを考えました。そうすることで、少なくとも、デバッガーを使用して実行できる共同の python モジュールが得られます。