Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 错误9错误文件描述符检测错误2_Python_Conda_Centos7_Detectron - Fatal编程技术网

Python 错误9错误文件描述符检测错误2

Python 错误9错误文件描述符检测错误2,python,conda,centos7,detectron,Python,Conda,Centos7,Detectron,我当时正在谷歌colab中为目标检测开发Detectron2,它工作得很成功,但我不得不转向使用CentOS 7.4和Conda的群集HPC。我已经安装了所有的需求,目前运行脚本时没有出现错误,但是在DefaultTrainer类的函数resume\u或\u load中,它被阻塞在一个有限睡眠循环中。当我停止它时,会出现这种回溯 Traceback (most recent call last): File "new_train.py", line 138, in &

我当时正在谷歌colab中为目标检测开发Detectron2,它工作得很成功,但我不得不转向使用CentOS 7.4和Conda的群集HPC。我已经安装了所有的需求,目前运行脚本时没有出现错误,但是在DefaultTrainer类的函数resume\u或\u load中,它被阻塞在一个有限睡眠循环中。当我停止它时,会出现这种回溯

Traceback (most recent call last):
    File "new_train.py", line 138, in <module>
        trainer.resume_or_load(resume=False)
    File "/hpcfs/home/mj.patino/.local/lib/python3.7/site-packages/detectron2/engine/defaults.py", 
    line 353, in resume_or_load
       checkpoint = self.checkpointer.resume_or_load(self.cfg.MODEL.WEIGHTS, resume=resume)
    File "/hpcfs/home/mj.patino/.local/lib/python3.7/site-packages/fvcore/common/checkpoint.py", line 
    215, in resume_or_load
       return self.load(path, checkpointables=[])
    File "/hpcfs/home/mj.patino/.local/lib/python3.7/site-packages/fvcore/common/checkpoint.py", line 
    140, in load
       path = self.path_manager.get_local_path(path)
    File "/hpcfs/home/mj.patino/.local/lib/python3.7/site-packages/iopath/common/file_io.py", line 
    1109, in get_local_path
        path, force=force, **kwargs
    File "/hpcfs/home/mj.patino/.local/lib/python3.7/site-packages/iopath/common/file_io.py", line 
    764, in _get_local_path
        with file_lock(cached):
    File "/hpcfs/home/mj.patino/.conda/envs/tesisEnv/lib/python3.7/site- 
    packages/portalocker/utils.py", line 160, in __enter__
        return self.acquire()
    File "/hpcfs/home/mj.patino/.conda/envs/tesisEnv/lib/python3.7/site-packages/portalocker/utils.py", line 239, in acquire
        for _ in self._timeout_generator(timeout, check_interval):
    File "/hpcfs/home/mj.patino/.conda/envs/tesisEnv/lib/python3.7/site- 
    packages/portalocker/utils.py", line 152, in _timeout_generator
        time.sleep(max(0.001, (i * check_interval) - since_start_time))
    KeyboardInterrupt
当脚本尝试从model_zoo下载预先训练的文件并在本地驱动器的文件中使用fcntl.flock()函数时,会发生此错误。此函数接收io.Textiowrapper对象,并正确描述本地驱动器中的现有文件,并锁定非阻塞和独占标志。我已经检查了文件权限,我有读写权限

我已经搜索过了,但是我没有找到它发生的原因,有人知道我如何修复这个错误吗

多谢各位


PD:另外,我通过安装Python3.7.9、3.7.10和3.9.4进行了尝试,出现了相同的错误

后端文件系统是什么?(
hpcfs
听起来可能有点…非典型)。您可以对同一文件系统上的文件使用
flock
shell命令吗?(另外,确保在抛出错误时文件实际上仍处于打开状态,这意味着从Python进程的角度来看,
/proc/self/fd/9
是存在的——例如,您可以从
pdb
中进行检查;存储fd编号并在文件本身关闭后尝试使用它是最简单和最明显的获取错误消息的方法,并且不要求主机或文件系统有任何奇怪或不同)…如果我们忽略操作系统错误,挂起试图聚集文件通常意味着其他文件已经锁定了该文件。弄清楚“其他东西”是什么is--这就是操作系统级工具(如
fuser
)的用途。当我对文件系统中的文件尝试命令
flock-w 20 filename
时,我得到一个错误
flock:bad number
。此文件为空
OSError [errno 9]: Bad file descriptor