Exemple #1
0
def _AddCreateArgs(parser, support_console_logging=False):
    """Get arguments for the `ai-platform models create` command."""
    flags.GetModelName().AddToParser(parser)
    flags.GetDescriptionFlag('model').AddToParser(parser)
    flags.GetRegionArg('model').AddToParser(parser)
    parser.add_argument('--regions',
                        metavar='REGION',
                        type=arg_parsers.ArgList(min_length=1),
                        help="""\
The Google Cloud region where the model will be deployed (currently only a
single region is supported).

Defaults to 'us-central1'.
""")
    parser.add_argument(
        '--enable-logging',
        action='store_true',
        help='If set, enables StackDriver Logging for online prediction. These '
        'logs are like standard server access logs, containing information '
        'such as timestamps and latency for each request.')
    if support_console_logging:
        parser.add_argument(
            '--enable-console-logging',
            action='store_true',
            help=
            'If set, enables StackDriver Logging of stderr and stdout streams '
            'for online prediction. These logs are more verbose than the '
            'standard access logs and can be helpful for debugging.')
    labels_util.AddCreateLabelsFlags(parser)
Exemple #2
0
 def Args(parser):
   flags.GetModelName().AddToParser(parser)
   flags.GetRegionArg('model').AddToParser(parser)
   iam_util.AddArgsForAddIamPolicyBinding(
       parser,
       flags.MlEngineIamRolesCompleter,
       add_condition=True)
Exemple #3
0
def _AddCreateArgs(parser):
    """Add common arguments for `versions create` command."""
    flags.GetModelName(positional=False, required=True).AddToParser(parser)
    flags.GetDescriptionFlag('version').AddToParser(parser)
    flags.GetRegionArg(include_global=True).AddToParser(parser)
    flags.VERSION_NAME.AddToParser(parser)
    base.Argument('--origin',
                  help="""\
          Location of ```model/``` "directory" (see
          https://cloud.google.com/ai-platform/prediction/docs/deploying-models#upload-model).

          This overrides `deploymentUri` in the `--config` file. If this flag is
          not passed, `deploymentUri` *must* be specified in the file from
          `--config`.

          Can be a Cloud Storage (`gs://`) path or local file path (no
          prefix). In the latter case the files will be uploaded to Cloud
          Storage and a `--staging-bucket` argument is required.
      """).AddToParser(parser)
    flags.RUNTIME_VERSION.AddToParser(parser)
    base.ASYNC_FLAG.AddToParser(parser)
    flags.STAGING_BUCKET.AddToParser(parser)
    base.Argument('--config',
                  help="""\
          Path to a YAML configuration file containing configuration parameters
          for the
          [Version](https://cloud.google.com/ai-platform/prediction/docs/reference/rest/v1/projects.models.versions)
          to create.

          The file is in YAML format. Note that not all attributes of a version
          are configurable; available attributes (with example values) are:

              description: A free-form description of the version.
              deploymentUri: gs://path/to/source
              runtimeVersion: '2.1'
              #  Set only one of either manualScaling or autoScaling.
              manualScaling:
                nodes: 10  # The number of nodes to allocate for this model.
              autoScaling:
                minNodes: 0  # The minimum number of nodes to allocate for this model.
              labels:
                user-defined-key: user-defined-value

          The name of the version must always be specified via the required
          VERSION argument.

          Only one of manualScaling or autoScaling can be specified. If both
          are specified in same yaml file an error will be returned.

          If an option is specified both in the configuration file and via
          command-line arguments, the command-line arguments override the
          configuration file.
      """).AddToParser(parser)
    labels_util.AddCreateLabelsFlags(parser)
    flags.FRAMEWORK_MAPPER.choice_arg.AddToParser(parser)
    flags.AddPythonVersionFlag(parser, 'when creating the version')
    flags.AddMachineTypeFlagToParser(parser)
    flags.GetAcceleratorFlag().AddToParser(parser)
    flags.AddAutoScalingFlags(parser)
Exemple #4
0
def _AddIamPolicyBindingFlags(parser,
                              add_condition=False,
                              hide_region_flag=True):
    flags.GetModelName().AddToParser(parser)
    flags.GetRegionArg(hidden=hide_region_flag).AddToParser(parser)
    iam_util.AddArgsForAddIamPolicyBinding(parser,
                                           flags.MlEngineIamRolesCompleter,
                                           add_condition=add_condition)
Exemple #5
0
def _GetRemoveIamPolicyBindingArgs(parser, add_condition=False):
    iam_util.AddArgsForRemoveIamPolicyBinding(parser,
                                              add_condition=add_condition)
    flags.GetModelResourceArg(
        required=True,
        verb='for which to remove IAM policy binding from').AddToParser(parser)
    flags.GetRegionArg(include_global=True).AddToParser(parser)
    base.URI_FLAG.RemoveFromParser(parser)
