keras-tuner icon indicating copy to clipboard operation
keras-tuner copied to clipboard

are keras tuner and tensorflow-io compatible?

Open hugoferrero opened this issue 2 years ago • 6 comments

Hi. I'm training a model in Vertex AI (Training Service - CustomJobTraining). I'm using the image "us-docker.pkg.dev/vertex-ai/training/tf-cpu.2-7:latest". Wich has tensorflow == 2.7, tensorflow-io == 0.23.1, keras tuner == 1.1.0 and i'm getting the error below. I think this is a compatibility issue...what do you think?.....thanks in advanced.


Training pipeline failed with error message: The replica workerpool0-0 exited with a non-zero status of 1.
Traceback (most recent call last):
File "/opt/conda/lib/python3.7/runpy.py", line 193, in _run_module_as_main "__main__", mod_spec)
File "/opt/conda/lib/python3.7/runpy.py", line 85, in _run_code exec(code, run_globals)
File "/root/.local/lib/python3.7/site-packages/aiplatform_custom_trainer_script/task.py", line 131, in <module> callbacks=[tensorboard_callback]
File "/opt/conda/lib/python3.7/site-packages/keras_tuner/engine/base_tuner.py", line 179, in search results = self.run_trial(trial, *fit_args, **fit_kwargs)
File "/opt/conda/lib/python3.7/site-packages/keras_tuner/engine/tuner.py", line 304, in run_trial obj_value = self._build_and_fit_model(trial, *args, **copied_kwargs)
File "/opt/conda/lib/python3.7/site-packages/keras_tuner/engine/tuner.py", line 234, in _build_and_fit_model return self.hypermodel.fit(hp, model, *args, **kwargs)
File "/opt/conda/lib/python3.7/site-packages/keras_tuner/engine/hypermodel.py", line 137, in fit return model.fit(*args, **kwargs)
File "/opt/conda/lib/python3.7/site-packages/keras/utils/traceback_utils.py", line 67, in error_handler raise e.with_traceback(filtered_tb) from None
File "/opt/conda/lib/python3.7/site-packages/tensorflow/python/eager/execute.py", line 59, in quick_execute inputs, attrs, num_outputs)

tensorflow.python.framework.errors_impl.NotFoundError: Resource localhost/_0_IO>BigQueryClient/N10tensorflow22BigQueryClientResourceE does not exist. [[{{node IO>BigQueryDataset}}]] [[IteratorGetNext]] [Op:__inference_train_function_2734] 

hugoferrero avatar Oct 19 '22 20:10 hugoferrero

KerasTuner is compatible with everything that Keras is compatible with. If you have a code snippet that works with Keras but not KerasTuner, please paste it. Thanks.

haifeng-jin avatar Oct 24 '22 20:10 haifeng-jin

Hi. Thanks for answering. Code with keras and tensorflow-io (this one works)

from google.cloud import bigquery
from tensorflow.python.framework import dtypes
from tensorflow_io.bigquery import BigQueryClient
from tensorflow import feature_column
import tensorflow as tf
import datetime

#### Cols Selection ####
client = bigquery.Client()
project_id = "my_project_id"
dataset_id = "my_dataset_id"
table_id =  "my_table_id" 
dataset_ref = client.dataset(dataset_id, project=project_id)
table_ref = dataset_ref.table(table_id)
table = client.get_table(table_ref)

d = {schema.name: ({"mode": BigQueryClient.FieldMode.NULLABLE, 
"output_type": dtypes.int64} if schema.field_type=='INTEGER' 
else {"mode": BigQueryClient.FieldMode.NULLABLE, "output_type": dtypes.float64}) 
      
      for schema in table.schema}

