删除模型

如果我们不再需要训练后的模型,并且想要释放内存,可以从目录中删除模型。

语法

从目录中删除模型
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

字符串

n/a

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

failIfMissing

布尔值

true

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

表 2. 结果
名称 类型 描述

modelName

字符串

模型的名称。

modelType

字符串

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

modelInfo

映射

有关训练后的模型的类型特定详细信息。

creationTime

日期时间

创建模型的时间。

trainConfig

映射

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

graphSchema

映射

模型训练所用图的模式。

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

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