CREATE MODEL¶
在当前/指定架构中创建新的机器学习模型,或替换现有模型。
备注
使用 Snowflake Model Registry Python API 从零开始创建模型。在 SQL 中,您只能从其他模型创建模型。
模型经过版本化。所有模型必须至少有一个版本,并且必须指定一个版本作为默认值。要将版本添加到模型,请使用 ALTER MODEL ...ADD VERSION。
可以修改模型的某些属性(请参阅 ALTER MODEL),也可以添加多个版本。
此命令还支持以下变体:
CREATE MODEL ...FROM internalStage(根据外部暂存区中的文件创建模型)
语法¶
CREATE [ OR REPLACE ] MODEL [ IF NOT EXISTS ] <name> [ WITH VERSION <version_name> ]
FROM MODEL <source_model_name> [ VERSION <source_version_or_alias_name> ]
变体语法¶
此变体由 Snowflake Model Registry Python API 使用。不可能在 SQL 中从头开始创建模型。
CREATE [ OR REPLACE ] MODEL [ IF NOT EXISTS ] <name> FROM internalStage
其中:
internalStage ::=
@[<namespace>.]<int_stage_name>[/<path>]
| @[<namespace>.]%<table_name>[/<path>]
| @~[/<path>]
有关其他内部暂存区的详细信息,请参阅 为本地文件选择内部暂存区。
必填参数¶
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 权限。 |
要对架构中的任何对象执行操作,需要对父数据库和架构的 USAGE 权限。请注意,如果某个角色获授某个架构的任意权限,该角色便能够解析该架构。例如,若某角色被授予 CREATE 权限,则可以在该架构上创建对象,而无需 同时 被授予该架构的 USAGE 权限。
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
使用说明¶
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> 语句是原子的。也就是说,当对象被替换时,旧对象将被删除,新对象将在单个事务中创建。