del d["cantidadreferenciascomerciales_woe"], d["tendencia_12_woe"], d["cantidadreferenciascomercialestelcos_woe"]
del d["sitinicio_woe"], d["nseletra_woe"], d["cantmesesneg11_woe"], d["tieneatrasocuotult6m_woe"]
del d["tieneatrasocuotultm_woe"], d["cantidadbancosacreedores_woe"], d["codactividadempleador_woe"], d["cantidadtarjetas_woe"]
del d["codprovincia_woe"], d["cantidadconsultasultano_woe"], d["codganancias_woe"], d["categoriaautonomo_woe"]
del d["categoriamonotributo_woe"], d["recargas_der_u6_lastseen_sum_quintiles_woe"], d["recargas_der_u6_lastseen_avg_quintiles_woe"], d["sos_rec_u6u1_maxprestamos_diff_quintiles_woe"]
del d["sos_der_u5_lastseen_avg_quintiles_woe"], d["numero_documento"]  

#### Load data from BQ with tfio #### 

bq_client = BigQueryClient()

def transform_row(row_dict):
     
    
    
    trimmed_dict = {column: tensor for (column,tensor) in row_dict.items()}
  
    target_var = trimmed_dict.pop('target')

    trimmed_dict.pop("periodo")

    return (trimmed_dict, target_var)


def read_bigquery(restriction):
    
     

     read_session = bq_client.read_session(
          "projects/" + project_id,
          project_id, 
          table_id, 
          dataset_id,
          selected_fields = d,
          row_restriction = restriction,
          requested_streams=2)

     load_data = read_session.parallel_read_rows()      

     dataset = load_data.map(transform_row).batch(32) 

     return dataset 


dataset_train = read_bigquery(restriction= "periodo != 202009")

dataset_test = read_bigquery(restriction= "periodo = 202009")

### feature types ###
feature_columns = []

features_names = list(dataset_train.element_spec[0].keys())

for header in features_names:
  feature_columns.append(feature_column.numeric_column(header))

feature_layer = tf.keras.layers.DenseFeatures(feature_columns)  

### TensorBoard ####
logs_dir = "gs://my_bucket/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=logs_dir, histogram_freq=1)
#######


### Model ####
model = tf.keras.Sequential()
model.add(feature_layer)
model.add(tf.keras.layers.Dense(64, activation='relu'))
model.add(tf.keras.layers.BatchNormalization())
model.add(tf.keras.layers.Dense(32, activation='relu'))
model.add(tf.keras.layers.BatchNormalization())
model.add(tf.keras.layers.Dropout(0.3))
model.add(tf.keras.layers.Dense(16, activation='relu'))
model.add(tf.keras.layers.BatchNormalization())
model.add(tf.keras.layers.Dense(8, activation='relu'))
model.add(tf.keras.layers.BatchNormalization())
model.add(tf.keras.layers.Dense(1, activation='sigmoid'))

optimizer = tf.keras.optimizers.RMSprop(learning_rate=0.001)

model.compile(
              optimizer= optimizer,
              loss=tf.keras.losses.BinaryCrossentropy(),
              metrics=[tf.keras.metrics.AUC(name="auc")])
    


history = model.fit(dataset_train,epochs=10, 
                    validation_data=dataset_test,
                    callbacks=[tensorboard_callback])  
                              

Code with keras tuner and tensorflow-io (This one is not working )

from google.cloud import bigquery
from tensorflow.python.framework import dtypes
from tensorflow_io.bigquery import BigQueryClient
from tensorflow import feature_column
import tensorflow as tf
import keras_tuner as kt

####  Cols Selection####
client = bigquery.Client()
project_id = "my_project_id"
dataset_id = "my_dataset_id"
table_id =  "my_table_id" 
dataset_ref = client.dataset(dataset_id, project=project_id)
table_ref = dataset_ref.table(table_id)
table = client.get_table(table_ref)

d = {schema.name: ({"mode": BigQueryClient.FieldMode.NULLABLE, 
"output_type": dtypes.int64} if schema.field_type=='INTEGER' 
else {"mode": BigQueryClient.FieldMode.NULLABLE, "output_type": dtypes.float64}) 
      
      for schema in table.schema}

