CREATE MODEL

在当前/指定架构中创建新的机器学习模型,或替换现有模型。

备注

使用 Snowflake Model Registry Python API 从零开始创建模型。在 SQL 中,您只能从其他模型创建模型。

模型经过版本化。所有模型必须至少有一个版本,并且必须指定一个版本作为默认值。要将版本添加到模型,请使用 ALTER MODEL ...ADD VERSION

可以修改模型的某些属性(请参阅 ALTER MODEL),也可以添加多个版本。

此命令还支持以下变体:

  • CREATE MODEL ...FROM internalStage(根据外部暂存区中的文件创建模型)

另请参阅:

ALTER MODELALTER MODEL ...ADD VERSIONDROP MODELSHOW MODELS

语法

CREATE [ OR REPLACE ] MODEL [ IF NOT EXISTS ] <name> [ WITH VERSION <version_name> ]
    FROM MODEL <source_model_name> [ VERSION <source_version_or_alias_name> ]
Copy

变体语法

此变体由 Snowflake Model Registry Python API 使用。不可能在 SQL 中从头开始创建模型。

CREATE [ OR REPLACE ] MODEL [ IF NOT EXISTS ] <name> [ WITH VERSION <version_name> ]
  FROM internalStage
Copy

其中:

internalStage ::=
    @[<namespace>.]<int_stage_name>[/<path>]
  | @[<namespace>.]%<table_name>[/<path>]
  | @~[/<path>]
Copy

有关其他内部暂存区的详细信息,请参阅 为本地文件选择内部暂存区

必填参数

name

字符串,用于指定新模型的标识符(即名称),对于创建模型的架构必须是唯一的。

此外,标识符必须以字母字符开头,且不能包含空格或特殊字符,除非整个标识符字符串放在双引号内(例如,"My object")。放在双引号内的标识符也区分大小写。

有关更多信息,请参阅 标识符要求

FROM MODEL source_model_name
如果不使用 FROM internalStage 变体,则为必填项

指定从中创建新模型的模型的名称。

FROM internalStage
如果使用 FROM internalStage 变量,则为必需

指定包含模型文件的内部暂存区。现在没有记录这些文件所需的布局。

可选参数

WITH VERSION version_name
用于 FROM MODEL 变体

指定要在新模型中创建的版本的名称。

VERSION source_version_or_alias_name
用于 FROM MODEL 变体

指定要从源模型复制的版本的名称或别名。如果未指定,则使用源模型中的默认版本。

访问控制要求

用于执行此操作的 角色 必须至少具有以下 权限

权限

对象

备注

CREATE MODEL

架构

受架构 OWNERSHIP 影响

OWNERSHIP

模型

若要创建创建与架构中已存在的对象同名的临时对象,必须授予角色或使其继承对象上的 OWNERSHIP 权限。

Operating on an object in a schema requires at least one privilege on the parent database and at least one privilege on the parent schema.

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

使用说明

  • The OR REPLACE and IF NOT EXISTS clauses are mutually exclusive. They can't both be used in the same statement.

  • CREATE OR REPLACE <object> 语句是原子的。也就是说,当对象被替换时,旧对象将被删除,新对象将在单个事务中创建。

语言: 中文