Python 阻止/停止导入 torch

Ted*_* Yu 6 python pytorch

我开发了一个基于深度学习的对象检测程序,pytorch它运行得很好。今天我在PC上部署这个程序,一切顺利,但程序无法启动。调试并发现,程序在导入pytorch.

只需启动 python 提示符,输入内容import torch,然后提示符块即可。top命令显示CPU/内存使用率非常低。按ctrl-c无法停止提示。而其他库导入就可以了。我已经尝试过pycrypto,我自己写的那个,所有工作,但pytorch不能。

我已经部署了100多次,但从来没有遇到过这种情况。我也尝试重新安装pytorch,从1.6到1.4,torchvision从0.7到0.5,仍然不行。没有打印错误,没有显示抱怨。

环境:

  • 操作系统:centos 7.4
  • CUDA:10.0
  • NVIDIA 驱动程序:440.82
  • 显卡:GTX 1660
  • 蟒蛇:3.6

pytorch版本:1.6 和 1.4。

欢迎任何信息,提前致谢。


编辑:

按照Szymon的想法,运行python3 foo.py,其中只有import torch其中,然后按ctrl-c,提示打印:

Traceback (most recent call last):
  File "foo.py", line 1, in <module>
    import torch
  File "/usr/local/lib64/python3.6/site-packages/torch/__init__.py", line 48, in <module>
    if platform.system() == 'Windows':
  File "/usr/lib64/python3.6/platform.py", line 1068, in system
    return uname().system
  File "/usr/lib64/python3.6/platform.py", line 1034, in uname
    processor = _syscmd_uname('-p', '')
  File "/usr/lib64/python3.6/platform.py", line 788, in _syscmd_uname
    f = os.popen('uname %s 2> %s' % (option, DEV_NULL))
  File "/usr/lib64/python3.6/os.py", line 980, in popen
    bufsize=buffering)
  File "/usr/lib64/python3.6/subprocess.py", line 729, in __init__
    restore_signals, start_new_session)
  File "/usr/lib64/python3.6/subprocess.py", line 1318, in _execute_child
    part = os.read(errpipe_read, 50000)
Run Code Online (Sandbox Code Playgroud)

看来 python 挂在 running 上uname <option>,所以我uname -a 2> /dev/null在命令行上尝试了,它立即返回,没有什么奇怪的。还创建了一个名为 bar.py 的文件,其内容如下:

import platform
print(platform.system())
Run Code Online (Sandbox Code Playgroud)

并运行它python3,运行良好,打印“Linux”。我认为这不是原因,也许只是巧合?

我也尝试了更多次,其他情况看起来像是import torch在 python 提示符下运行,无法杀死进程并且没有打印任何内容。一旦打印出来Soft lock up on CPU#4,我认为这是由上次断开连接的会话中的测试过程引起的。

小智 -1

就我而言,在包含主 python 文件的目录中,还有一个名为 的文件signal.py,当我将其重命名为signal1.py“一切都开始工作”时。所以尝试在你的目录中找到一些其他的Python文件并尝试重命名它。