Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.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 Jupyter笔记本内核在导入Tensorflow时死亡_Python_Docker_Tensorflow_Jupyter Notebook - Fatal编程技术网

Python Jupyter笔记本内核在导入Tensorflow时死亡

Python Jupyter笔记本内核在导入Tensorflow时死亡,python,docker,tensorflow,jupyter-notebook,Python,Docker,Tensorflow,Jupyter Notebook,我试图在jupyter笔记本上使用Tensorflow gpu,该笔记本位于一个docker中,该docker包含运行在我的Ubuntu18.04 Bionic Beaver服务器上的数据 我已完成以下步骤: 1) 已安装的Nvidia驱动程序390.67sudo apt get安装Nvidia-driver-390 2) 已安装CUDA驱动程序9.0CUDA_9.0.176_384.81_linux。运行 3) 已安装的CuDNN 7.0.5CuDNN-9.0-linux-x64-v7.tgz

我试图在jupyter笔记本上使用Tensorflow gpu,该笔记本位于一个docker中,该docker包含运行在我的Ubuntu18.04 Bionic Beaver服务器上的数据

我已完成以下步骤:
1) 已安装的Nvidia驱动程序390.67
sudo apt get安装Nvidia-driver-390

2) 已安装CUDA驱动程序9.0
CUDA_9.0.176_384.81_linux。运行

3) 已安装的CuDNN 7.0.5
CuDNN-9.0-linux-x64-v7.tgz

4) 已安装Docker
sudo apt安装Docker ce

5) 已安装nvidia-docker2
sudo apt安装nvidia-docker2

我试图做到以下几点
nvidia docker run-it-p 8888:8888 tensorflow/tensorflow:1.5.1-gpu-py3

我之所以使用Tensorflow 1.5.1,是因为我在1.8.0-gpu-py上遇到了同样的内核死错误,我认为这不是真正的问题,因为我尝试简单地导入它,我使用的是Tensorflow gpu

当我第一次运行任何导入tensorflow的单元格时

我的服务器硬件如下

CPU: AMD Phenom(tm) II X4 965 Processor
GPU: GeForce GTX 760
Motherboard: ASRock 960GM/U3S3 FX
Memory: G Skill F3-1600C9D-8GAB (8 GB Memory)
当我使用
import tensorflow as tf
简单地导入tensorflow时,如何确定内核为什么会消亡

以下是nvidia docker smi的结果

$ docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
Fri Jun 22 17:53:20 2018       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.67                 Driver Version: 390.67                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 760     Off  | 00000000:01:00.0 N/A |                  N/A |
|  0%   34C    P0    N/A /  N/A |      0MiB /  1999MiB |     N/A      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0                    Not Supported                                       |
+-----------------------------------------------------------------------------+
如果我在docker外部使用
nvidia smi
,这完全匹配

以下是nvcc——版本结果:

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176

如果我尝试执行
nvidia docker run-it-p 8888:8888 tensorflow/tensorflow:1.5.1-gpu-py3 bash
以显示bash提示符,然后在执行
导入tensorflow作为tf
时通过
python
进入python会话,我会得到
非法指令(内核转储)
因此它也不能在非jupyter环境中工作。即使我先导入numpy,然后再将tensorflow导入为tf,这个错误仍然会发生。事实证明我需要降级到tensorflow 1.5.0。1.5.1是添加AVX的地方。AVX指令显然用于模块加载来设置库