Problema aleatório no Treinamento da rede neural

Home Fóruns Fórum Processamento de Linguagem Natural com Deep Learning Problema aleatório no Treinamento da rede neural

Visualizando 4 posts - 1 até 4 (de 4 do total)
  • Autor
    Posts
  • #28201
    Profile photo ofGledTraderGledston Carneiro
    Participante

    Boa noite turma,  fui orientado a postar aqui meu erro e como eh meu primeiro post, jah peço desculpas por algum erro, seguinte estou tendo alguns problemas para repetir os passos da aula com uma base de dados minha de 1000 registros.

    primeiro problema:  Tokenização

    tokenizer = tfds.features.text.SubwordTextEncoder.build_from_corpus(data_clean, target_vocab_size=2**16)
    <p style=”padding-left: 40px;”>—————————————————————————</p>
    <p style=”padding-left: 40px;”>AttributeError Traceback (most recent call last)</p>
    <p style=”padding-left: 40px;”><ipython-input-97-fe5075cf79f3> in <module>()
    —-> 1 tokenizer = tfds.features.text.SubwordTextEncoder.build_from_corpus(data_clean, target_vocab_size=2**16)</p>
    <p style=”padding-left: 40px;”>
    AttributeError: module ‘tensorflow_datasets.core.features’ has no attribute ‘text'</p>

    pesquisando no google vi alguns posts que falavam que esse método estava depreciado,
    então pesquisando um pouco mais consegui contornar com esses passos:

    vocab_fname =’vocab_fname’
    # Build
    tokenizer = tfds.deprecated.text.SubwordTextEncoder.build_from_corpus( data_clean, target_vocab_size=2**15)
    tokenizer.save_to_file(vocab_fname)

    # Load
    encoder = tfds.deprecated.text.SubwordTextEncoder.load_from_file(vocab_fname)

    tokenizer.vocab_size
    <p style=”padding-left: 40px;”>298</p>
    data_inputs = [tokenizer.encode(sentence) for sentence in data_clean]

    for _ in range(10):
      print(data_inputs[random.randint(0, len(data_inputs) – 1)])
    <p style=”padding-left: 40px;”>[4, 1, 10, 5, 6, 1, 22, 3, 23, 2, 9, 1, 20, 3, 24, 2, 1, 14] [4, 1, 33] [4, 1, 10, 5, 6, 1, 12, 15] [4, 1, 10, 5, 6, 1, 20, 3, 25, 2, 9, 1, 23, 2, 1, 7, 3, 18, 3, 23, 2, 1, 8] [4, 1, 7, 5, 6, 1, 16, 3, 29, 2, 9, 1, 17, 2, 1, 7, 3, 35, 2, 1, 8] [4, 1, 7, 5, 6, 1, 26, 3, 19, 2, 3, 37, 2, 1, 8] [4, 1, 7, 5, 6, 1, 30, 3, 17, 2, 9, 1, 19, 2, 1, 14] [4, 1, 33] [4, 1, 10, 5, 6, 1, 12, 15] [4, 1, 10, 5, 6, 1, 16, 3, 17, 2, 9, 1, 11, 3, 19, 2, 1, 14]</p>
    Como pode ver deu certo e segui os demais passos:
    Padding
    Divisão da base de dados em treinamento e teste
    Etapa 3: Construção do modelo
    Etapa 4: Treinamento
    Configuração dos parâmetros
    Treinamento

    o segundo problema aconteceu no Treinamento

    history = Dcnn.fit(train_inputs, train_labels,
                       batch_size = batch_size,
                       epochs = nb_epochs,
                       verbose = 1,
                       validation_split = 0.10)

    <p style=”padding-left: 40px;”>Epoch 1/100</p>
    <p style=”padding-left: 40px;”>—————————————————————————</p>
    <p style=”padding-left: 40px;”>ValueError Traceback (most recent call last)</p>
    <p style=”padding-left: 40px;”><ipython-input-96-2de532de76ee> in <module>()
    3 epochs = nb_epochs,
    4 verbose = 1,
    —-> 5 validation_split = 0.10)
    6 ckpt_manager.save()</p>
    <p style=”padding-left: 40px;”>

    9 frames
    /usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/func_graph.py in wrapper(*args, **kwargs)
    975 except Exception as e: # pylint:disable=broad-except
    976 if hasattr(e, “ag_error_metadata”):
    –> 977 raise e.ag_error_metadata.to_exception(e)
    978 else:
    979 raise</p>
    <p style=”padding-left: 40px;”>
    ValueError: in user code:</p>
    <p style=”padding-left: 40px;”>/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/training.py:805 train_function *
    return step_function(self, iterator)
    <ipython-input-4-c9bcea253a55>:32 call *
    x = self.embedding(inputs)</p>
    <p style=”padding-left: 40px;”>

     

    … segue a pilha de programas e o ultimo eh esse dai e o erro…

     

    </p>
    <p style=”padding-left: 40px;”>/usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/ops.py:1217 set_shape (self.shape, shape))</p>
    <p style=”padding-left: 40px;”>ValueError: Tensor’s shape (296, 200) is not compatible with supplied shape (298, 200)</p>
    esse eu não consegui resolver…

    o que percebi eh que meu vocab_size ficou exatamente esse valor “supplied shape (298, 200)”

    Daí eu imagino que este segundo erro pode ser consequência da minha resolução do primeiro erro, o que vocês acham?

    Outra informação que possa ser relevante é que minha base de dados o campo “sentiment” está em português, mas tratei de não deixar acentuada, fiz todos os passos da limpeza.

    Esse erro ocorre a partir da segunda chamada, pois todo o procedimento de treinamento está no scopo de um “while”

    se puderem me dar alguma dica.

    desde já, gratidão

    #28241

    Boa noite Gledston, você esta utilizando o código fonte/base de dados disponibilizado na vídeo aula?

    Fabio

    #28278
    Profile photo ofGledTraderGledston Carneiro
    Participante

    Fabio, boa noite

    kra não estou, na verdade eu peguei algumas partes e estou tentando fazer, até pra ver se consegui entender a ideia, mas deixa eu te falar, acabou que consegui resolver o problema, na verdade era um erro da minha parte.

    de tanto acontecer uma vez ou outra, pois como eu disse não era sempre que ocorria, eu consegui identificar um padrão no erro e vi que era toda vez que minha base mudava, ou seja que entrava dados novos.

    deixa eu explica melhor, eu fiz um código que aprende a melhorar o treinamento, misturei um pouco de aprendizado por reforço na parte do  treinamento.

    com isso esqueci de atualizar alguns parâmetros, dentre eles o da Tokenização ai por consequência o “tokenizer.vocab_size” ficava diferente do treinamento anterior causando o erro e me induzindo a achar que era por conta da Tokenização.

    ajustei o parâmetro e nunca mais teve o erro.

     

    gratidão pela atenção

    #28283

    Olá Gledston, que bom que deu certo 😉

    Fabio

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