del d["cantidadreferenciascomerciales_woe"], d["tendencia_12_woe"], d["cantidadreferenciascomercialestelcos_woe"]
del d["sitinicio_woe"], d["nseletra_woe"], d["cantmesesneg11_woe"], d["tieneatrasocuotult6m_woe"]
del d["tieneatrasocuotultm_woe"], d["cantidadbancosacreedores_woe"], d["codactividadempleador_woe"], d["cantidadtarjetas_woe"]
del d["codprovincia_woe"], d["cantidadconsultasultano_woe"], d["codganancias_woe"], d["categoriaautonomo_woe"]
del d["categoriamonotributo_woe"], d["recargas_der_u6_lastseen_sum_quintiles_woe"], d["recargas_der_u6_lastseen_avg_quintiles_woe"], d["sos_rec_u6u1_maxprestamos_diff_quintiles_woe"]
del d["sos_der_u5_lastseen_avg_quintiles_woe"], d["numero_documento"]  

#### Load data from BQ with tfio #### 

bq_client = BigQueryClient()

def transform_row(row_dict):
     
  
    
    trimmed_dict = {column: tensor for (column,tensor) in row_dict.items()}
  
    target_var = trimmed_dict.pop('target')

    trimmed_dict.pop("periodo")

    return (trimmed_dict, target_var)


def read_bigquery(restriction):
    
     

     read_session = bq_client.read_session(
          "projects/" + project_id,
          project_id, 
          table_id, 
          dataset_id,
          selected_fields = d,
          row_restriction = restriction,
          requested_streams=2)

     load_data = read_session.parallel_read_rows()      

     dataset = load_data.map(transform_row).batch(32) 

     return dataset 


dataset_train = read_bigquery(restriction= "periodo != 202009")

dataset_test = read_bigquery(restriction= "periodo = 202009")

### encoding de features ###
feature_columns = []

features_names = list(dataset_train.element_spec[0].keys())

for header in features_names:
  feature_columns.append(feature_column.numeric_column(header))

feature_layer = tf.keras.layers.DenseFeatures(feature_columns)  




### Model ####

def model_builder(hp):

     model = tf.keras.Sequential()
     model.add(feature_layer)
     model.add(tf.keras.layers.Dense(units=hp.Choice("f_units", [32, 64]), activation='relu', name="layer1"))
     model.add(tf.keras.layers.BatchNormalization())
     model.add(tf.keras.layers.Dense(32, activation='relu', name="layer2"))
     model.add(tf.keras.layers.BatchNormalization())
     model.add(tf.keras.layers.Dropout(0.3))
     model.add(tf.keras.layers.Dense(16, activation='relu', name="layer3"))
     model.add(tf.keras.layers.BatchNormalization())
     model.add(tf.keras.layers.Dense(8, activation='relu', name="layer4"))
     model.add(tf.keras.layers.BatchNormalization())
     model.add(tf.keras.layers.Dense(1, activation='sigmoid', name="output_layer"))
    
     optimizer = tf.keras.optimizers.RMSprop(learning_rate=1e-4)

     model.compile(
                   optimizer= optimizer,
                   loss=tf.keras.losses.BinaryCrossentropy(),
                   metrics=[tf.keras.metrics.AUC(name="auc")])

     return model              
    
tuner = kt.RandomSearch(
    hypermodel=model_builder,
    max_trials=2,
    executions_per_trial=1,
    overwrite=True,
    objective=kt.Objective("val_auc", direction="max"),
    directory="gs://my_bucket_id",
    project_name= "My_project"
)


tuner.search(
    dataset_train,
    epochs=10,
    batch_size=32,
    validation_data=dataset_test
)

hugoferrero avatar Oct 24 '22 21:10 hugoferrero

Hi @haifeng-jin ..any news on this issue?. Thanks in advance.

hugoferrero avatar Nov 28 '22 19:11 hugoferrero

@hugoferrero Sorry for the late reply. As I cannot rerun your script without the actual authentications, I can only try to debug by reading the code. I do not see why it would have an error.

The only reason I can guess is KerasTuner would use dataset_train multiple times on different models. Do you expect it would cause the error?

I suggest you try something like this without KerasTuner to debug:

def build_model(...):
   ...

