【问题标题】:How to load an .mdl file in Python?如何在 Python 中加载 .mdl 文件?
【发布时间】:2021-12-16 23:39:03
【问题描述】:
我计划使用自定义数据集(特别是 EmpatheticDialogues 数据集)为我的聊天机器人微调 GPT 转换器模型。存储库为他们的项目提供了一个 .mdl 文件。如何将这些 .mdl 文件加载到我的 ipynb 文件中?我需要加载他们的任何 .mdl 文件来微调我的 GPT 转换器模型 DialoGPT 是否正确?
我已经尝试在Google Colab Notebook 的指导下仅加载所述存储库的 .csv 数据集。但是,在使用上述数据集训练模型后测试模型时,我只会得到随机符号。
【问题讨论】:
标签:
python
chatbot
huggingface-transformers
gpt
fine-tune
【解决方案1】:
.mdl 文件的评估在他们的仓库中明确给出:
# P@1,100
python retrieval_train.py \
--batch-size 256 \
--bert-dim 300 \
--cuda \
--dataset-name empchat \
--dict-max-words 250000 \
--display-iter 100 \
--embeddings None \
--empchat-folder ${EMPATHETIC_DIALOGUES_DATA_FOLDER} \
--max-hist-len 4 \
--model bert \
--model-dir ${EVAL_SAVE_FOLDER} \
--model-name model \
--optimizer adamax \
--pretrained ${TRAIN_SAVE_FOLDER}/model.mdl \
--reactonly
# BLEU (EmpatheticDialogues context/candidates)
python retrieval_eval_bleu.py \
--bleu-dict ${PATH_TO_MODEL_WITH_TRANSFORMER_DICT} \
--empchat-cands \
--empchat-folder ${EMPATHETIC_DIALOGUES_DATA_FOLDER} \
--max-hist-len 4 \
--model ${TRAIN_SAVE_FOLDER}/model.mdl \
--name model \
--output-folder ${EVAL_SAVE_FOLDER} \
--reactonly \
--task empchat
是的,您可以使用 6 种模型中的任何一种。
wget https://dl.fbaipublicfiles.com/parlai/empatheticdialogues/models/normal_transformer_pretrained.mdl # Normal Transformer, pretrained
wget https://dl.fbaipublicfiles.com/parlai/empatheticdialogues/models/normal_transformer_finetuned.mdl # Normal Transformer, fine-tuned
wget https://dl.fbaipublicfiles.com/parlai/empatheticdialogues/models/bert_pretrained.mdl # BERT, pretrained
wget https://dl.fbaipublicfiles.com/parlai/empatheticdialogues/models/bert_finetuned.mdl # BERT, fine-tuned
wget https://dl.fbaipublicfiles.com/parlai/empatheticdialogues/models/bert_finetuned_emoprepend1.mdl # BERT, fine-tuned (EmoPrepend-1)
wget https://dl.fbaipublicfiles.com/parlai/empatheticdialogues/models/fasttext_empathetic_dialogues.mdl # fastText classifier used for EmoPrepend-1