-----------TensorFlow1.x-----------
方式汇总:
- tf.data.experimental.make_batched_features_dataset
- tf.parse_single_example
- tf.parse_example
- example.ParseFromString
- tf.parse_single_sequence_example
- tf.parse_sequence_example
注意:tf也可以写为tf.io.***
一、为现成的estimator创建TrainSpec
用于
# 模型:
model = tf.estimator.LinearClassifier(
feature_columns=get_feature_columns(""),
model_dir=FLAGS.model_dir,
n_classes=2,
optimizer=tf.train.AdamOptimizer(learning_rate=FLAGS.learning_rate, ),
config=None,
warm_start_from=None,
sparse_combiner='sum')
# 训练方式:
estimator_lib.train_and_evaluate(estimator=model,train_spec=train_spec,eval_spec=eval_spec)
# 或
tf.estimator.train_and_evaluate(estimator=model,train_spec=train_spec,eval_spec=eval_spec)
1、获取tfrecord文件目录
for path in path_list:
file_list.extend(tf.io.gfile.glob(path))
2、直接解析tfrecord数据
feature_schema = {
"user_data": tf.io.FixedLenFeature(shape=(43,),dtype=tf.float32),
# "label": tf.io.FixedLenFeature(shape=(1,),dtype=tf.float32)
}
# 注意:将所有浮点特征数据以及label都放到了user_data中,所以label_key设置为None
dataTestTrain = tf.data.experimental.make_batched_features_dataset(
file_pattern=file_list,
batch_size=FLAGS.train_batch_size,
features=feature_schema,
label_key=None,
num_epochs=FLAGS.train_epochs,
shuffle=True,
shuffle_buffer_size=FLAGS.train_shuffle_buffer,
shuffle_seed=random.randint(0, 1000000),
reader_num_threads=FLAGS.reader_num_threads,
parser_num_threads=FLA