for i in range(10):
  model = build_model()
  model.compile(...)
  model.fit(
    dataset_train,
    epochs=10,
    batch_size=32,
    validation_data=dataset_test
  )

haifeng-jin avatar Dec 07 '22 17:12 haifeng-jin

Hi @haifeng-jin . Thanks for reply. I will try your suggestion. Reggards.

hugoferrero avatar Dec 22 '22 14:12 hugoferrero

@haifeng-jin I tried what you suggested and there wasn't any problems. Training process went fine. Here is the code:

from google.cloud import bigquery
from tensorflow.python.framework import dtypes
from tensorflow_io.bigquery import BigQueryClient
from tensorflow import feature_column
import tensorflow as tf


#### Cols Selection ####
client = bigquery.Client()
project_id = "teco-prod-adam-dev-826c"
dataset_id = "data_lake_analytics_dev"
table_id =  "prepago_nosis_scoring_pp_train_total_muestra_gcp" 
dataset_ref = client.dataset(dataset_id, project=project_id)
table_ref = dataset_ref.table(table_id)
table = client.get_table(table_ref)



d = {schema.name: ({"mode": BigQueryClient.FieldMode.NULLABLE, 
"output_type": dtypes.int64} if schema.field_type=='INTEGER' 
else {"mode": BigQueryClient.FieldMode.NULLABLE, "output_type": dtypes.float64}) 
      
      for schema in table.schema}

del d["cantidadreferenciascomerciales_woe"], d["tendencia_12_woe"], d["cantidadreferenciascomercialestelcos_woe"]
del d["sitinicio_woe"], d["nseletra_woe"], d["cantmesesneg11_woe"], d["tieneatrasocuotult6m_woe"]
del d["tieneatrasocuotultm_woe"], d["cantidadbancosacreedores_woe"], d["codactividadempleador_woe"], d["cantidadtarjetas_woe"]
del d["codprovincia_woe"], d["cantidadconsultasultano_woe"], d["codganancias_woe"], d["categoriaautonomo_woe"]
del d["categoriamonotributo_woe"], d["recargas_der_u6_lastseen_sum_quintiles_woe"], d["recargas_der_u6_lastseen_avg_quintiles_woe"], d["sos_rec_u6u1_maxprestamos_diff_quintiles_woe"]
del d["sos_der_u5_lastseen_avg_quintiles_woe"], d["numero_documento"]  

#### Load data from BQ with tfio #### 

bq_client = BigQueryClient()

def transform_row(row_dict):
     
    
    
    trimmed_dict = {column: tensor for (column,tensor) in row_dict.items()}
  
    target_var = trimmed_dict.pop('target')

    trimmed_dict.pop("periodo")

    return (trimmed_dict, target_var)


def read_bigquery(restriction):
    
     

     read_session = bq_client.read_session(
          "projects/" + project_id,
          project_id, 
          table_id, 
          dataset_id,
          selected_fields = d,
          row_restriction = restriction,
          requested_streams=2)

     load_data = read_session.parallel_read_rows()      

     dataset = load_data.map(transform_row).batch(32) 

     return dataset 


dataset_train = read_bigquery(restriction= "periodo != 202009")

dataset_test = read_bigquery(restriction= "periodo = 202009")

### feature types ###
feature_columns = []

features_names = list(dataset_train.element_spec[0].keys())

for header in features_names:
  feature_columns.append(feature_column.numeric_column(header))

feature_layer = tf.keras.layers.DenseFeatures(feature_columns)  




### Model ####
def build_model():

    model = tf.keras.Sequential()
    model.add(feature_layer)
    model.add(tf.keras.layers.Dense(64, activation='relu'))
    model.add(tf.keras.layers.BatchNormalization())
    model.add(tf.keras.layers.Dense(32, activation='relu'))
    model.add(tf.keras.layers.BatchNormalization())
    model.add(tf.keras.layers.Dropout(0.3))
    model.add(tf.keras.layers.Dense(16, activation='relu'))
    model.add(tf.keras.layers.BatchNormalization())
    model.add(tf.keras.layers.Dense(8, activation='relu'))
    model.add(tf.keras.layers.BatchNormalization())
    model.add(tf.keras.layers.Dense(1, activation='sigmoid'))

    return model 

