lazylinker_c 导入错误 Theano

Chu*_*lar 2 python ubuntu amazon-ec2 theano tensorflow

我收到一个烦人的错误。

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

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

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

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

回溯(最近通话最后一个):文件“”,1号线,在文件“/home/ubuntu/my_project/venv/lib/python3.6/site-packages/theano/初始化的.py”,线路110,从theano .compile进口(文件“/home/ubuntu/my_project/venv/lib/python3.6/site-packages/theano/compile/ INIT致命错误:Python.h:没有这样的文件或目录。编译终止..

我使用的是来自 AWS 的 P2 实例,我在其中安装了 Ubuntu 16.04。

我只是想import theano在 python3.6.4 上

我已经多次重新安装 theano,还安装了许多其他东西,但它不起作用。

我有一个虚拟环境,我正在使用 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
Run Code Online (Sandbox Code Playgroud)

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

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

编辑

我的问题解决了我的项目,因为我只需要Tensorflow并以某种方式进口有人nptheano,而不是从numpy。但是,这仍然是一个奇怪的问题,我想知道如何解决它。会不会是 numpy 的版本问题?

75来自lazylinker_c.py只是比较两个版本。我不知道。

小智 8

当我尝试从 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
Run Code Online (Sandbox Code Playgroud)

为我解决了这个问题。