模型目录

在本章节中,我们将演示如何检查和管理您已训练的模型。

使用 Neo4j Graph Analytics for Snowflake 训练模型时,模型按用户存储。这意味着 Snowflake 用户只能与同一用户通过训练创建的模型交互。

要使用这些端点,需要为应用程序、您的消费者角色和环境设置相应的权限。请参阅 入门指南 页面了解更多信息。

我们还假设应用程序名称为默认的 Neo4j_Graph_Analytics。如果您在安装过程中选择了不同的应用程序名称,请将其替换为该名称。

检查模型是否存在

要检查当前用户是否存在模型,我们调用 model_exists 过程

CALL Neo4j_Graph_Analytics.graph.model_exists('a_model_name')

这将返回类似如下的单行

MODEL_EXISTS

TRUE

如果当前用户没有该模型,则返回类似的结果,值为 FALSE。

列出模型及其元数据

为展示所有可用模型并检查其元数据(如训练配置和指标),我们调用

CALL Neo4j_Graph_Analytics.graph.show_models()

例如,它会返回

MODELNAME

INFO

a_model_name

{ "metrics": { "test_acc": 0.47403684258461, "test_f1_macro": 0.46957120299339294, "test_f1_micro": 0.47403684258461, "train_acc": 0.5744920969009399, "train_f1_macro": 0.568971574306488, "train_f1_micro": 0.5744920969009399 }, "compute": { "activation": "relu", "aggregator": "mean", "class_weights": true, "dropout": 0.1, "epochs_per_checkpoint": 1, "epochs_per_val": 0, "eval_batch_size": 886, "hidden_channels": 256, "layer_normalization": true, "learning_rate": 0.001, "make_undirected": true, "num_epochs": 1, "num_samples": [ 20, 20 ], "random_seed": 2119823670, "split_ratios": { "TEST": 0.2, "TRAIN": 0.6, "VALID": 0.2 }, "target_label": "movie", "target_property": "genre", "train_batch_size": 886 } }

该结果是一个字典,其中键为模型名称,值为模型元数据。在本例中,唯一存在的模型是 “a_model_name”。元数据中包含在 “compute” 键下的训练配置。它包括用户明确设置的参数以及对未指定设置的默认值。此外,如果有的话,训练期间收集的质量指标会出现在 “metrics” 键下。

删除模型

要删除模型,我们调用 drop_model 过程

CALL Neo4j_Graph_Analytics.graph.drop_model('a_model_name')

这将返回包含以下内容的单行

DROP_MODEL

TRUE

如果模型存在,则返回该值;否则返回值为 FALSE 的表。