Respostas no Fórum

Visualizando 14 posts - 1 até 14 (de 14 do total)
  • Autor
    Posts
  • em resposta a: KerasClassifier Deprecated #42249

    Boa noite, espero que esteja bem.

    Para o item acima poderiam em enviar um fonte atualizado? As demais pendências dos outros tópicos consegui resolver.

    em resposta a: Códigos desatualizados #42248

    Fiz mais atualizações, da forma abaixo executou

    import pandas as pd
    import tensorflow as tf # atualizado: tensorflow==2.0.0-beta1
    from tensorflow.keras.models import Sequential # atualizado: tensorflow==2.0.0-beta1
    from tensorflow.keras.layers import Dense # atualizado: tensorflow==2.0.0-beta1
    #from keras.utils import np_utils
    from keras import utils

    #from keras.wrappers.scikit_learn import KerasClassifier
    from scikeras.wrappers import KerasClassifier
    from sklearn.model_selection import cross_val_score
    from tensorflow.keras import backend as k # atualizado: tensorflow==2.0.0-beta1

    base = pd.read_csv(‘iris.csv’)
    previsores = base.iloc[:, 0:4].values
    classe = base.iloc[:, 4].values
    from sklearn.preprocessing import LabelEncoder
    labelencoder = LabelEncoder()
    classe = labelencoder.fit_transform(classe)
    classe_dummy = utils.to_categorical(classe)

    def criar_rede(): # atualizado: tensorflow==2.0.0-beta1
    k.clear_session()
    classificador = Sequential([
    tf.keras.layers.Dense(units=4, activation = ‘relu’, input_dim=4),
    tf.keras.layers.Dense(units=4, activation = ‘relu’),
    tf.keras.layers.Dense(units=3, activation = ‘softmax’)])
    classificador.compile(optimizer = ‘adam’, loss = ‘categorical_crossentropy’,
    metrics = [‘categorical_accuracy’])
    return classificador

    classificador = KerasClassifier(build_fn = criar_rede,
    epochs = 1000,
    batch_size = 10)
    resultados = cross_val_score(estimator = classificador,
    X = previsores, y = classe_dummy,
    cv = 10, scoring = ‘accuracy’)
    media = resultados.mean()
    desvio = resultados.std()

    em resposta a: Códigos desatualizados #42185

    Olá, bom dia obrigado pelo retorno.

    Sim, usei o fonte do drive.

    em resposta a: Códigos desatualizados #42172

    errata:
    de: build_fn

    para: model

    em resposta a: KerasClassifier Deprecated #42170

    Me parece que existem parâmetros inválidos,executei o comando:

    print(classificador.get_params().keys())

    e tive como resultado:
    dict_keys([‘model’,
    ‘build_fn’,
    ‘warm_start’,
    ‘random_state’,
    ‘optimizer’,
    ‘loss’,
    ‘metrics’,
    ‘batch_size’,
    ‘validation_batch_size’,
    ‘verbose’,
    ‘callbacks’,
    ‘validation_split’,
    ‘shuffle’,
    ‘run_eagerly’,
    ‘epochs’,
    ‘class_weight’])

    Com base nestes parâmetros válidos, reduzi do fonte anterior o que não estava na lista e o fonte ficou assim:

    import pandas as pd
    import tensorflow as tf
    #from tensorflow.keras import models
    #from tensorflow.keras import layers
    from scikeras.wrappers import KerasClassifier
    from sklearn.model_selection import cross_val_score
    from tensorflow.keras import backend as k # atualizado: tensorflow==2.0.0-beta1
    from tensorflow.keras.models import Sequential # atualizado: tensorflow==2.0.0-beta1
    #para fazer o tunning pesquisando as melhores entradas
    from sklearn.model_selection import GridSearchCV

    previsores = pd.read_csv(‘entradas_breast.csv’)
    classe = pd.read_csv(‘saidas_breast.csv’)

    def criarRede(optimizer,loss):
    k.clear_session()
    classificador = Sequential([
    tf.keras.layers.Dense(units=16, activation = ‘relu’, kernel_initializer = ‘random_uniform’, input_dim=30),
    tf.keras.layers.Dropout(0.2),
    tf.keras.layers.Dense(units=16, activation = ‘relu’, kernel_initializer = ‘random_uniform’),
    tf.keras.layers.Dropout(0.2),
    tf.keras.layers.Dense(units=1, activation = ‘sigmoid’)])
    classificador.compile(optimizer=optimizer, loss=’binary_crossentropy’, metrics=[‘binary_accuracy’])
    return classificador

    classificador = KerasClassifier(build_fn = criarRede)
    parametros = {‘batch_size’: [10, 30],
    ‘epochs’: [50, 100],
    ‘optimizer’: [‘adam’, ‘sgd’],
    ‘loss’: [‘binary_crossentropy’, ‘hinge’]}
    grid_search = GridSearchCV(estimator = classificador,
    param_grid = parametros,
    scoring = ‘accuracy’,
    cv = 5)

    grid_search = grid_search.fit(previsores, classe)
    melhores_parametros = grid_search.best_params_
    melhor_precisao = grid_search.best_score_

    porém agora temos o seguinte erro:
    TypeError: criarRede() missing 2 required positional arguments: ‘optimizer’ and ‘loss’

    podem me enviar o fonte dessa que que esteja funcionando?
    Muito obrigado

    em resposta a: KerasClassifier Deprecated #42169

    Boa noite, estou com o mesmo problema.

    Mesmo usando o fonte dos downloads tem alguns itens que não funcionam mais, por exemplo a aula “Tuning (ajuste) dos parâmetros”.
    Usando o fonte disponibilizado:

    import pandas as pd
    from tensorflow.keras.models import Sequential # atualizado: tensorflow==2.0.0-beta1
    import tensorflow as tf # atualizado: tensorflow==2.0.0-beta1
    from tensorflow.keras.wrappers.scikit_learn import KerasClassifier
    from sklearn.model_selection import GridSearchCV
    from tensorflow.keras import backend as k # atualizado: tensorflow==2.0.0-beta1

    previsores = pd.read_csv(‘entradas_breast.csv’)
    classe = pd.read_csv(‘saidas_breast.csv’)

    def criarRede(optimizer, loss, kernel_initializer, activation, neurons): # atualizado: tensorflow==2.0.0-beta1
    k.clear_session()
    classificador = Sequential([
    tf.keras.layers.Dense(units=neurons, activation = activation, kernel_initializer = kernel_initializer, input_dim=30),
    tf.keras.layers.Dropout(0.2),
    tf.keras.layers.Dense(units=neurons, activation = activation, kernel_initializer = kernel_initializer),
    tf.keras.layers.Dropout(0.2),
    tf.keras.layers.Dense(units=1, activation = ‘sigmoid’)])
    classificador.compile(optimizer = optimizer, loss = loss, metrics = [‘binary_accuracy’])
    return classificador

    classificador = KerasClassifier(build_fn = criarRede)
    parametros = {‘batch_size’: [10, 30],
    ‘epochs’: [50, 100],
    ‘optimizer’: [‘adam’, ‘sgd’],
    ‘loss’: [‘binary_crossentropy’, ‘hinge’],
    ‘kernel_initializer’: [‘random_uniform’, ‘normal’],
    ‘activation’: [‘relu’, ‘tanh’],
    ‘neurons’: [16, 8]}
    grid_search = GridSearchCV(estimator = classificador,
    param_grid = parametros,
    scoring = ‘accuracy’,
    cv = 5)
    grid_search = grid_search.fit(previsores, classe)
    melhores_parametros = grid_search.best_params_
    melhor_precisao = grid_search.best_score_
    Ocorre este erro:
    Traceback (most recent call last):
    File “D:\Mestrado\2022\IA\DL\Material DL\redes neurais artificiais\classificacao binaria\breast_cancer_tuning.py”, line 4, in <module>
    from tensorflow.keras.wrappers.scikit_learn import KerasClassifier
    ModuleNotFoundError: No module named ‘tensorflow.keras.wrappers’

    Alterei o fonte para:

    import pandas as pd
    import tensorflow as tf
    #from tensorflow.keras import models
    #from tensorflow.keras import layers
    from scikeras.wrappers import KerasClassifier
    from sklearn.model_selection import cross_val_score
    from tensorflow.keras import backend as k # atualizado: tensorflow==2.0.0-beta1
    from tensorflow.keras.models import Sequential # atualizado: tensorflow==2.0.0-beta1
    #para fazer o tunning pesquisando as melhores entradas
    from sklearn.model_selection import GridSearchCV

    previsores = pd.read_csv(‘entradas_breast.csv’)
    classe = pd.read_csv(‘saidas_breast.csv’)

    def criarRede(optimizer, loss, kernel_initializer, activation, neurons): # atualizado: tensorflow==2.0.0-beta1
    k.clear_session()
    classificador = Sequential([
    tf.keras.layers.Dense(units=neurons, Activation = activation, kernel_initializer = kernel_initializer, input_dim=30),
    tf.keras.layers.Dropout(0.2),
    tf.keras.layers.Dense(units=neurons, Activation = activation, kernel_initializer = kernel_initializer),
    tf.keras.layers.Dropout(0.2),
    tf.keras.layers.Dense(units=1, activation = ‘sigmoid’)])
    classificador.compile(optimizer = optimizer, loss = loss, metrics = [‘binary_accuracy’])
    return classificador

    classificador = KerasClassifier(build_fn = criarRede)
    parametros = {‘batch_size’: [10, 30],
    ‘epochs’: [50, 100],
    ‘optimizer’: [‘adam’, ‘sgd’],
    ‘loss’: [‘binary_crossentropy’, ‘hinge’],
    ‘kernel_initializer’: [‘random_uniform’, ‘normal’],
    ‘activation’: [‘relu’, ‘tanh’],
    ‘neurons’: [16, 8]}
    grid_search = GridSearchCV(estimator = classificador,
    param_grid = parametros,
    scoring = ‘accuracy’,
    cv = 5)
    grid_search = grid_search.fit(previsores, classe)
    melhores_parametros = grid_search.best_params_
    melhor_precisao = grid_search.best_score_

    Agora tenho o erro:
    ValueError: Invalid parameter activation for estimator KerasClassifier.
    This issue can likely be resolved by setting this parameter in the KerasClassifier constructor:
    KerasClassifier(activation=relu)
    Check the list of available parameters with estimator.get_params().keys()

    Já tenho todas as bibliotecas instaladas.
    poderiam por favor me enviar um fonte que pode ser executado em 2023?
    Muito obrigado.

     

    em resposta a: Erro com o Keras #42011

    Já achei o erro pessoal,

    muito obrigado

    *downgrade

    Boa noite, muito obrigado pelo retorno.

    Infelizmente eu já havia tentado todas estas sugestões.

    Qual a versão do seu open cv para eu testar o download?

     

    Fiz mais um teste e tentei capturar o formato que estou lendo do video gesture:

    def decode_fourcc(cc):
    return “”.join([chr((int(cc) >> 8 * i) & 0xFF) for i in range(4)])

    captura = cv2.VideoCapture(‘../content/gesture1.mp4’)
    conectado , frame = captura.read()
    print(frame.shape[1])
    print(frame.shape[0])
    codec = captura.get(cv2.CAP_PROP_FOURCC)
    print(codec, decode_fourcc(codec))
    828601953.0 <span style=”text-decoration: underline;”>avc1</span>

    Encontrei este topico sobre :

    https://pythontechworld.com/issue/xingyizhou/centertrack/91&#8221;

    Mas pelo que vi, eu envio os parâmetros de altura e largura:

    captura = cv2.VideoCapture(‘../content/gesture1.mp4’)
    conectado , frame = captura.read()
    print(frame.shape[1]) # aqui saiu 808
    print(frame.shape[0]) # aqui saiu 1080
    resultado = ‘../content/gesture1_novo.mp4′
    salvar_video = cv2.VideoWriter(resultado, cv2.VideoWriter_fourcc(*’mp4v’), 10 , (frame.shape[1], frame.shape[0]) )

    Atualizei para a última versão agora:
    4.6.0
    Com xvid e XVID infelizmente da erro:
    OpenCV: FFMPEG: tag 0x64697678/’xvid’ is not supported with codec id 12 and format ‘mp4 / MP4 (MPEG-4 Part 14)’
    OpenCV: FFMPEG: fallback to use tag 0x7634706d/’mp4v’

    Com ‘mp4v’ ele agora gera porém com o tamanho de 258 bytes ( que é erro ), ai o vídeo não pode ser reproduzido

     

    Boa noite,

    muito obrigado pelo retorno.

    Usei o comando “print(cv2.__version__)”  e tive como resultado : 4.5.5, pelo que notei é a penúltima versão do opencv.

    As variáveis estão corretas. pois se eu coloco por exemplo uma extensão avi ele não da erros, porém o vídeo sai vazio. Infelizmente  eu havia testado com o “mp4v” e também com outras extensões.

    Qual sua versão do opencv ?

     

    Bom dia, acabei de realizar esta tentativa agora:
    OpenCV: FFMPEG: tag 0x34504d46/’FMP4′ is not supported with codec id 12 and format ‘mp4 / MP4 (MPEG-4 Part 14)’ · Issue #2 · OpenBCI/OpenBCI_Experiment · GitHub

     

    não deu erro, porém o vídeo de saída ficou com 258 bytes

Visualizando 14 posts - 1 até 14 (de 14 do total)