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.