我在 Torch 中有一個自動編碼器,我想在解碼器中添加一個 dropout 層。(我不確定應該在哪里添加輟學)。在下面我添加了一個輸入資料和解碼器函式的小例子。老實說,我不知道我應該怎么做才能修復這個錯誤。你能幫我解決這個問題嗎?
d_input = torch.nn.Conv1d(1, 33, 10, stride=10)
mu_d = nn.Linear(1485, 28)
log_var_d = nn.Linear(1485, 28)
def decode(self, z, y):
indata = torch.cat((z,y), 1) #shape: [batchsize, 451
indata = torch.reshape(indata, (-1, 1, 451))
hidden = torch.flatten(relu(d_input(indata)), start_dim = 1) #shape [batch_size, 1485]
hidden = nn.Dropout(p=0.5)
par_mu = self.mu_d(hidden)
par_log_var= self.log_var_d(hidden)
return par_mu, par_log_var
uj5u.com熱心網友回復:
torch.nn.Dropout是一個模塊。您需要先實體化它,然后才能通過它傳遞變數。
d_input = torch.nn.Conv1d(1, 33, 10, stride=10)
mu_d = nn.Linear(1485, 28)
log_var_d = nn.Linear(1485, 28)
dropout = nn.Dropout(p=0.5)
def decode(self, z, y):
indata = torch.cat((z,y), 1) #shape: [batchsize, 451
indata = torch.reshape(indata, (-1, 1, 451))
hidden = torch.flatten(relu(d_input(indata)), start_dim = 1) #shape [batch_size, 1485]
hidden = dropout(hidden)
par_mu = self.mu_d(hidden)
par_log_var= self.log_var_d(hidden)
return par_mu, par_log_var
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/465898.html
下一篇:ValueError:“順序”層的輸入0與層不兼容:預期形狀=(無,160,160,3),找到形狀=(160,160,3)
