【问题标题】:lazylinker_c import Error Theanolazylinker_c 导入错误 Theano
【发布时间】:2018-08-15 22:38:42
【问题描述】:

我遇到了一个恼人的错误。

您可以在这个临时文件中找到 C 代码: /tmp/theano_compilation_error_ppkcgkmi Traceback(最近一次调用 最后):文件 “/home/ubuntu/my_project/venv/lib/python3.6/site-packages/theano/gof/lazylinker_c.py”, 第 75 行,在 引发 ImportError() ImportError

在处理上述异常的过程中,又发生了一个异常:

Traceback(最近一次调用最后一次):文件 “/home/ubuntu/my_project/venv/lib/python3.6/site-packages/theano/gof/lazylinker_c.py”, 第 92 行,在 引发 ImportError() ImportError

在处理上述异常的过程中,又发生了一个异常:

Traceback(最近一次调用最后一次):文件“”,第 1 行,in 文件 "/home/ubuntu/my_project/venv/lib/python3.6/site-packages/theano/init.py", 第 110 行,在 从 theano.compile 导入(文件“/home/ubuntu/my_project/venv/lib/python3.6/site-packages/theano/compile/init.py”, 第 12 行,在 从 theano.compile.mode 导入 * 文件“/home/ubuntu/my_project/venv/lib/python3.6/site-packages/theano/compile/mode.py”,第 11 行,在 导入 theano.gof.vm 文件“/home/ubuntu/my_project/venv/lib/python3.6/site-packages/theano/gof/vm.py”, 第 673 行,在 从 。导入lazylinker_c文件“/home/ubuntu/my_project/venv/lib/python3.6/site-packages/theano/gof/lazylinker_c.py”, 第 127 行,在 preargs=args)文件“/home/ubuntu/my_project/venv/lib/python3.6/site-packages/theano/gof/cmodule.py”, 第 2359 行,在 compile_str 中 (status, compile_stderr.replace('\n', '.'))) 异常:编译失败(返回状态=1): /home/ubuntu/.theano/compiledir_Linux-4.4--aws-x86_64-with-Ubuntu-16.04-xenial-x86_64-3.6.4-64/lazylinker_ext/mod.cpp:1:20:致命错误:Python.h:无此文件或目录。汇编 终止..

我正在使用安装了 Ubuntu 16.04 的 AWS 的 P2 实例。

我只是想在 python3.6.4 上import theano

我已多次重新安装 theano,还安装了 MANY 其他东西,但它无法正常工作。

我有一个虚拟环境,我正在使用 GPU。

我假设我的 GPU-CUDA-CuNN 安装良好

>>> sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
2018-03-07 17:56:48.738855: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2018-03-07 17:56:51.390598: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:898] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2018-03-07 17:56:51.390927: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1212] Found device 0 with properties:
name: Tesla K80 major: 3 minor: 7 memoryClockRate(GHz): 0.8235
pciBusID: 0000:00:1e.0
totalMemory: 11.17GiB freeMemory: 11.10GiB
2018-03-07 17:56:51.390955: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1312] Adding visible gpu devices: 0
2018-03-07 17:56:51.656494: I tensorflow/core/common_runtime/gpu/gpu_device.cc:993] Creating TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 10764 MB memory) -> physical GPU (device: 0, name: Tesla K80, pci bus id: 0000:00:1e.0, compute capability: 3.7)
Device mapping:
/job:localhost/replica:0/task:0/device:GPU:0 -> device: 0, name: Tesla K80, pci bus id: 0000:00:1e.0, compute capability: 3.7
2018-03-07 17:56:51.787214: I tensorflow/core/common_runtime/direct_session.cc:297] Device mapping:
/job:localhost/replica:0/task:0/device:GPU:0 -> device: 0, name: Tesla K80, pci bus id: 0000:00:1e.0, compute capability: 3.7

在我的本地机器上一切正常,但在 aws 实例上它存储在那里,这是我第一次遇到该错误。

我希望有人已经看到过这种错误。

编辑

我为我的项目解决了这个问题,因为我只需要 Tensorflow 并且不知何故有人从 theano 而不是从 numpy 导入了 np。但是,这仍然是一个奇怪的问题,我想知道如何解决它。会不会是 numpy 的版本问题?

lazylinker_c.py 中的75 行只是比较两个版本。我不知道。

【问题讨论】:

    标签: python ubuntu tensorflow amazon-ec2 theano


    【解决方案1】:

    当我尝试从 Python 3.5 迁移到 Python 3.6 时,我在 Ubuntu 16.04 上遇到了同样的问题。最后我发现 Ubuntu 16.04 标准不包含 Python 3.6 的 C 头文件,因此需要单独安装它们。 Theano 库以某种方式使用 C 进行某些计算。运行此命令:

    sudo apt-get install python3.6-dev
    

    为我解决了问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-14
      • 2015-11-08
      • 1970-01-01
      • 1970-01-01
      • 2020-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多