Erro com o Keras

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

    Boa noite, ao executar o seguinte código:

    import pandas as pd
    import numpy as np
    #esse lib divide para teste
    from sklearn.model_selection import train_test_split
    #vamos importar um modelo sequencial
    import keras
    from keras.models import Sequential
    #vamos usar camdas densas na rede neural, indica que cada neuronio é ligado em todos neuronios da camada seguinte, também conhecida como fully conect
    from keras.layers import Dense
    previsores = pd.read_csv(‘entradas_breast.csv’)
    classe = pd.read_csv(‘saidas_breast.csv’)
    #colocamos 25% para testes
    previsores_treinamento, previsores_teste, classe_treinamento, classe_teste = train_test_split(previsores, classe, test_size = 0.25)

    classificador = Sequential()
    # no keras não criamos a camada de entrada, começamos definindo a camada oculta
    #colocamos 16 ( 30 de entrada +1/2, esta rede tem 30 colunas
    #input_dim é a camada de entrada
    classificador.add(Dense(units=16, activation=’relu’,kernel_initializer=’random_uniform’, input_dim=30))
    #camada de saida
    #usamos sigmoid e uma camada de saida pois ela devolve apenas 1 ou 0
    classificador.add(Dense(units=1,activation=’sigmoid’))
    #é aqui que vamos treinar
    #adam é uma otimização do gradiente estocástico, este é o que melhor de adapta
    #binary_crossentropy binário pois devolve apenas 0 ou 1
    #se fossem mais classe de retorno usariamos category_crossentropy, mesma coisa para metricas
    classificador.compile(optimizer=’adam’, loss=’binary_crossentropy’, metrics= [‘binary_accucary’])
    #agora vamos treinar
    #vai calcular o erro para 10 registros e depois recalcula os pesos, epochs indica qtas vezes vará o ajuste dos pesos
    classificador.fit(previsores_treinamento, classe_treinamento, batch_size=10, epochs=100)

    Está retornando o seguinte erro logo na primeira época:

    Epoch 1/100
    Traceback (most recent call last):
    File “D:\Mestrado\2022\IA\DL\Material DL\redes neurais artificiais\classificacao binaria\Breast_Can_Simples.py”, line 30, in <module>
    classificador.fit(previsores_treinamento, classe_treinamento, batch_size=10, epochs=100)
    File “D:\Mestrado\2022\IA\venv\lib\site-packages\keras\src\utils\traceback_utils.py”, line 70, in error_handler
    raise e.with_traceback(filtered_tb) from None
    File “C:\Users\GABRIEL\AppData\Local\Temp\__autograph_generated_filehy6rhmco.py”, line 15, in tf__train_function
    retval_ = ag__.converted_call(ag__.ld(step_function), (ag__.ld(self), ag__.ld(iterator)), None, fscope)
    TypeError: in user code:

    File “D:\Mestrado\2022\IA\venv\lib\site-packages\keras\src\engine\training.py”, line 1338, in train_function *
    return step_function(self, iterator)
    File “D:\Mestrado\2022\IA\venv\lib\site-packages\keras\src\engine\training.py”, line 1322, in step_function **
    outputs = model.distribute_strategy.run(run_step, args=(data,))
    File “D:\Mestrado\2022\IA\venv\lib\site-packages\keras\src\engine\training.py”, line 1303, in run_step **
    outputs = model.train_step(data)
    File “D:\Mestrado\2022\IA\venv\lib\site-packages\keras\src\engine\training.py”, line 1085, in train_step
    return self.compute_metrics(x, y, y_pred, sample_weight)
    File “D:\Mestrado\2022\IA\venv\lib\site-packages\keras\src\engine\training.py”, line 1179, in compute_metrics
    self.compiled_metrics.update_state(y, y_pred, sample_weight)
    File “D:\Mestrado\2022\IA\venv\lib\site-packages\keras\src\engine\compile_utils.py”, line 605, in update_state
    metric_obj.update_state(y_t, y_p, sample_weight=mask)
    File “D:\Mestrado\2022\IA\venv\lib\site-packages\keras\src\utils\metrics_utils.py”, line 77, in decorated
    update_op = update_state_fn(*args, **kwargs)
    File “D:\Mestrado\2022\IA\venv\lib\site-packages\keras\src\metrics\base_metric.py”, line 140, in update_state_fn
    return ag_update_state(*args, **kwargs)
    File “D:\Mestrado\2022\IA\venv\lib\site-packages\keras\src\metrics\base_metric.py”, line 723, in update_state **
    matches = ag_fn(y_true, y_pred, **self._fn_kwargs)

    TypeError: ‘str’ object is not callable

    Process finished with exit code 1

    Não encontrei solução sobre.

    Muito obrigado

     

    #42011

    Já achei o erro pessoal,

    muito obrigado

    #42033
    Fábio Spak
    Participante

      Olá Gabriel, que bom que deu certo 🙂

      Fabio

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