Atualização na classe da rede neural Projeto – 2: BreastCancer

Home Fóruns Fórum Deep Learning de A à Z com PyTorch e Python Atualização na classe da rede neural Projeto – 2: BreastCancer

Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #32904
    tvaditya
    Participante

    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 X

    #32905
    Denny Ceccon
    Moderador

    Olá,

    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.

    #32909
    tvaditya
    Participante

    🙂 Obrigado

Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Você deve fazer login para responder a este tópico.