tensorflow 为什么tfx.components.FnArgs没有“epochs”属性?

thtygnil  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(96)

tfx.components.FnArgs是将值传递给run_fn函数的方式,该函数将依次在Tensorflow扩展管道中训练模型。
看着tfx.components.FnArgs' documentation,我不禁想知道为什么没有运行训练循环的epoch数的属性(也许是训练中最重要的属性)。这是一个疏忽还是我应该以不同的方式控制epoch数?

ldfqzlk8

ldfqzlk81#

您可以在custom_config dict中传递epochs属性,如范例记事本所示。
示例代码:

trainer = tfx.components.Trainer(
    module_file=os.path.abspath(_trainer_module_file),
    examples=ratings_transform.outputs['transformed_examples'],
    transform_graph=ratings_transform.outputs['transform_graph'],
    schema=ratings_transform.outputs['post_transform_schema'],
    train_args=tfx.proto.TrainArgs(num_steps=500),
    eval_args=tfx.proto.EvalArgs(num_steps=10),
    custom_config={
        'epochs':5,
        'movies':movies_transform.outputs['transformed_examples'],
        'movie_schema':movies_transform.outputs['post_transform_schema'],
        'ratings':ratings_transform.outputs['transformed_examples'],
        'ratings_schema':ratings_transform.outputs['post_transform_schema']
        })

context.run(trainer, enable_cache=False)

相关问题