how para normalizar datos de entrada para modelos en tensorflow
Mis datos de entrenamiento se guardan en 3 archivos, cada archivo es demasiado grande y no puede caber en la memoria. Para cada ejemplo de entrenamiento, los datos son bidimensionales (2805 filas y 222 columnas, la 222a columna es para etiqueta) y son valores numéricos. Me gustaría normalizar los datos antes de introducirlos en modelos para entrenamiento. A continuación se muestra mi código para input_pipeline, y los datos no se han normalizado antes de crear el conjunto de datos. ¿Hay algunas funciones en tensorflow que puedan hacer la normalización para mi caso?
dataset = tf.data.TextLineDataset([file1, file2, file3])
# combine 2805 lines into a single example
dataset = dataset.batch(2805)
def parse_example(line_batch):
record_defaults = [[1.0] for col in range(0, 221)]
record_defaults.append([1])
content = tf.decode_csv(line_batch, record_defaults = record_defaults, field_delim = '\t')
features = tf.stack(content[0:221])
features = tf.transpose(features)
label = content[-1][-1]
label = tf.one_hot(indices = tf.cast(label, tf.int32), depth = 2)
return features, label
dataset = dataset.map(parse_example)
dataset = dataset.shuffle(1000)
# batch multiple examples
dataset = dataset.batch(batch_size)
dataset = dataset.repeat(num_epochs)
iterator = dataset.make_one_shot_iterator()
data_batch, label_batch = iterator.get_next()