【问题标题】:OSError: [WinError 126] The specified module could not be found?OSError: [WinError 126] 找不到指定的模块?
【发布时间】:2020-10-22 11:56:52
【问题描述】:

首先抱歉,我的语法可能不好。如果我在这里错过了任何解决方案,你可以给我 url,但我没有找到适合这种情况的任何解决方案。

我正在学习关于深度学习的课程,他们为我们提供了这段代码。但是,我只遇到了一个错误。这是main.py;

from __future__ import print_function
import os
import torch
import torch.multiprocessing as mp
from envs import create_atari_env
from model import ActorCritic
from train import train
from testt import test
import my_optim

# Gathering all the parameters (that we can modify to explore)
class Params():
    def __init__(self):
        self.lr = 0.0001
        self.gamma = 0.99
        self.tau = 1.
        self.seed = 1
        self.num_processes = 16
        self.num_steps = 20
        self.max_episode_length = 10000
        self.env_name = 'Breakout-v0'

# Main run
os.environ['OMP_NUM_THREADS'] = '1'
params = Params()
torch.manual_seed(params.seed)
env = create_atari_env(params.env_name)
shared_model = ActorCritic(env.observation_space.shape[0], env.action_space)
shared_model.share_memory()
optimizer = my_optim.SharedAdam(shared_model.parameters(), lr=params.lr)
optimizer.share_memory()
processes = []
p = mp.Process(target=test, args=(params.num_processes, params, shared_model))
p.start()
processes.append(p)
for rank in range(0, params.num_processes):
    p = mp.Process(target=train, args=(rank, params, shared_model, optimizer))
    p.start()
    processes.append(p)
for p in processes:
    p.join()

是不是由“from envs import create_atari_env”引起的。因为在安装 create_atari_env 之后,在我安装它之后。而且我不在脚本中使用任何路径。

错误;

****\lib\ctypes_init_.py 第 426 行 LoadLibrary self._handle = _dlopen(self._name, mode) OSError: [WinError 126] The specified module could not be找到了

【问题讨论】:

    标签: python deep-learning


    【解决方案1】:

    此错误通常与path 相关,例如,这需要正确使用double-slashesforward-slashesraw-strings,但既然你提到这不是你的情况,我相信根本原因这个错误是由

    import torch
    

    已知 PyTorch 会在特定的 PythonPyTorch 版本(特别适用于 PyTorch 1.5.0 on Python 3.7)上破坏 DLL 加载。运行 import torch 后,任何进一步的 DLL 加载都将失败。因此,如果您使用 PyTorch 并加载自己的 DLL,则必须重新排列代码以先导入所有 DLL,然后再导入 import torch

    【讨论】:

    • 那么如果我在这种情况下降级我的torch,它会解决吗?或者我应该使用VM with Ubuntu,因为如果我没记错的话gym实际上不支持Windows
    • 是的,你可以试试。不应该那么难-只需使用 pip install
    • 我能再问你一个关于 A3C 的问题吗?
    • 当然。如果它是一个广泛的问题,然后编辑并添加到您的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-24
    • 2021-11-23
    • 2020-08-19
    • 1970-01-01
    • 1970-01-01
    • 2018-08-14
    相关资源
    最近更新 更多