我正在尝试使用 gpt-2 进行文本生成。即使在运行 Tensorflow 2.0代码升级脚本之后,我也会遇到兼容性错误。
我遵循的步骤:
克隆回购
从这里开始,按照 DEVELOPERS.md 中的说明进行操作
对 /src 中的文件运行升级脚本
在终端运行中:
sudo docker build --tag gpt-2 -f Dockerfile.gpu .
构建完成后,运行:
sudo docker run --runtime=nvidia -it gpt-2 bash
进入
python3 src/generate_unconditional_samples.py | tee /tmp/samples
获取此回溯:
Traceback (most recent call last): File "src/generate_unconditional_samples.py", line 9, in <module> import model, sample, encoder File "/gpt-2/src/model.py", line 4, in <module> from tensorboard.plugins.hparams.api import HParam ImportError: No module named 'tensorboard.plugins.hparams' root@f8bdde043f91:/gpt-2# python3 src/generate_unconditional_samples.py | tee /tmp/samples Traceback (most recent call last): File "src/generate_unconditional_samples.py", line 9, in <module> import model, sample, encoder File "/gpt-2/src/model.py", line 4, in <module> from tensorboard.plugins.hparams.api import HParam ImportError: No module named 'tensorboard.plugins.hparams'```
看来 HParams 已被弃用,Tensorflow 2.0 中的新版本称为HParam。但是,参数不同。在model.py
中,参数实例化如下:
def default_hparams():
return HParams(
n_vocab=0,
n_ctx=1024,
n_embd=768,
n_head=12,
n_layer=12,
)
Tensorflow 2.0 似乎没有任何 1:1 的转换。有谁知道如何使 gpt-2 与 Tensorflow 2.0 一起工作?
我的 GPU 是 NVIDIA 20xx。
谢谢你。