Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

175
Vistas
Keras para implementar una red neuronal de convolución

Acabo de instalar tensorflow y keras. Y tengo la demostración simple de la siguiente manera:

 from keras.models import Sequential from keras.layers import Dense import numpy # fix random seed for reproducibility seed = 7 numpy.random.seed(seed) # load pima indians dataset dataset = numpy.loadtxt("pima-indians-diabetes.csv", delimiter=",") # split into input (X) and output (Y) variables X = dataset[:,0:8] Y = dataset[:,8] # create model model = Sequential() model.add(Dense(12, input_dim=8, init='uniform', activation='relu')) model.add(Dense(8, init='uniform', activation='relu')) model.add(Dense(1, init='uniform', activation='sigmoid')) # Compile model model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) # Fit the model model.fit(X, Y, nb_epoch=10, batch_size=10) # evaluate the model scores = model.evaluate(X, Y) print("%s: %.2f%%" % (model.metrics_names[1], scores[1]*100))

Y tengo esta advertencia:

 /usr/local/lib/python2.7/dist-packages/keras/legacy/interfaces.py:86: UserWarning: Update your `Dense` call to the Keras 2 API: `Dense(12, activation="relu", kernel_initializer="uniform", input_dim=8)` '` call to the Keras 2 API: ' + signature) /usr/local/lib/python2.7/dist-packages/keras/legacy/interfaces.py:86: UserWarning: Update your `Dense` call to the Keras 2 API: `Dense(8, activation="relu", kernel_initializer="uniform")` '` call to the Keras 2 API: ' + signature) /usr/local/lib/python2.7/dist-packages/keras/legacy/interfaces.py:86: UserWarning: Update your `Dense` call to the Keras 2 API: `Dense(1, activation="sigmoid", kernel_initializer="uniform")` '` call to the Keras 2 API: ' + signature) /usr/local/lib/python2.7/dist-packages/keras/models.py:826: UserWarning: The `nb_epoch` argument in `fit` has been renamed `epochs`. warnings.warn('The `nb_epoch` argument in `fit` '

Entonces, ¿cómo puedo manejar esto?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Como dice Matías en los comentarios, esto es bastante sencillo... Keras actualizó su API ayer a la versión 2.0. Obviamente, ha descargado esa versión y la demostración aún usa la API "antigua". Han creado advertencias para que la API "antigua" siga funcionando en la versión 2.0, pero dicen que cambiará, así que use la API 2.0 de ahora en adelante.

La forma de adaptar su código a API 2.0 es cambiar el parámetro "init" a "kernel_initializer" para todas las capas Dense() , así como "nb_epoch" a "epochs" en la función fit() .

 from keras.models import Sequential from keras.layers import Dense import numpy # fix random seed for reproducibility seed = 7 numpy.random.seed(seed) # load pima indians dataset dataset = numpy.loadtxt("pima-indians-diabetes.csv", delimiter=",") # split into input (X) and output (Y) variables X = dataset[:,0:8] Y = dataset[:,8] # create model model = Sequential() model.add(Dense(12, input_dim=8, kernel_initializer ='uniform', activation='relu')) model.add(Dense(8, kernel_initializer ='uniform', activation='relu')) model.add(Dense(1, kernel_initializer ='uniform', activation='sigmoid')) # Compile model model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) # Fit the model model.fit(X, Y, epochs=10, batch_size=10) # evaluate the model scores = model.evaluate(X, Y) print("%s: %.2f%%" % (model.metrics_names[1], scores[1]*100))

Esto no debería arrojar ninguna advertencia, es la versión keras 2.0 del código.

over 4 years ago · Santiago Trujillo Denunciar

0

En su propio caso, el problema era que estaba utilizando un nombre de parámetro de la versión anterior de la API. Para deshacerse de esta advertencia, en el método compile() , en lugar de usar nb_epochs , debe usar epochs . Ahora, el mensaje de advertencia debería desaparecer. El mensaje de advertencia describe el problema literalmente.

La nueva API de Keras a menudo le preguntará sobre eso automáticamente, ya que están introduciendo más y más cambios con cada nueva actualización. Sin embargo, esta advertencia no tiene efecto alguno sobre el rendimiento del modelo.

over 4 years ago · Santiago Trujillo Denunciar

0

en lugar de usar init , use kernel_initializer y debería estar bien.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda