将模型存储到磁盘

此功能在 Aura 图形分析无服务器版中不可用。

模型目录在 Neo4j 实例运行时存在。当 Neo4j 重启时,模型将不再在目录中可用,需要重新训练。这可以通过将模型存储到磁盘来避免。

存储模型的路径可以通过 neo4j.conf 文件中的配置参数 gds.model.store_location 进行配置。该路径必须是一个目录,并且 Neo4j 进程必须具有写入权限。

此功能必须配置 gds.model.store_location 参数。

将模型从目录存储到磁盘

可存储的模型

语法

从目录中存储模型
CALL gds.model.store(
    modelName: String,
    failIfUnsupported: Boolean
)
YIELD
    modelName: String,
    storeMillis: Integer
表 1. 参数
名称 类型 默认值 可选 描述

modelName

字符串

不适用

模型的名称。

failIfUnsupported

布尔值

true

默认情况下,当尝试存储不支持的模型时,库将引发错误。当设置为 false 时,该过程将返回空结果。

表 2. 结果
名称 类型 描述

modelName

字符串

存储模型的名称。

storeMillis

整数

存储模型所花费的毫秒数。

示例

将模型存储到磁盘
CALL gds.model.store('my-model')
YIELD
  modelName,
  storeMillis

从磁盘加载模型

此功能在 Aura 图形分析无服务器版中不可用。

GDS 将在数据库启动时从配置的存储位置发现可用模型。在发现过程中,仅加载模型元数据,而不加载实际模型数据。为了使用已存储的模型,必须显式加载它。

语法

从磁盘加载模型
CALL gds.model.load(modelName: String)
YIELD
    modelName: String,
    loadMillis: Integer
表 3. 参数
名称 类型 默认值 可选 描述

modelName

字符串

不适用

模型的名称。

表 4. 结果
名称 类型 描述

modelName

字符串

加载模型的名称。

loadMillis

整数

加载模型所花费的毫秒数。

示例

从磁盘加载模型
CALL gds.model.load('my-model')
YIELD
  modelName,
  loadMillis

要验证模型是否已加载,我们可以使用 gds.model.list 过程。该过程返回标志以指示模型是否已存储以及模型是否已加载到内存中。该操作是幂等的,如果模型已加载,则会跳过加载。

从磁盘删除模型

此功能在 Aura 图形分析无服务器版中不可用。

要从磁盘中移除已存储的模型,必须将其删除。这与删除模型不同。删除模型会将其从内存中的模型目录中移除,但不会从磁盘中移除。删除模型会将其从磁盘中移除,但如果已加载,则会将其保留在内存中的模型目录中。

语法

从磁盘删除已存储的模型
CALL gds.model.delete(modelName: String)
YIELD
    modelName: String,
    deleteMillis: Integer
表 5. 参数
名称 类型 默认值 可选 描述

modelName

字符串

不适用

模型的名称。

表 6. 结果
名称 类型 描述

modelName

字符串

加载模型的名称。

deleteMillis

整数

删除模型所花费的毫秒数。

示例

从磁盘删除模型
CALL gds.model.delete('my-model')
YIELD
  modelName,
  deleteMillis

来自旧版 GDS 的模型

在 GDS 2.4 之前,节点分类和链接预测模型只有在使用逻辑回归训练器方法进行训练时才能存储。

旧版 GDS 中存储的任何模型都可以在最新版 GDS 中加载。

© . All rights reserved.