1

このリポジトリの結果を再現しようとしています:

https://github.com/huggingface/transfer-learning-conv-ai

そのために、ドッカーに基づいていない基本的な例に従っています。

git clone https://github.com/huggingface/transfer-learning-conv-ai
cd transfer-learning-conv-ai
pip install -r requirements.txt
python -m spacy download en

それから私は試します:

python3 interact.py --model models/

そして、次のエラーが表示されます。

  np_resource = np.dtype([("resource", np.ubyte, 1)])
usage: interact.py [-h] [--dataset_path DATASET_PATH]
                   [--dataset_cache DATASET_CACHE] [--model {openai-gpt,gpt2}]
                   [--model_checkpoint MODEL_CHECKPOINT]
                   [--max_history MAX_HISTORY] [--device DEVICE] [--no_sample]
                   [--max_length MAX_LENGTH] [--min_length MIN_LENGTH]
                   [--seed SEED] [--temperature TEMPERATURE] [--top_k TOP_K]
                   [--top_p TOP_P]
interact.py: error: argument --model: invalid choice: 'models/' (choose from 'openai-gpt', 'gpt2')

最初に気付いたのは、「モデル」ディレクトリがなかったため、作成して再試行したところ、同じエラーが発生したことです。

私が試した2番目のことは、指定されたレポのようにモデルをダウンロードすることでした:

We make a pretrained and fine-tuned model available on our S3 here

私が試したそのリンクから:

wget https://s3.amazonaws.com/models.huggingface.co/transfer-learning-chatbot/finetuned_chatbot_gpt.tar.gz

メインディレクトリとモデルディレクトリの両方でファイルを解凍し、再試行してください。

3回目の試行で、同じエラーが発生しました。

これは私の作業ディレクトリの現在の構造です:

Dockerfile   config.json                   interact.py              pytorch_model.bin       train.py
LICENCE      convai_evaluation.py          merges.txt               requirements.txt        utils.py
README.md    example_entry.py              model_training_args.bin  special_tokens.txt      vocab.json
__pycache__  finetuned_chatbot_gpt.tar.gz  models                   test_special_tokens.py

編集

キンボの提案を試しました:

python3 interact.py --model gpt2

私は今、このエラーが発生します:

 File "interact.py", line 154, in <module>
    run()
  File "interact.py", line 114, in run
    raise ValueError("Interacting with GPT2 requires passing a finetuned model_checkpoint")
ValueError: Interacting with GPT2 requires passing a finetuned model_checkpoint

また、実行してみました:

python3 interact.py

そのため、エラーは発生していません。この時点でスタックしているようです:

INFO:/home/lramirez/transfer-learning-conv-ai/utils.py:Download dataset from https://s3.amazonaws.com/datasets.huggingface.co/personachat/personachat_self_original.json
INFO:/home/lramirez/transfer-learning-conv-ai/utils.py:Tokenize and encode the dataset

私は約30分間そこにいました

4

2 に答える 2

1

新しいアップデート

200 MB の JSON ファイルであるデータセット全体をトークン化するため、データセットのトークン化には非常に時間がかかります。

はるかに高速にするには、データセットの一部をロードするだけです。

utils.py を開き、tokenize関数を変更します。

def tokenize(obj):
    if isinstance(obj, str):
        return tokenizer.convert_tokens_to_ids(tokenizer.tokenize(obj))
    if isinstance(obj, dict):
        return dict((n, tokenize(o)) for n, o in obj.items())
    limit = 100  # <- this is the number of items in the dataset to load
    return list(tokenize(o) for o in obj[:limit])  # <- change it here

これにより、データセットの最初の 100 項目のみが読み込まれます。


古い回答

Python スクリプト (または実際にはコマンド ラインから実行するもの) の使用方法がわからない場合は、通常、それを理解するためにいくつかのことを試みます。

  • python script.py -hまたはpython script.py --help。多くの場合、スクリプトが期待している引数とその実行方法の説明が出力されます。
  • インストールした実行可能なコマンドの場合は、常にman <executable>. GitHub からレポを複製しただけで、何もインストールしていないため、この場合はおそらく機能しません。
  • 上記がうまくいかなかったためにスクリプトの使い方がまだわからない場合は、オンラインでドキュメント (Github README、wiki、readthedocs など) を探します。
  • 文書化が不十分な場合は、ソース コードを確認します。小さいものの方が速いことが多いため、この部分に直接スキップすることもあります。

この場合、Github の README を読みましたが、それほど多くのことはわかりませんでした。そのため、interact.py を調べました。139 行目 ( https://github.com/huggingface/transfer-learning-conv-ai/blob/master/interact.py#L139 )から見てみると、while ループに入っているように見え、あなたを待っています。モデルにフィードする何かを入力します。

/更新終了

この部分:

(choose from 'openai-gpt', 'gpt2')

あなたが知る必要があるすべてを教えてくれるはずです。

実行してみてください

python3 interact.py --model gpt2

また

python3 interact.py --model openai-gpt
于 2020-03-01T00:39:54.680 に答える