2017-06-15 46 views
0

我收到以下错误消息。创建模块时出现AttributeError

AttributeError: cannot assign module before Module.init() call

我有一个类如下。

class Classifier(nn.Module): 

    def __init__(self, dictionary, embeddings_index, max_seq_length, args): 
     self.embedding = EmbeddingLayer(len(dictionary), args.emsize, args.dropout) 
     self.drop = nn.Dropout(args.dropout) 

我在做什么错在这里?我是PyTorch的初学者,请帮忙!

回答

2

创建模块时,应该始终执行的第一件事是调用其超级构造函数。所以,你的班级应该是这样的:

class Classifier(nn.Module): 

    def __init__(self, dictionary, embeddings_index, max_seq_length, args): 
     super(Classifier, self).__init__() 
     '''Rest of your code goes here.'''