Python Jupyter笔记本内核在导入Tensorflow时死亡
我试图在jupyter笔记本上使用Tensorflow gpu,该笔记本位于一个docker中,该docker包含运行在我的Ubuntu18.04 Bionic Beaver服务器上的数据 我已完成以下步骤: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
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.5CuDNN-9.0-linux-x64-v7.tgz
4) 已安装Dockersudo apt安装Docker ce
5) 已安装nvidia-docker2sudo 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指令显然用于模块加载来设置库