EXPORT_MODELS

导出机器学习模型。Vertica 支持三种模型格式:

  • 原生 Vertica (VERTICA_MODELS)

  • PMML

  • TensorFlow

这是元函数。您必须在顶级 SELECT 语句中调用元函数。

行为类型

易变

语法

EXPORT_MODELS ( 'output-dir', 'export-target' [ USING PARAMETERS category = 'model-category' ] )

参数

output-dir
用于存储导出模型的输出目录的绝对路径。
export-target
指定要导出的模型,如下所示:
 [schema.]{ model‑name | * }

其中 schema 指定从指定的架构导出模型(可选)。如果忽略,EXPORT_MODELS 使用默认架构。提供 *(星号)以从架构中导出所有模型。

参数

category
要导出的模型类别,为以下之一:
  • VERTICA_MODELS

  • PMML

  • TENSORFLOW

EXPORT_MODELS 根据导出操作的范围导出指定类别的模型,即应用于单个模型,还是应用于架构中的所有模型。请参阅下面的导出范围和类别处理

下文导出的文件描述了 EXPORT_MODELS 为每个类别导出的文件。

如果忽略此参数,EXPORT_MODELS 将根据模型类型导出模型或指定架构中的模型。

特权

超级用户

导出范围和类别处理

EXPORT_MODELS 根据以下参数设置执行:

  • 导出操作的范围:单个模型,或给定架构中的所有模型

  • 指定或忽略的类别

下表显示了这两个参数如何控制导出过程:

导出的文件

EXPORT_MODELS 为每个模型类别导出以下文件:

类别和兼容模型

如果 EXPORT_MODELS 指定单个模型并且还设置了 category 参数,则如果模型类型和类别兼容,则函数成功;否则,它会返回错误:

如果 EXPORT_MODELS 指定从架构中导出所有模型并设置类别,它会针对与该类别不兼容的每个模型发出警告消息。该函数随后继续处理该架构中的剩余模型。

EXPORT_MODELS 在 output-dir/export_log.json 中记录所有错误和警告。

示例

导出模型而不更改其类别:

  • 导出模型 myschema.mykmeansmodel 而不更改其类别:

    => SELECT EXPORT_MODELS ('/home/dbadmin', 'myschema.mykmeansmodel');
    EXPORT_MODELS
    ----------------
    Success
    (1 row)
    
  • 导出架构 myschema 中的所有模型而不更改其类别:

    => SELECT EXPORT_MODELS ('/home/dbadmin', 'myschema.*');
    EXPORT_MODELS
    ----------------
    Success
    (1 row)
    

导出与指定类别兼容的模型:

  • 类别设置为 PMML。PMML 和 VERTICA_MODELS 类型的模型与 PMML 类别兼容,因此如果 my_keans 属于任一类型,则导出操作成功:

    => SELECT EXPORT_MODELS ('/tmp/', 'my_kmeans' USING PARAMETERS category='PMML');
    
  • 类别设置为 VERTICA_MODELS。只有 VERTICA_MODELS 类型的模型与 VERTICA_MODELS 类别兼容,因此只有当 my_keans 属于该类型时,导出操作才会成功:

    => SELECT EXPORT_MODELS ('/tmp/', 'public.my_kmeans' USING PARAMETERS category='VERTICA_MODELS');
    
  • 类别设置为 TENSORFLOW。只有 TensorFlow 类型的模型与 TENSORFLOW 类别兼容,因此模型 tf_mnist_keras 必须为 TensorFlow 类型:

    => SELECT EXPORT_MODELS ('/tmp/', 'tf_mnist_keras', USING PARAMETERS category='TENSORFLOW');
    export_models
    ---------------
    Success
    (1 row)
    

导出 TensorFlow 模型 tf_mnist_keras 后,列出导出的文件:

$ ls tf_mnist_keras/
crc.json  metadata.json  mnist_keras.pb  model.json  tf_model_desc.json

另请参阅

IMPORT_MODELS