for i in range(10):
    model = build_model()  
    optimizer = tf.keras.optimizers.RMSprop(learning_rate=0.001)
    model.compile(
              optimizer= optimizer,
              loss=tf.keras.losses.BinaryCrossentropy(),
              metrics=[tf.keras.metrics.AUC(name="auc")])
    model.fit(dataset_train,epochs=3, validation_data=dataset_test)  

And here are the logs of the loop (3 iterations):

Epoch 1/3
WARNING:tensorflow:Layers in a Sequential model should only have a single input tensor. Received: inputs={'antiguedadenbancos': <tf.Tensor 'IteratorGetNext:0' shape=(None,) dtype=int64>, 'antiguedadlaboral': <tf.Tensor 'IteratorGetNext:1' shape=(None,) dtype=int64>, 'edad': <tf.Tensor 'IteratorGetNext:2' shape=(None,) dtype=int64>, 'mlctc_uva': <tf.Tensor 'IteratorGetNext:3' shape=(None,) dtype=float64>, 'nsepercentil': <tf.Tensor 'IteratorGetNext:4' shape=(None,) dtype=int64>, 'score': <tf.Tensor 'IteratorGetNext:5' shape=(None,) dtype=int64>}. Consider rewriting this model with the Functional API.
WARNING:tensorflow:Layers in a Sequential model should only have a single input tensor. Received: inputs={'antiguedadenbancos': <tf.Tensor 'IteratorGetNext:0' shape=(None,) dtype=int64>, 'antiguedadlaboral': <tf.Tensor 'IteratorGetNext:1' shape=(None,) dtype=int64>, 'edad': <tf.Tensor 'IteratorGetNext:2' shape=(None,) dtype=int64>, 'mlctc_uva': <tf.Tensor 'IteratorGetNext:3' shape=(None,) dtype=float64>, 'nsepercentil': <tf.Tensor 'IteratorGetNext:4' shape=(None,) dtype=int64>, 'score': <tf.Tensor 'IteratorGetNext:5' shape=(None,) dtype=int64>}. Consider rewriting this model with the Functional API.
2022-12-22 17:26:55.730180: E tensorflow/core/framework/dataset.cc:580] UNIMPLEMENTED: Cannot compute input sources for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
2022-12-22 17:26:55.730209: E tensorflow/core/framework/dataset.cc:584] UNIMPLEMENTED: Cannot merge options for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
   7419/Unknown - 24s 3ms/step - loss: 0.3147 - auc: 0.7079WARNING:tensorflow:Layers in a Sequential model should only have a single input tensor. Received: inputs={'antiguedadenbancos': <tf.Tensor 'IteratorGetNext:0' shape=(None,) dtype=int64>, 'antiguedadlaboral': <tf.Tensor 'IteratorGetNext:1' shape=(None,) dtype=int64>, 'edad': <tf.Tensor 'IteratorGetNext:2' shape=(None,) dtype=int64>, 'mlctc_uva': <tf.Tensor 'IteratorGetNext:3' shape=(None,) dtype=float64>, 'nsepercentil': <tf.Tensor 'IteratorGetNext:4' shape=(None,) dtype=int64>, 'score': <tf.Tensor 'IteratorGetNext:5' shape=(None,) dtype=int64>}. Consider rewriting this model with the Functional API.
