删除模型

如果我们不再需要某个已训练的模型并希望释放内存,可以从目录中删除该模型。

语法

从目录中删除模型
CALL gds.model.drop(modelName: String, failIfMissing: Boolean)
YIELD
    modelName: String,
    modelType: String,
    modelInfo: Map,
    creationTime: DateTime,
    trainConfig: Map,
    graphSchema: Map,
    loaded: Boolean,
    stored: Boolean,
    published: Boolean
表 1. 参数
名称 类型 默认 可选 描述

modelName

字符串

不适用

存储在目录中的模型名称。

failIfMissing(缺失时是否报错)

布尔值

true

当模型不存在时是否应引发错误。设置为 false 时,如果模型不存在,过程将返回空结果。

表 2. 结果
名称 类型 描述

modelName

字符串

模型名称。

modelType

字符串

模型类型。指示用于训练该模型的训练算法。

modelInfo

Map

关于已训练模型的详细类型特定信息。

creationTime

Datetime

模型创建的时间。

trainConfig

Map

用于训练模型的训练配置。

graphSchema

Map

模型训练所基于的图模式 (Schema)。

loaded

布尔值

如果模型已加载到内存模型目录中,则为 True。

stored

布尔值

如果模型已存储在磁盘上,则为 True。

published

布尔值

如果模型已发布,则为 True。

示例

在本节中,我们将演示 gds.model.drop 的用法。为简单起见,我们假设一个名为 my-model1 的示例模型已经过训练并存在于模型目录中。

删除模型

要删除模型,我们只需指定其名称即可。

从目录中删除模型
CALL gds.model.drop('my-model1')
YIELD modelName, modelType, modelInfo, loaded, stored, published
表 3. 结果
modelName modelType modelInfo loaded stored published

"my-model1"

"example-model-type"

{exampleModelInfo="exampleValue"}

true

false

false

删除模型时,我们将获得一个结果,该结果代表其在被删除前在目录中的状态。被删除的模型现在在目录中不再可用,我们可以通过运行 gds.model.list 来验证这一点。

列出已删除的模型
CALL gds.model.list('my-model1')
YIELD modelName, modelType, modelInfo, loaded, stored, published
表 4. 结果
modelName modelType modelInfo loaded stored published

删除不存在的模型

如果我们尝试删除一个不存在的模型,默认情况下会引发错误。为了避免这种情况,我们可以将 failIfMissing 设置为 false

从目录中删除模型而不报错
CALL gds.model.drop('my-model1', false)
表 5. 结果
modelName modelType modelInfo creationTime trainConfig graphSchema loaded stored published

正如我们所见,该过程返回空结果而不是引发错误。