Google Cloud ML Engine:创建模型版本失败

时间:2017-08-26 06:29:28

标签: python machine-learning tensorflow google-cloud-ml-engine

我已经在Google Cloud的ML引擎上成功培训了TensorForestEstimator,但是当我尝试创建模型版本时,我收到以下错误:

  

创建版本失败。检测到错误的错误模型:“加载模型时出错:无法加载模型。”

我正在部署tensorflow 1.3Experiment配置如下:

def get_experiment_fn(args):
    def _experiment(run_config, hparams):
        return Experiment(
            estimator=TensorForestEstimator(
                params=ForestHParams(
                    num_trees=args.num_trees,
                    max_nodes=10000,
                    min_split_samples=2,
                    num_features=8,
                    num_classes=args.num_projections,
                    regression=True
                ),
                model_dir=args.job_dir,
                graph_builder_class=RandomForestGraphs,
                config=run_config,
                keys_name=None,
                report_feature_importances=True
            ),
            train_input_fn=get_input_fn(
                project_name=args.project,
                data_location=args.train_data,
                dataset_size=args.train_size,
                batch_size=args.train_batch_size
            ),
            train_steps=args.train_steps,
            eval_input_fn=get_input_fn(
                project_name=args.project,
                data_location=args.eval_data,
                dataset_size=args.eval_size,
                batch_size=args.eval_batch_size
            ),
            eval_steps=args.eval_steps,
            eval_metrics=get_eval_metrics(),
            export_strategies=[
                make_export_strategy(
                    serving_input_fn,
                    default_output_alternative_key=None,
                    exports_to_keep=1
                )
            ]
        )
    return _experiment

问题是什么?

1 个答案:

答案 0 :(得分:2)

Google Cloud ML Engine似乎仅支持使用tensorflow 1.2.0及以下版本生成的服务模型。见这里:https://cloud.google.com/ml-engine/docs/concepts/runtime-version-list

尽可能使用--runtime-version 1.2。如果您使用的是tensorflow 1.3特有的功能,则需要在Google App Engine上使用Flask托管您的模型,直到ML引擎对tensorflow 1.3的支持到达为止。