2022-12-22 17:27:17.925517: E tensorflow/core/framework/dataset.cc:580] UNIMPLEMENTED: Cannot compute input sources for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
2022-12-22 17:27:17.925550: E tensorflow/core/framework/dataset.cc:584] UNIMPLEMENTED: Cannot merge options for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
7434/7434 [==============================] - 26s 3ms/step - loss: 0.3147 - auc: 0.7079 - val_loss: 0.3409 - val_auc: 0.7409
Epoch 2/3
2022-12-22 17:27:19.761229: E tensorflow/core/framework/dataset.cc:580] UNIMPLEMENTED: Cannot compute input sources for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
2022-12-22 17:27:19.761263: E tensorflow/core/framework/dataset.cc:584] UNIMPLEMENTED: Cannot merge options for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
7413/7434 [============================>.] - ETA: 0s - loss: 0.3015 - auc: 0.73422022-12-22 17:27:39.891764: E tensorflow/core/framework/dataset.cc:580] UNIMPLEMENTED: Cannot compute input sources for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
2022-12-22 17:27:39.891793: E tensorflow/core/framework/dataset.cc:584] UNIMPLEMENTED: Cannot merge options for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
7434/7434 [==============================] - 21s 3ms/step - loss: 0.3017 - auc: 0.7340 - val_loss: 0.4401 - val_auc: 0.7479
Epoch 3/3
2022-12-22 17:27:41.052578: E tensorflow/core/framework/dataset.cc:580] UNIMPLEMENTED: Cannot compute input sources for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
2022-12-22 17:27:41.052638: E tensorflow/core/framework/dataset.cc:584] UNIMPLEMENTED: Cannot merge options for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
7424/7434 [============================>.] - ETA: 0s - loss: 0.3016 - auc: 0.73392022-12-22 17:28:00.151704: E tensorflow/core/framework/dataset.cc:580] UNIMPLEMENTED: Cannot compute input sources for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
2022-12-22 17:28:00.151738: E tensorflow/core/framework/dataset.cc:584] UNIMPLEMENTED: Cannot merge options for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
7434/7434 [==============================] - 20s 3ms/step - loss: 0.3017 - auc: 0.7337 - val_loss: 1.4202 - val_auc: 0.7402
Epoch 1/3
WARNING:tensorflow:Layers in a Sequential model should only have a single input tensor. Received: inputs={'antiguedadenbancos': <tf.Tensor 'IteratorGetNext:0' shape=(None,) dtype=int64>, 'antiguedadlaboral': <tf.Tensor 'IteratorGetNext:1' shape=(None,) dtype=int64>, 'edad': <tf.Tensor 'IteratorGetNext:2' shape=(None,) dtype=int64>, 'mlctc_uva': <tf.Tensor 'IteratorGetNext:3' shape=(None,) dtype=float64>, 'nsepercentil': <tf.Tensor 'IteratorGetNext:4' shape=(None,) dtype=int64>, 'score': <tf.Tensor 'IteratorGetNext:5' shape=(None,) dtype=int64>}. Consider rewriting this model with the Functional API.
WARNING:tensorflow:Layers in a Sequential model should only have a single input tensor. Received: inputs={'antiguedadenbancos': <tf.Tensor 'IteratorGetNext:0' shape=(None,) dtype=int64>, 'antiguedadlaboral': <tf.Tensor 'IteratorGetNext:1' shape=(None,) dtype=int64>, 'edad': <tf.Tensor 'IteratorGetNext:2' shape=(None,) dtype=int64>, 'mlctc_uva': <tf.Tensor 'IteratorGetNext:3' shape=(None,) dtype=float64>, 'nsepercentil': <tf.Tensor 'IteratorGetNext:4' shape=(None,) dtype=int64>, 'score': <tf.Tensor 'IteratorGetNext:5' shape=(None,) dtype=int64>}. Consider rewriting this model with the Functional API.
2022-12-22 17:28:03.543903: E tensorflow/core/framework/dataset.cc:580] UNIMPLEMENTED: Cannot compute input sources for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
2022-12-22 17:28:03.543936: E tensorflow/core/framework/dataset.cc:584] UNIMPLEMENTED: Cannot merge options for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
   7415/Unknown - 21s 3ms/step - loss: 0.3152 - auc: 0.7072WARNING:tensorflow:Layers in a Sequential model should only have a single input tensor. Received: inputs={'antiguedadenbancos': <tf.Tensor 'IteratorGetNext:0' shape=(None,) dtype=int64>, 'antiguedadlaboral': <tf.Tensor 'IteratorGetNext:1' shape=(None,) dtype=int64>, 'edad': <tf.Tensor 'IteratorGetNext:2' shape=(None,) dtype=int64>, 'mlctc_uva': <tf.Tensor 'IteratorGetNext:3' shape=(None,) dtype=float64>, 'nsepercentil': <tf.Tensor 'IteratorGetNext:4' shape=(None,) dtype=int64>, 'score': <tf.Tensor 'IteratorGetNext:5' shape=(None,) dtype=int64>}. Consider rewriting this model with the Functional API.
