关于使用pytorch-lightning版本过低的一些问题

今天run了一下这篇Aspect Sentiment Quad Prediction as Paraphrase Generation论文的代码,遇到的都是pytorch-lightning版本问题。

首先是安装pytorch-lightning

pip3 install pytorch-lightning -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

安装完之后你会发现这个版本过高,论文代码的版本是pytorch_lightning==0.8.1
在这里插入图片描述

解决

第一种方式,降低版本:

pip3 install pytorch-lightning==0.8.1 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

第二种方式,修改代码

第一个问题:

TypeError: optimizer_step() got an unexpected keyword argument ‘on_tpu’

关于使用pytorch-lightning版本过低的一些问题_第1张图片

改成下面的代码:

    def optimizer_step(self,
                       epoch=None,
                       batch_idx=None,
                       optimizer=None,
                       optimizer_idx=None,
                       optimizer_closure=None,
                       on_tpu=None,
                       using_native_amp=None,
                       using_lbfgs=None
                       ):
        optimizer.step(closure=optimizer_closure)
        optimizer.zero_grad()
        self.lr_scheduler.step()

第二个问题:

AttributeError: can’t set attribute
关于使用pytorch-lightning版本过低的一些问题_第2张图片

改成下面:

self.save_hyperparameters(hparams)

第三个问题:

T5Tokenizer requires the SentencePiece library but it was not found in your environment.

pip3 install SentencePiece -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

版本的问题基本上解决了!剩下的就是作者代码问题了。
直接运行代码会报TypeError: read_line_examples_from_file() missing 1 required positional argument: ‘silence’
我找了一下 silence没有定义的地方并且调用read_line_examples_from_file这个方法处都没有加第二个参数,建议这样做:
关于使用pytorch-lightning版本过低的一些问题_第3张图片

你可能感兴趣的:(论文阅读,pytorch,深度学习,python)