我有不同的包含神经网络的python文件。每个python文件都有关联的weights.h5文件。
现在,我想制作一个python评估文件,该文件可加载所有网络/ python文件及其权重,为每个网络创建一个实例并比较其性能。
到目前为止,我尝试将其导入为包,但随后无法通过索引访问模块。如何导入所有模型并将它们的一个实例放在列表中,以便可以通过索引访问它们?
一个例子
from evaluation.v03 import DQNSolver as DQN1
from evaluation.v04 import DQNSolver as DQN2
from evaluation.v05 import DQNSolver as DQN3
...
这可行,但是我必须对每个导入进行硬编码。另外,我无法通过索引创建实例,也无法通过索引访问它们以在所有实例之间进行比较。
答案 0 :(得分:3)
使用function log(text, ...args){
console.log(text, ...args.map(t => chalk.red(t)));
}
函数而不是__import__()
语句。像这样:
import
然后,您可以像modules = []
for i in range(10):
modules.append( __import__('evaluation.v{:>02}'.format(i)) )
答案 1 :(得分:1)
建议使用import_module()
,而不是直接使用__import__()
:
from importlib import import_module
solvers = [getattr(import_module(f'evaluation.v{i:02d}'), 'DQNSolver') for i in range(5)]
solver = solvers[1]()
# solver -> <evaluation.v01.DQNSolver object at 0x7f0b7b5e5e10>