2022-12-22 17:28:23.485317: E tensorflow/core/framework/dataset.cc:580] UNIMPLEMENTED: Cannot compute input sources for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
2022-12-22 17:28:23.485349: E tensorflow/core/framework/dataset.cc:584] UNIMPLEMENTED: Cannot merge options for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
7434/7434 [==============================] - 23s 3ms/step - loss: 0.3154 - auc: 0.7072 - val_loss: 0.3197 - val_auc: 0.7446
Epoch 2/3
2022-12-22 17:28:24.873457: E tensorflow/core/framework/dataset.cc:580] UNIMPLEMENTED: Cannot compute input sources for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
2022-12-22 17:28:24.873494: E tensorflow/core/framework/dataset.cc:584] UNIMPLEMENTED: Cannot merge options for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
7429/7434 [============================>.] - ETA: 0s - loss: 0.3015 - auc: 0.73332022-12-22 17:28:44.932509: E tensorflow/core/framework/dataset.cc:580] UNIMPLEMENTED: Cannot compute input sources for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
2022-12-22 17:28:44.932541: E tensorflow/core/framework/dataset.cc:584] UNIMPLEMENTED: Cannot merge options for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
7434/7434 [==============================] - 21s 3ms/step - loss: 0.3015 - auc: 0.7333 - val_loss: 0.3256 - val_auc: 0.7394
Epoch 3/3
2022-12-22 17:28:46.034279: E tensorflow/core/framework/dataset.cc:580] UNIMPLEMENTED: Cannot compute input sources for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
2022-12-22 17:28:46.034310: E tensorflow/core/framework/dataset.cc:584] UNIMPLEMENTED: Cannot merge options for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
7432/7434 [============================>.] - ETA: 0s - loss: 0.3014 - auc: 0.73432022-12-22 17:29:07.986599: E tensorflow/core/framework/dataset.cc:580] UNIMPLEMENTED: Cannot compute input sources for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
2022-12-22 17:29:07.986654: E tensorflow/core/framework/dataset.cc:584] UNIMPLEMENTED: Cannot merge options for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
7434/7434 [==============================] - 24s 3ms/step - loss: 0.3014 - auc: 0.7343 - val_loss: 0.3285 - val_auc: 0.7450
Epoch 1/3
WARNING:tensorflow:Layers in a Sequential model should only have a single input tensor. Received: inputs={'antiguedadenbancos': <tf.Tensor 'IteratorGetNext:0' shape=(None,) dtype=int64>, 'antiguedadlaboral': <tf.Tensor 'IteratorGetNext:1' shape=(None,) dtype=int64>, 'edad': <tf.Tensor 'IteratorGetNext:2' shape=(None,) dtype=int64>, 'mlctc_uva': <tf.Tensor 'IteratorGetNext:3' shape=(None,) dtype=float64>, 'nsepercentil': <tf.Tensor 'IteratorGetNext:4' shape=(None,) dtype=int64>, 'score': <tf.Tensor 'IteratorGetNext:5' shape=(None,) dtype=int64>}. Consider rewriting this model with the Functional API.
WARNING:tensorflow:Layers in a Sequential model should only have a single input tensor. Received: inputs={'antiguedadenbancos': <tf.Tensor 'IteratorGetNext:0' shape=(None,) dtype=int64>, 'antiguedadlaboral': <tf.Tensor 'IteratorGetNext:1' shape=(None,) dtype=int64>, 'edad': <tf.Tensor 'IteratorGetNext:2' shape=(None,) dtype=int64>, 'mlctc_uva': <tf.Tensor 'IteratorGetNext:3' shape=(None,) dtype=float64>, 'nsepercentil': <tf.Tensor 'IteratorGetNext:4' shape=(None,) dtype=int64>, 'score': <tf.Tensor 'IteratorGetNext:5' shape=(None,) dtype=int64>}. Consider rewriting this model with the Functional API.
2022-12-22 17:29:11.172509: E tensorflow/core/framework/dataset.cc:580] UNIMPLEMENTED: Cannot compute input sources for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
2022-12-22 17:29:11.172573: E tensorflow/core/framework/dataset.cc:584] UNIMPLEMENTED: Cannot merge options for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
   7425/Unknown - 24s 3ms/step - loss: 0.3151 - auc: 0.7064WARNING:tensorflow:Layers in a Sequential model should only have a single input tensor. Received: inputs={'antiguedadenbancos': <tf.Tensor 'IteratorGetNext:0' shape=(None,) dtype=int64>, 'antiguedadlaboral': <tf.Tensor 'IteratorGetNext:1' shape=(None,) dtype=int64>, 'edad': <tf.Tensor 'IteratorGetNext:2' shape=(None,) dtype=int64>, 'mlctc_uva': <tf.Tensor 'IteratorGetNext:3' shape=(None,) dtype=float64>, 'nsepercentil': <tf.Tensor 'IteratorGetNext:4' shape=(None,) dtype=int64>, 'score': <tf.Tensor 'IteratorGetNext:5' shape=(None,) dtype=int64>}. Consider rewriting this model with the Functional API.
