在默认模型gpt-2-simple python上从输入生成文本

在默认模型gpt-2-simple python上从输入生成文本,python,tensorflow,gpt-2,Python,Tensorflow,Gpt 2,我一辈子都不知道如何从默认模型中生成文本,并在前缀中输入: 我已经下载了模型,下面是我的代码: import gpt_2_simple as gpt2 model_name = "124M" sess = gpt2.start_tf_sess() gpt2.generate(sess, model_name=model_name) gpt2.generate(sess, model_name=model_name, prefix="<|My name is |>") 知道我

我一辈子都不知道如何从默认模型中生成文本,并在前缀中输入:

我已经下载了模型,下面是我的代码:

import gpt_2_simple as gpt2

model_name = "124M"

sess = gpt2.start_tf_sess()

gpt2.generate(sess, model_name=model_name)

gpt2.generate(sess, model_name=model_name, prefix="<|My name is |>")

知道我做错了什么吗?

您试图在不首先加载参数的情况下生成

下载的模型似乎用于培训(“微调”),但它们不是为生成而加载的

对于生成,库尝试运行以前保存的Tensorflow模型(TF术语中的“检查点”)

微调

您可以通过使用自己的数据集(或从中工作)为几个时代训练模型来生成检查点

否则,
gpt-2-simple
会让它变得简单。获取包含一些文本的文本文件并对其进行训练:

gpt_2_simple --sample_every 50 finetune yourtext.txt
让它运行几个时代,看看结果样本。每100个纪元将保存一个检查点。一旦你高兴了,按CTRL+C键,它将保存最后一个检查点

然后,您可以使用以下命令生成文本:

gpt_2_simple generate --prefix "Once upon a time"  --nsamples 5
gpt\u 2\u simple
工具接受一个
-h
参数以获取帮助。看看其他选项。从代码使用库类似于此工具工作流

在不进行微调的情况下生成

作者在本文中解释了完全跳过微调的过程。只需将模型复制到检查点目录(您需要先下载模型,查看该链接):

gpt_2_simple generate --prefix "Once upon a time"  --nsamples 5
mkdir -p checkpoint/
cp -r models/345M checkpoint/run1