用相同的代码实例化各种crabnet模型

问题描述 投票:0回答:1

我最近偶然发现了crabnet,我正在一个催化项目中使用它。这是对项目的一个很好的补充,但我发现了一个问题。

我想在数据集的不同子集中训练螃蟹网络(过滤反应条件),看看是否能给出更好的结果(有时我有相同的成分,但反应条件不同,从而给出不同的结果)。问题似乎是,当您实例化 2 个crabnet 实例时,某些部分似乎是共享的。

这是如何复制问题的最小工作示例:

"""Basic usage of CrabNet regression on elasticity dataset."""
from crabnet.utils.data import get_data
from crabnet.data.materials_data import elasticity, example_materials_property
from crabnet.crabnet_ import CrabNet

train_df, val_df = get_data(elasticity, "train.csv", dummy=True)
train_df_2, val_df_2 = get_data(example_materials_property, "train.csv", dummy=True)

cb = CrabNet(mat_prop="elasticity")
cb.fit(train_df)
val_pred, val_sigma = cb.predict(val_df, return_uncertainty=True)

cbn = CrabNet(mat_prop="example_materials_property")
cbn.fit(train_df_2)
val_pred_2, val_sigma_2 = cbn.predict(val_df_2, return_uncertainty=True)

该示例只是Crabnet 文档中的基本用法示例,但重复每个步骤(并更改数据集以防万一)。

这会返回此错误:

File ".conda\lib\site-packages\torch\optim\optimizer.py", line 271, in wrapper for pre_hook in chain(_global_optimizer_pre_hooks.values(), self._optimizer_step_pre_hooks.values()): AttributeError: 'SWA' object has no attribute '_optimizer_step_pre_hooks'
。整个错误日志引用第14行
cbn.fit(train_df_2)
作为问题的触发点。

我如何实例化超过 1 个模型?

python neural-network artificial-intelligence
1个回答
0
投票

我一直在 github 上与 CrabNet 的开发人员交谈,他们已经找到了问题所在。显然,当pytorch为V2.0时,CrabNet使用的一些方法已经改变,并且无法正常工作。

有一个问题需要修复它,但似乎不会很快解决,所以目前唯一的修复方法是将 pytorch 降级到 V2.0 之前,以便它可以正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.