Невозможно сделать прогноз в Google Automl

Я обучил модель и хотел бы предсказать оценку нового изображения.

Теперь я выполняю следующую функцию, но она возвращает ошибку:

google.api_core.exceptions.PermissionDenied: 403 Permission 'automl.models.predict' denied on resource 'projects/project_id/locations/us-central1/models/model_id' (or it may not exist).

Я не уверен, что это из-за неправильного местоположения, например us-central1? Какую команду нужно проверить в gcloud?

Как решить эту проблему?

Большое тебе спасибо.

def get_prediction(content, project_id, model_id):

    prediction_client = automl_v1beta1.PredictionServiceClient()
    name = 'projects/{}/locations/us-central1/models/{}'.format(project_id, model_id)
    payload = {'image': {'image_bytes': content }}
    params = {}
    request = prediction_client.predict(name, payload, params)
    return request  # waits till request is returned

person Chan    schedule 24.08.2018    source источник


Ответы (1)


Сообщения об ошибках разрешения обычно появляются, когда приложение не аутентифицируется правильно; Следовательно, необходимо убедиться, что используемая вами учетная запись службы имеет необходимые роли. назначен, а также предоставит учетные данные вашему приложению, используя переменные среды или явно укажите в коде файл учетной записи службы. Имейте в виду, что когда вы устанавливаете значение переменной среды в сеансе, оно сбрасывается каждый раз, когда сеанс удаляется.

Кроме того, AutoML Vision в настоящее время требует расположения us-central1, как указано в Руководство по API. Исходя из этого, у вас должно быть все в порядке с этим аспектом; Однако вы можете ознакомиться с проектами .locations REST, если вы хотите получить дополнительную информацию об этой конфигурации.

Вы можете использовать следующий пример официальной документации, чтобы передать путь к ключу учетной записи службы в коде, а также Краткое руководство, чтобы узнать больше о конфигурации, необходимой для начала использования службы AutoML Vision.

namespace Google\Cloud\Samples\Auth;

// Imports the Google Cloud Storage client library.
use Google\Cloud\Storage\StorageClient;

function auth_cloud_explicit($projectId, $serviceAccountPath)
{
    # Explicitly use service account credentials by specifying the private key
    # file.
    $config = [
        'keyFilePath' => $serviceAccountPath,
        'projectId' => $projectId,
    ];
    $storage = new StorageClient($config);

    # Make an authenticated API request (listing storage buckets)
    foreach ($storage->buckets() as $bucket) {
        printf('Bucket: %s' . PHP_EOL, $bucket->name());
    }
}
person Armin_SC    schedule 24.08.2018