gcloud ml-engine models predict
我已成功部署在 Cloud ML Engine 上的模型上,并按照说明验证它是否正常工作,现在我想从我的网络应用程序/javascript 代码向它发送预测。我怎么做?
问问题
1011 次
1 回答
1
在线预测 API 是一个 REST API,因此您可以使用任何库来发送 HTTPS 请求,但您需要使用Google 的 OAuth库来获取您的凭据。为简单起见,我们将使用该googleapis
库。
预测请求的格式是 JSON,如docs中所述。
举个例子,考虑人口普查的例子。一个客户可能看起来像:
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));
});
}
});
于 2017-07-21T08:14:49.977 回答