Skip to content

Commit

Permalink
docs: move and update beta get samples for video (#343)
Browse files Browse the repository at this point in the history
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/nodejs-automl/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕
  • Loading branch information
nnegrey authored Mar 24, 2020
1 parent 37d5f4a commit abde5c3
Show file tree
Hide file tree
Showing 6 changed files with 314 additions and 0 deletions.
80 changes: 80 additions & 0 deletions automl/beta/get-model-evaluation.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

'use strict';

function main(
projectId = 'YOUR_PROJECT_ID',
location = 'us-central1',
modelId = 'YOUR_MODEL_ID',
modelEvaluationId = 'YOUR_MODEL_EVALUATION_ID'
) {
// [START automl_video_classification_get_model_evaluation_beta]
// [START automl_video_object_tracking_get_model_evaluation_beta]
/**
* TODO(developer): Uncomment these variables before running the sample.
*/
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'us-central1';
// const modelId = 'YOUR_MODEL_ID';
// const modelEvaluationId = 'YOUR_MODEL_EVALUATION_ID';

// Imports the Google Cloud AutoML library
const {AutoMlClient} = require(`@google-cloud/automl`).v1beta1;

// Instantiates a client
const client = new AutoMlClient();

async function getModelEvaluation() {
// Construct request
const request = {
name: client.modelEvaluationPath(
projectId,
location,
modelId,
modelEvaluationId
),
};

const [response] = await client.getModelEvaluation(request);

console.log(`Model evaluation name: ${response.name}`);
console.log(`Model annotation spec id: ${response.annotationSpecId}`);
console.log(`Model display name: ${response.displayName}`);
console.log(`Model create time`);
console.log(`\tseconds ${response.createTime.seconds}`);
console.log(`\tnanos ${response.createTime.nanos / 1e9}`);
console.log(`Evaluation example count: ${response.evaluatedExampleCount}`);
// [END automl_video_object_tracking_get_model_evaluation_beta]

// [START automl_video_classification_get_model_evaluation_beta]
console.log(
`Video classification model evaluation metrics: ${response.videoClassificationEvaluationMetrics}`
);
// [END automl_video_classification_get_model_evaluation_beta]

// [START automl_video_object_tracking_get_model_evaluation_beta]
console.log(
`Video object tracking model evaluation metrics: ${response.videoObjectTrackingEvaluationMetrics}`
);

// [START automl_video_classification_get_model_evaluation_beta]
}

getModelEvaluation();
// [END automl_video_classification_get_model_evaluation_beta]
// [END automl_video_object_tracking_get_model_evaluation_beta]
}

main(...process.argv.slice(2));
61 changes: 61 additions & 0 deletions automl/beta/get-model.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

'use strict';

function main(
projectId = 'YOUR_PROJECT_ID',
location = 'us-central1',
modelId = 'YOUR_MODEL_ID'
) {
// [START automl_get_model_beta]
/**
* TODO(developer): Uncomment these variables before running the sample.
*/
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'us-central1';
// const modelId = 'YOUR_MODEL_ID';

// Imports the Google Cloud AutoML library
const {AutoMlClient} = require(`@google-cloud/automl`).v1beta1;

// Instantiates a client
const client = new AutoMlClient();

async function getModel() {
// Construct request
const request = {
name: client.modelPath(projectId, location, modelId),
};

const [response] = await client.getModel(request);

console.log(`Model name: ${response.name}`);
console.log(
`Model id: ${
response.name.split('/')[response.name.split('/').length - 1]
}`
);
console.log(`Model display name: ${response.displayName}`);
console.log(`Model create time`);
console.log(`\tseconds ${response.createTime.seconds}`);
console.log(`\tnanos ${response.createTime.nanos / 1e9}`);
console.log(`Model deployment state: ${response.deploymentState}`);
}

getModel();
// [END automl_get_model_beta]
}

main(...process.argv.slice(2));
53 changes: 53 additions & 0 deletions automl/beta/get-operation-status.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

'use strict';

function main(
projectId = 'YOUR_PROJECT_ID',
location = 'us-central1',
operationId = 'YOUR_OPERATION_ID'
) {
// [START automl_get_operation_status_beta]
/**
* TODO(developer): Uncomment these variables before running the sample.
*/
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'us-central1';
// const operationId = 'YOUR_OPERATION_ID';

// Imports the Google Cloud AutoML library
const {AutoMlClient} = require(`@google-cloud/automl`).v1beta1;

// Instantiates a client
const client = new AutoMlClient();

async function getOperationStatus() {
// Construct request
const request = {
name: `projects/${projectId}/locations/${location}/operations/${operationId}`,
};

const [response] = await client.operationsClient.getOperation(request);

console.log(`Name: ${response.name}`);
console.log(`Operation details:`);
console.log(response);
}

getOperationStatus();
// [END automl_get_operation_status_beta]
}

main(...process.argv.slice(2));
40 changes: 40 additions & 0 deletions automl/test/get-model-evaluation.beta.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

'use strict';

const {assert} = require('chai');
const {describe, it} = require('mocha');
const {AutoMlClient} = require('@google-cloud/automl').v1beta1;

const cp = require('child_process');

const execSync = cmd => cp.execSync(cmd, {encoding: 'utf-8'});

const GET_MODEL_EVALUATION_REGION_TAG = 'beta/get-model-evaluation';
const LOCATION = 'us-central1';
const MODEL_ID = 'TRL1218052175389786112';
const MODEL_EVALUATION_ID = '6800627877826816909';

describe('Automl Translate Model Tests', () => {
const client = new AutoMlClient();

it('should get model evaluations', async () => {
const projectId = await client.getProjectId();
const get_model_eval_output = execSync(
`node ${GET_MODEL_EVALUATION_REGION_TAG}.js ${projectId} ${LOCATION} ${MODEL_ID} ${MODEL_EVALUATION_ID}`
);
assert.match(get_model_eval_output, /Model evaluation name/);
});
});
40 changes: 40 additions & 0 deletions automl/test/get-model.beta.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

'use strict';

const {assert} = require('chai');
const {describe, it} = require('mocha');
const {AutoMlClient} = require('@google-cloud/automl').v1beta1;

const cp = require('child_process');

const execSync = cmd => cp.execSync(cmd, {encoding: 'utf-8'});

const GET_MODEL_REGION_TAG = 'beta/get-model';
const LOCATION = 'us-central1';
const MODEL_ID = 'TRL1218052175389786112';

describe('Automl Get Model Tests', () => {
const client = new AutoMlClient();

it('should get a model', async () => {
const projectId = await client.getProjectId();

const get_model_output = execSync(
`node ${GET_MODEL_REGION_TAG}.js ${projectId} ${LOCATION} ${MODEL_ID}`
);
assert.match(get_model_output, /Model id/);
});
});
40 changes: 40 additions & 0 deletions automl/test/get-operation-status.beta.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
// Copyright 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

'use strict';

const {assert} = require('chai');
const {describe, it} = require('mocha');
const {AutoMlClient} = require('@google-cloud/automl').v1beta1;

const cp = require('child_process');

const execSync = cmd => cp.execSync(cmd, {encoding: 'utf-8'});

const GET_OPERATION_STATUS_REGION_TAG = 'beta/get-operation-status';
const LOCATION = 'us-central1';
const OPERATION_ID = 'TRL5980949629938696192';

describe('Automl Get Operation Status Tests', () => {
const client = new AutoMlClient();

it('should get operation status', async () => {
const projectId = await client.getProjectId();

const get_output = execSync(
`node ${GET_OPERATION_STATUS_REGION_TAG}.js ${projectId} ${LOCATION} ${OPERATION_ID}`
);
assert.match(get_output, /Operation details/);
});
});

0 comments on commit abde5c3

Please sign in to comment.