假设您有一个具有输入参数的环境:例如,要创建一个实例,您将使用
env_instance = MyEnv(var_1=3, var_2=5, ...)
现在假设您想使用环境"MyEnv"创建一个并行_py_environment?由于您需要输入参数,因此无法使用
tf_py_environment.TFPyEnvironment(parallel_py_environment.ParallelPyEnvironment([MyEnv]*int(n_envs)))
解决方案是创建一个超类:
class MyEnvPar(MyEnv):
def __init__(self):
super().__init__(var_1=3, var_2=5)
然后你可以使用
tf_py_environment.TFPyEnvironment(parallel_py_environment.ParallelPyEnvironment([MyEnvPar]*int(n_envs)))