Signateによる職種分類コンペのプロジェクト
- Python 3.9
- 結果出力用ディレクトリを作成
mkdir dataset
mkdir result
- 各種モジュールのインストール
pip install -r requirements.txt
コンペサイトのデータから,trainとtestデータをダウンロードする.
-
このサイト から 各csvダウンロード
-
./dataset/
下に保存
- メインプログラムを実行.
result/[日付][実行時刻]/
下に実行結果とログが出力されます.
python main.py
- デフォルトのパラメータ設定をjson出力.
python config.py # parameters.jsonというファイルが出力される.
- 以下のように,上記で生成されるjsonファイルの数値を書き換えて,実行時のパラメータを指定できます.
python -p parameters.json main.py
- 詳しいコマンドの使い方は以下のように確認できます.
python main.py -h
- 前処理のみ実行
python preprocess.py
- 再学習の実行
- result-dir下にgen_modelディレクトリが作成される
python gen_finetune.py -p parameters.json
- Fine-Tuningしたモデルを指定して,テキスト生成
- result-dir下に
train_generated.csv
が作成される
- result-dir下に
python gen_finetune.py -p parameters.json -l ./result/[date]/gen_model
- 学習及び予測の実行
nohup python train_BERT.py & # BERT系
nohup python train_RoBERTa.py & # RoBERTa系
nohup python train_BERT.py -p parameters.json > log_gen &
- 学習済みのモデルを用いて予測を実行
nohup python.py inference.py --load_model result/{結果ディレクトリ名}
- 指定できるパラメータは以下の通り.
{
}
- プロジェクトの構成は以下の通り.
.
├── dataset # データセット
│ ├── train.csv
│ ├── test.csv
│ └── submit_sample.csv
├── config.py # パラメータ定義
├── parameters.json # パラメータ指定用ファイル
├── requirements.txt # パッケージ情報
├── result # 結果出力ディレクトリ
│ └── 20211026_165841
├── gen_finetune # 生成モデル
├── preprocess.py # 前処理
├── model_BERT.py # BERTモデル
├── train_BERT.py # BERT学習(実行ファイル)
├── inference.py # 推論
└── utils.py # 共有関数群