import deepchem as dc
import pandas as pd
import numpy as np
import os, glob
tasks, datasets, transformers = dc.molnet.load_hiv(featurizer='GraphConv')
train_dataset, valid_dataset, test_dataset = datasets
print(datasets)
n_tasks = len(tasks)
model = dc.models.GraphConvModel(n_tasks, mode='classification')
hist = model.fit(train_dataset, nb_epoch=50)
metric = dc.metrics.Metric(dc.metrics.roc_auc_score)
print('Training set score:', model.evaluate(train_dataset, [metric], transformers))
print('Test set score:', model.evaluate(test_dataset, [metric], transformers))
model.save("HIV_test1.h5")
我想保存模型,但它有错误。
TypeError:save()取 1 个位置参数,但给出 2 个
deepchemmodel.save()
的文档实际上并没有说太多。但是你不能给它提供一个文件名(它不需要额外的参数,只是model
)。
事实证明,为了“保存”,你需要specify a model_dir
when initialising your model。我没有检查,但显然您的模型将在某些步骤后保存到该位置,如.fit()
。
使用this example并应用于您的代码:
# while creating
model = dc.models.GraphConvModel(n_tasks, mode='classification',
model_dir='/home/user/HIV_test1')
# or model_dir=r'C:\Users\me\HIV_test1'
hist = model.fit(train_dataset, nb_epoch=50)
# etc.
# and later to load it:
model = dc.models.GraphConvModel(model_dir='/home/user/HIV_test1')
model.restore()
(确保您使用的model_dir
始终指向相同的 dir。仅使用文件名意味着从中执行脚本的当前 dir 可能会有所不同。此外,这应该只是一个 dir 路径而没有文件名-dir 用于该模型的检查点。因此,请为单独的模型使用单独的 dirs。)
另外,看看这些相关的方法:
Model.get_model_filename()
TorchModel.save_checkpoint()
(TorchModel)
TorchModel.get_checkpoints()
(TorchModel)
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(7条)