Exemple #6
0
    def Args(parser):
        """Register flags for this command."""
        parser.add_argument('--model',
                            required=True,
                            help='Name of the model.')
        flags.GetRegionArg().AddToParser(parser)
        parser.add_argument('--version',
                            help="""\
Model version to be used.

If unspecified, the default version of the model will be used. To list model
versions run

  $ {parent_command} versions list
""")
        group = parser.add_mutually_exclusive_group(required=True)
        group.add_argument('--json-request',
                           help="""\
        Path to a local file containing the body of JSON request.

        An example of a JSON request:

            {
              "instances": [
                {"x": [1, 2], "y": [3, 4]},
                {"x": [-1, -2], "y": [-3, -4]}
              ]
            }

        This flag accepts "-" for stdin.
        """)
        group.add_argument('--json-instances',
                           help="""\
        Path to a local file from which instances are read.
        Instances are in JSON format; newline delimited.

        An example of the JSON instances file:

            {"images": [0.0, ..., 0.1], "key": 3}
            {"images": [0.0, ..., 0.1], "key": 2}
            ...

        This flag accepts "-" for stdin.
        """)
        group.add_argument('--text-instances',
                           help="""\
        Path to a local file from which instances are read.
        Instances are in UTF-8 encoded text format; newline delimited.

        An example of the text instances file:

            107,4.9,2.5,4.5,1.7
            100,5.7,2.8,4.1,1.3
            ...

        This flag accepts "-" for stdin.
        """)
Exemple #7
0
def _AddListArgs(parser):
    list_format = """\
    table(
        name.basename(),
        metadata.operationType,
        done
    )
"""
    parser.display_info.AddFormat(list_format)
    flags.GetRegionArg().AddToParser(parser)
Exemple #8
0
    def Args(parser):
        """Register flags for this command.

    Args:
      parser: An argparse.ArgumentParser-like object. It is mocked out in order
        to capture some information, but behaves like an ArgumentParser.
    """
        iam_util.AddArgsForRemoveIamPolicyBinding(parser, add_condition=True)
        flags.GetModelResourceArg(
            required=True,
            verb='for which to remove IAM policy binding from').AddToParser(
                parser)
        flags.GetRegionArg('model').AddToParser(parser)
        base.URI_FLAG.RemoveFromParser(parser)
Exemple #9
0
def _AddUpdateArgs(parser):
    """Get arguments for the `ai-platform versions update` command."""
    flags.AddVersionResourceArg(parser, 'to update')
    flags.GetDescriptionFlag('version').AddToParser(parser)
    flags.GetRegionArg(include_global=True).AddToParser(parser)
    labels_util.AddUpdateLabelsFlags(parser)
    base.Argument('--config',
                  metavar='YAML_FILE',
                  help="""\
          Path to a YAML configuration file containing configuration parameters
          for the
          [version](https://cloud.google.com/ml/reference/rest/v1/projects.models.versions)
          to create.

          The file is in YAML format. Note that not all attributes of a version
          are configurable; available attributes (with example values) are:

              description: A free-form description of the version.
              manualScaling:
                nodes: 10  # The number of nodes to allocate for this model.
              autoScaling:
                minNodes: 0  # The minimum number of nodes to allocate for this model.
                maxNodes: 1  # The maxinum number of nodes to allocate for this model.
              requestLoggingconfig:
                bigqueryTableName: someTable  # Fully qualified BigQuery table name.
                samplingPercentage: 0.5  # Percentage of requests to be logged.

          The name of the version must always be specified via the required
          VERSION argument.

          Only one of manualScaling or autoScaling can be specified. If both
          are specified in same yaml file, an error will be returned.

          Labels cannot currently be set in the config.yaml; please use
          the command-line flags to alter them.

          If an option is specified both in the configuration file and via
          command-line arguments, the command-line arguments override the
          configuration file.
      """).AddToParser(parser)
def _AddGetIamPolicyArgs(parser, hide_region_flag=True):
    flags.GetModelResourceArg(positional=True,
                              required=True,
                              verb='to set IAM policy for').AddToParser(parser)
    flags.GetRegionArg(hidden=hide_region_flag).AddToParser(parser)
    base.URI_FLAG.RemoveFromParser(parser)
Exemple #11
0
def _AddUpdateArgs(parser):
    """Get arguments for the `ai-platform models update` command."""
    flags.GetModelName().AddToParser(parser)
    flags.GetRegionArg('model').AddToParser(parser)
    flags.GetDescriptionFlag('model').AddToParser(parser)
    labels_util.AddUpdateLabelsFlags(parser)
Exemple #12
0
def _AddDeleteArgs(parser):
  flags.GetModelName().AddToParser(parser)
  flags.GetRegionArg('model').AddToParser(parser)
