como normalizar dados de entrada para modelos no fluxo tensor
Meus dados de treinamento são salvos em 3 arquivos, cada arquivo é muito grande e não pode caber na memória. Para cada exemplo de treinamento, os dados são bidimensionais (2805 linhas e 222 colunas, a 222ª coluna é para rótulo) e são valores numéricos. Eu gostaria de normalizar os dados antes de alimentar modelos para treinamento. Abaixo está o meu código para input_pipeline e os dados não foram normalizados antes da criação do conjunto de dados. Existem algumas funções no tensorflow que podem normalizar o meu 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()