【问题标题】:How do I get online predictions in javascript for my model on Cloud Machine Learning Engine?如何在 javascript 中为 Cloud Machine Learning Engine 上的模型获取在线预测?
【发布时间】:2017-07-21 16:20:01
【问题描述】:

我已成功部署在 Cloud ML Engine 上的模型上,并通过关注 the instructions 验证它与 gcloud ml-engine models predict 一起工作,现在我想从我的网络应用程序/javascript 代码向它发送预测。我该怎么做?

【问题讨论】:

    标签: javascript google-cloud-ml-engine


    【解决方案1】:

    在线预测 API 是一个 REST API,因此您可以使用任何库来发送 HTTPS 请求,但您需要使用 Google's OAuth 库来获取您的凭据。为简单起见,我们将使用 googleapis 库。

    预测请求的格式为 JSON,如docs 中所述。

    为了举例说明,请考虑Census 示例。其客户端可能如下所示:

    var google = require('googleapis');
    
    var ml = google.ml('v1');
    
    function auth(callback) {
        google.auth.getApplicationDefault(function(err, authClient) {
            if (err) {
                return callback(err);
            }
    
            if (authClient.createScopedRequired && authClient.createScopedRequired()) {
                authClient = authClient.createScoped([
                    'https://www.googleapis.com/auth/cloud-platform'
                ]);
            }
            callback(null, authClient);
        });
    }
    
    var instance = {
        age: 25,
        workclass: " Private",
        education: " 11th",
        education_num: 7,
        marital_status: " Never - married",
        occupation: " Machine - op - inspct",
        relationship: " Own - child",
        race: " Black",
        gender: " Male",
        capital_gain: 0,
        capital_loss: 0,
        hours_per_week: 40,
        native_country: " United - Stats"
    }
    
    auth(function(err, authClient) {
        if (err) {
            console.error(err);
        } else {
            var ml = google.ml({
                version: 'v1',
                auth: authClient
            });
    
            // Predict
            ml.projects.predict({
                name: 'projects/MY_PROJECT/models/census',
                resource: {
                    instances: [instance]
                }
            }, function(err, result) {
                if (err) {
                    return callback(err);
                }
    
                console.log(JSON.stringify(result));
            });
        }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-22
      • 2018-06-23
      相关资源
      最近更新 更多