小编dum*_*kar的帖子

使用Tensorflow Estimator打印额外的培训指标

有没有办法让Tensorflow在使用Estimator API时打印额外的培训指标(例如批量准确度)?

可以添加摘要并在Tensorboard中查看结果(请参阅另一篇文章),但我想知道是否有一种优雅的方法可以在训练时打印标量汇总值.这已经发生在训练损失上,例如:

loss = 0.672677, step = 2901 (52.995 sec)
Run Code Online (Sandbox Code Playgroud)

但是举个例子会很高兴

loss = 0.672677, accuracy = 0.54678, step = 2901 (52.995 sec)
Run Code Online (Sandbox Code Playgroud)

没有太多麻烦.我知道大多数情况下绘制测试集精度更有用(我已经使用验证监视器进行了此操作),但在这种情况下,我也对训练批量准确性感兴趣.

logging machine-learning tensorflow

22
推荐指数
2
解决办法
2万
查看次数

worker_machine_type标记在使用python的Google Cloud Dataflow中无效

我在Python中使用Apache Beam和Google Cloud Dataflow(2.3.0).将worker_machine_type参数指定为例如n1-highmem-2或时custom-1-6656,Dataflow运行作业但始终n1-standard-1为每个工作程序使用标准机器类型.

如果我做错了,有没有人知道?

其他主题(此处此处)表明这应该是可能的,因此这可能是版本问题.

我的代码用于指定PipelineOptions(请注意,所有其他选项都可以正常工作,因此它应该识别worker_machine_type参数):

def get_cloud_pipeline_options(project):

  options = {
    'runner': 'DataflowRunner',
    'job_name': ('converter-ml6-{}'.format(
        datetime.now().strftime('%Y%m%d%H%M%S'))),
    'staging_location': os.path.join(BUCKET, 'staging'),
    'temp_location': os.path.join(BUCKET, 'tmp'),
    'project': project,
    'region': 'europe-west1',
    'zone': 'europe-west1-d',
    'autoscaling_algorithm': 'THROUGHPUT_BASED',
    'save_main_session': True,
    'setup_file': './setup.py',
    'worker_machine_type': 'custom-1-6656',
    'max_num_workers': 3,
  }

  return beam.pipeline.PipelineOptions(flags=[], **options)

def main(argv=None):
  args = parse_arguments(sys.argv if argv is None else argv)

  pipeline_options = get_cloud_pipeline_options(args.project_id

  pipeline = beam.Pipeline(options=pipeline_options)
Run Code Online (Sandbox Code Playgroud)

python google-cloud-dataflow apache-beam

6
推荐指数
1
解决办法
621
查看次数