Возвращение идентификатора набора данных GCP AutoML из Node.js клиентской библиотеки не соответствует фактическому идентификатору набора данных - PullRequest
0 голосов
/ 27 марта 2020

Раньше я использовал клиентскую библиотеку Node.js для создания набора данных и обучения модели на GCP automl, и все работает отлично. Но теперь я столкнулся с "Ошибка: 5 NOT_FOUND: набор данных не существует или недоступен для использования с AutoMl" .

После этого я понял, что возвращаемый идентификатор набора данных из запроса на создание набора данных не соответствует фактический идентификатор набора данных (по сравнению с веб-интерфейсом). Поэтому я не могу программно взаимодействовать с набором данных.

Моя цель - использовать этот идентификатор набора данных для загрузки изображения и обучения модели. Любое обновление я пропускаю? Будем благодарны за любые предложения.

Ниже приведен код ссылки для создания набора данных с GCP Automl из https://cloud.google.com/vision/automl/docs/create-datasets.

 * TODO(developer): Uncomment these variables before running the sample.
 */
// const projectId = 'YOUR_PROJECT_ID';
// const location = 'us-central1';
// const displayName = 'YOUR_DISPLAY_NAME';

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

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

async function createDataset() {
  // Construct request
  // Specify the classification type
  // Types:
  // MultiLabel: Multiple labels are allowed for one example.
  // MultiClass: At most one label is allowed per example.
  const request = {
    parent: client.locationPath(projectId, location),
    dataset: {
      displayName: displayName,
      imageClassificationDatasetMetadata: {
        classificationType: 'MULTILABEL',
      },
    },
  };

  // Create dataset
  const [operation] = await client.createDataset(request);

  // Wait for operation to complete.
  const [response] = await operation.promise();

  console.log(`Dataset name: ${response.name}`);
  console.log(`
    Dataset id: ${
      response.name
        .split('/')
        [response.name.split('/').length - 1].split('\n')[0]
    }`);
}

createDataset();

1 Ответ

2 голосов
/ 30 марта 2020

Теперь я использовал пример кода из https://github.com/googleapis/nodejs-automl/blob/master/samples/vision_object_detection_create_dataset.js, и он работает надежно. Да, я должен был использовать это в начале. Но мы все всегда находили способ, который не сработает, до работы, верно?

Удачного кодирования и создания лучшего мира;).

...