save()取1个位置参数 但给出2个

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 个

0

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)

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(704)
Dockerfile中的 VOLUME的目的是什么
上一篇
基值在int函数中做什么
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(73条)