2022-12-22 17:29:34.149632: E tensorflow/core/framework/dataset.cc:580] UNIMPLEMENTED: Cannot compute input sources for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
2022-12-22 17:29:34.149680: E tensorflow/core/framework/dataset.cc:584] UNIMPLEMENTED: Cannot merge options for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
7434/7434 [==============================] - 26s 3ms/step - loss: 0.3152 - auc: 0.7064 - val_loss: 0.3693 - val_auc: 0.7440
Epoch 2/3
2022-12-22 17:29:35.964537: E tensorflow/core/framework/dataset.cc:580] UNIMPLEMENTED: Cannot compute input sources for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
2022-12-22 17:29:35.964575: E tensorflow/core/framework/dataset.cc:584] UNIMPLEMENTED: Cannot merge options for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
7425/7434 [============================>.] - ETA: 0s - loss: 0.3017 - auc: 0.73272022-12-22 17:29:56.017311: E tensorflow/core/framework/dataset.cc:580] UNIMPLEMENTED: Cannot compute input sources for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
2022-12-22 17:29:56.017342: E tensorflow/core/framework/dataset.cc:584] UNIMPLEMENTED: Cannot merge options for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
7434/7434 [==============================] - 21s 3ms/step - loss: 0.3017 - auc: 0.7326 - val_loss: 0.3507 - val_auc: 0.7431
Epoch 3/3
2022-12-22 17:29:57.152949: E tensorflow/core/framework/dataset.cc:580] UNIMPLEMENTED: Cannot compute input sources for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
2022-12-22 17:29:57.153009: E tensorflow/core/framework/dataset.cc:584] UNIMPLEMENTED: Cannot merge options for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
7420/7434 [============================>.] - ETA: 0s - loss: 0.3011 - auc: 0.73452022-12-22 17:30:20.449178: E tensorflow/core/framework/dataset.cc:580] UNIMPLEMENTED: Cannot compute input sources for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
2022-12-22 17:30:20.449228: E tensorflow/core/framework/dataset.cc:584] UNIMPLEMENTED: Cannot merge options for dataset of type IO>BigQueryDataset, because the dataset does not implement `InputDatasets`.
7434/7434 [==============================] - 24s 3ms/step - loss: 0.3012 - auc: 0.7345 - val_loss: 0.3766 - val_auc: 0.7519

hugoferrero avatar Dec 22 '22 20:12 hugoferrero