AttributeError:'dict'对象没有属性'get_epoch_log_metrics'Pytorch Lightning

问题描述

我创建了一个闪电模块,该模块对于单个验证数据集工作正常,但是在使用多个验证数据集时引发以下错误
self._log_on_evaluation_epoch_end_metrics(epoch_logs)
  File "/home/ubuntu/anaconda3/envs/pytorch_latest_p36/lib/python3.6/site-packages/pytorch_lightning/trainer/connectors/logger_connector.py",line 186,in _log_on_evaluation_epoch_end_metrics
    logger_metrics = reduced_epoch_metrics.get_epoch_log_metrics()
AttributeError: 'dict' object has no attribute 'get_epoch_log_metrics'

这是我的validation_step方法。为了支持单个以及多个验证数据集,我保留了dataset_idx = 0

    def validation_step(self,batch,batch_idx,dataset_idx=0):
        qa_pairs,labels = batch
        # labels = labels.type(torch.LongTensor)
        labels = labels.long()#(torch.LongTensor)
        # run the model for the inputs 
        outputs = self(qa_pairs)
        # compute the loss
        if self.loss.lower() == "cross_entropy":
            loss = F.cross_entropy(outputs,labels)

        self.valid_acc(outputs,labels)
        self.log('val_loss',loss,on_step=True)
        self.log('val_acc',self.valid_acc,on_step=True,on_epoch=True,prog_bar=True)
系统:

火炬:1.6 ubuntu 18.04

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...