Exemple #13
0
def _AddGetIamPolicyArgs(parser):
    flags.GetModelResourceArg(positional=True,
                              required=True,
                              verb='to set IAM policy for').AddToParser(parser)
    flags.GetRegionArg(include_global=True).AddToParser(parser)
    base.URI_FLAG.RemoveFromParser(parser)
Exemple #14
0
 def Args(parser):
   flags.GetModelResourceArg(
       positional=True, required=True,
       verb='to set IAM policy for').AddToParser(parser)
   flags.GetRegionArg('model').AddToParser(parser)
   iam_util.AddArgForPolicyFile(parser)
Exemple #15
0
def _AddDeleteArgs(parser):
    flags.GetModelName().AddToParser(parser)
    flags.GetRegionArg(include_global=True).AddToParser(parser)
Exemple #16
0
def _AddDescribeArgs(parser, hide_region_flag=True):
  flags.GetLocationResourceArg().AddToParser(parser)
  flags.GetRegionArg(hidden=hide_region_flag).AddToParser(parser)
  parser.display_info.AddFormat('json')
Exemple #17
0
def _AddListArgs(parser):
  flags.GetModelName(positional=False, required=True).AddToParser(parser)
  flags.GetRegionArg('model').AddToParser(parser)
Exemple #18
0
def _AddListArgs(parser):
    flags.GetModelName(positional=False, required=True).AddToParser(parser)
    flags.GetRegionArg(include_global=True).AddToParser(parser)
    parser.display_info.AddFormat(
        'table(name.basename(), deploymentUri, state)')
Exemple #19
0
def _AddDescribeArgs(parser):
    flags.GetLocationResourceArg().AddToParser(parser)
    flags.GetRegionArg().AddToParser(parser)
    parser.display_info.AddFormat('json')
Exemple #20
0
def _AddDescribeArgs(parser):
    flags.OPERATION_NAME.AddToParser(parser)
    flags.GetRegionArg().AddToParser(parser)
Exemple #21
0
 def Args(parser):
     parser.display_info.AddFormat(_LIST_FORMAT)
     flags.GetRegionArg('operation').AddToParser(parser)
Exemple #22
0
def _AddSetIamPolicyArgs(parser):
    flags.GetModelResourceArg(positional=True,
                              required=True,
                              verb='to set IAM policy for').AddToParser(parser)
    flags.GetRegionArg(include_global=True).AddToParser(parser)
    iam_util.AddArgForPolicyFile(parser)
Exemple #23
0
def _AddSetIamPolicyArgs(parser, hide_region_flag=True):
    flags.GetModelResourceArg(positional=True,
                              required=True,
                              verb='to set IAM policy for').AddToParser(parser)
    flags.GetRegionArg(hidden=hide_region_flag).AddToParser(parser)
    iam_util.AddArgForPolicyFile(parser)
Exemple #24
0
 def Args(parser):
     flags.GetModelResourceArg(
         positional=True, required=True,
         verb='to set IAM policy for').AddToParser(parser)
     flags.GetRegionArg('model').AddToParser(parser)
     base.URI_FLAG.RemoveFromParser(parser)
Exemple #25
0
def _AddUpdateArgs(parser, hide_region_arg=True):
  """Get arguments for the `ai-platform versions update` command."""
  flags.AddVersionResourceArg(parser, 'to update')
  flags.GetDescriptionFlag('version').AddToParser(parser)
  flags.GetRegionArg(hidden=hide_region_arg).AddToParser(parser)
  labels_util.AddUpdateLabelsFlags(parser)
Exemple #26
0
def _AddWaitArgs(parser):
    flags.OPERATION_NAME.AddToParser(parser)
    flags.GetRegionArg('operation').AddToParser(parser)
Exemple #27
0
def _AddDescribeArgs(parser):
  flags.GetModelName().AddToParser(parser)
  flags.GetRegionArg().AddToParser(parser)
Exemple #28
0
def _AddListArgs(parser):
  parser.display_info.AddFormat(_DEFAULT_FORMAT)
  parser.display_info.AddUriFunc(_GetUri)
  flags.GetRegionArg(include_global=True).AddToParser(parser)
def _AddDeleteArgs(parser, hide_region_arg=True):
  flags.GetModelName(positional=False, required=True).AddToParser(parser)
  flags.GetRegionArg(hidden=hide_region_arg).AddToParser(parser)
  flags.VERSION_NAME.AddToParser(parser)
Exemple #30
0
def _AddDeleteArgs(parser):
    flags.GetModelName(positional=False, required=True).AddToParser(parser)
    flags.GetRegionArg('version').AddToParser(parser)
    flags.VERSION_NAME.AddToParser(parser)