IMPORT_MODELS
将以下模型导入 Vertica:通过 EXPORT_MODELS 导出的 Vertica 模型,或预测模型标记语言 (PMML) 或 TensorFlow 格式的模型。您可以使用此函数在 Vertica 群集之间移动模型,或导入在其他地方训练的 PMML 和 TensorFlow 模型。
GET_MODEL_SUMMARY 和 GET_MODEL_ATTRIBUTE 等其他 Vertica 模型管理操作支持导入的模型。
当心
更改导出的模型文件会导致导入功能在尝试重新导入时失败。这是元函数。您必须在顶级 SELECT 语句中调用元函数。
行为类型
易变语法
IMPORT_MODELS ( 'source'
[ USING PARAMETERS [ new_schema = 'schema‑name' ] [, category = 'model-category' ] ] )
参数
- 源
- 导入模型的位置的绝对路径,为以下之一:
-
单个模型的目录:
path/model-directory
-
多个模型目录的父目录:
parent-dir-path/*
-
参数
new_schema
- 导入机器学习模型的现有架构。如果忽略,模型将被导入默认架构。
IMPORT_MODELS 从其
metadata.json
文件中提取导入模型的名称(如果存在)。否则,该函数使用模型目录的名称。 category
- 指定要导入的模型的类别,为以下之一:
-
VERTICA_MODELS
-
PMML
-
TENSORFLOW
如果模型目录没有
metadata.json
文件,则需要此参数。如果以下情况之一为 true,则 IMPORT_MODELS 返回错误:-
未指定类别且模型目录没有
metadata.json
。 -
指定的类别与模型类型不匹配。
注意
如果类别为 TENSORFLOW,则 IMPORT_MODELS 仅从模型目录中导入以下文件:
-
特权
超级用户
要求和限制
以下要求和限制适用:
-
如果您导出模型,然后再次导入,则导出和导入模型目录名称必须匹配。如果发生命名冲突,请使用
new_schema
参数将模型导入不同的架构,然后重命名该模型。 -
机器学习配置参数 MaxModelSizeKB 设置可以导入 Vertica 的模型的最大大小。
-
目前不支持某些 PMML 功能和属性。有关详细信息,请参阅PMML 特征和属性。
-
如果您导入带有
metadata.json
和crc.json
文件的 PMML 模型,则 CRC 文件必须包含元数据文件的 CRC 值。否则,导入操作会返回错误。
示例
将模型导入指定的架构:
在这两个示例中,都没有指定模型类别,因此 IMPORT_MODEL 使用模型的 metadata.json
文件来确定其类别:
-
将单个模型
mykmeansmodel
导入到newschema
架构中:=> SELECT IMPORT_MODELS ('/home/dbadmin/myschema/mykmeansmodel' USING PARAMETERS new_schema='newschema') IMPORT_MODELS ---------------- Success (1 row)
-
将
myschema
目录中的所有模型导入到newschema
架构中:=> SELECT IMPORT_MODELS ('/home/dbadmin/myschema/*' USING PARAMETERS new_schema='newschema') IMPORT_MODELS ---------------- Success (1 row)
指定要导入的模型类别:
在前两个示例中,IMPORT_MODELS 只有在指定的模型和类别匹配时才返回成功;否则,它会返回错误:
-
导入
kmeans_pmml
作为 PMML 模型:SELECT IMPORT_MODELS ('/root/user/kmeans_pmml' USING PARAMETERS category='PMML') import_models --------------- Success (1 row)
-
导入
tf_mnist_estimator
作为 TensorFlow 模型:=> SELECT IMPORT_MODELS ( '/path/tf_models/tf_mnist_estimator' USING PARAMETERS category='TENSORFLOW'); import_models --------------- Success (1 row)
-
从指定目录导入所有 TensorFlow 模型:
=> SELECT IMPORT_MODELS ( '/path/tf_models/*' USING PARAMETERS category='TENSORFLOW'); import_models --------------- Success (1 row)