IMPORT_MODELS

将以下模型导入 Vertica:通过 EXPORT_MODELS 导出的 Vertica 模型,或预测模型标记语言 (PMML) 或 TensorFlow 格式的模型。您可以使用此函数在 Vertica 群集之间移动模型,或导入在其他地方训练的 PMML 和 TensorFlow 模型。

GET_MODEL_SUMMARYGET_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

  • 指定的类别与模型类型不匹配。

特权

超级用户

要求和限制

以下要求和限制适用:

  • 如果您导出模型,然后再次导入,则导出和导入模型目录名称必须匹配。如果发生命名冲突,请使用 new_schema 参数将模型导入不同的架构,然后重命名该模型。

  • 机器学习配置参数 MaxModelSizeKB 设置可以导入 Vertica 的模型的最大大小。

  • 目前不支持某些 PMML 功能和属性。有关详细信息,请参阅PMML 特征和属性

  • 如果您导入带有 metadata.jsoncrc.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)
    

另请参阅

EXPORT_MODELS