Home › Forums › Fórum Deep Learning de A à Z com PyTorch e Python › Atualização na classe da rede neural Projeto – 2: BreastCancer
- This topic has 3 replies, 3 voices, and was last updated 11 months, 2 weeks ago by
Jones Granatyr.
- AuthorPosts
- 13 de January de 2022 at 11:53 #32904
Olá
Gostaria de entender esta atualizaçao na classe da estrutura da rede neural, isto significa que não precisamos mais indicar que é uma sigmoide? E na segunda atualização ele já vai entender que é uma camada de saída sem especificarmos? Segue o codigo:
class classificador_torch(nn.Module):
def __init__(self):
super().__init__()# 30 -> 16 -> 16 -> 1
self.dense0 = nn.Linear(30, 16)
torch.nn.init.uniform_(self.dense0.weight)
self.activation0 = nn.ReLU()
self.dropout0 = nn.Dropout(0.2)
self.dense1 = nn.Linear(16, 16)
torch.nn.init.uniform_(self.dense1.weight)
self.activation1 = nn.ReLU()
self.dropout1 = nn.Dropout(0.2)
self.dense2 = nn.Linear(16, 1)
torch.nn.init.uniform_(self.dense2.weight)
# self.output = nn.Sigmoid() ** ATUALIZAÇÃO **def forward(self, X):
X = self.dense0(X)
X = self.activation0(X)
X = self.dropout0(X)
X = self.dense1(X)
X = self.activation1(X)
X = self.dropout1(X)
X = self.dense2(X)
# X = self.output(X) ** ATUALIZAÇÃO **
return X13 de January de 2022 at 15:03 #32905Olá,
Esta atualização foi feita para que o modelo possa ser processado pela biblioteca Skorch, que não aceita que a saída da rede seja o resultado de uma ativação, mas sim exige que seja o resultado bruto. Neste caso, a função de custo fica responsável por fazer a ativação correspondente.
13 de January de 2022 at 17:55 #32909🙂 Obrigado
10 de May de 2024 at 11:18 #44766Qualquer outra dúvida é só avisar!
- AuthorPosts
- You must be logged in to reply to this topic.