模型目录
在本章中,我们将演示如何检查和管理您已训练的模型。
当使用 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 值的结果。
列出模型及其元数据
为了显示所有可用模型并检查其元数据(例如训练配置和指标),我们调用
SELECT 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" 键下。