我在一个ubuntu18.04服务器上安装了jupyter实验室。我已经安装了一个显卡,并使用python3.6.9安装了tenserflow 2.3.1 (按照下面的说明:https://www.tensorflow.org/install/gpu)。我必须将以下环境变量添加到/etc/environment中,才能使其工作:
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64但是,木星实验室没有看到我的GPU!当我在jupyter实验室笔记本上运行以下命令时
import tensorflow as tf
tf.config.experimental.list_physical_devices()它返回以下内容:
JUPYTER实验室NOTBOOK的输出
[PhysicalDevice(name='/physical_device:CPU:0', device_type='CPU'),
PhysicalDevice(name='/physical_device:XLA_CPU:0', device_type='XLA_CPU'),
PhysicalDevice(name='/physical_device:XLA_GPU:0', device_type='XLA_GPU')]但是,当我在ipython笔记本(或python3交互式shell或 jupyter实验室的终端)中运行相同的两行时,我得到了以下输出:
IPYTHON 的输出
tensorflow/stream_executor/platform/default/dso_loader.cc:48] 2020-11-28 13:21:21:39.005815:I
成功打开了动态库libcuda.so.1 2020-11-28
13:21:39.083058: i tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:982]从SysFS读取的NUMA节点有负值(-1),但必须至少有一个NUMA节点,所以返回NUMA节点0 2020-11-28
13:21:39.083573: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1716]找到了具有属性的设备0: pciBusID: 0000:01:00.0名称: GeForce RTX 2060 computeCapability: 7.5 coreClock: 1.68 7.5: 30 deviceMemorySize: 5.79GiB deviceMemoryBandwidth: 312.97 7.5/s
2020-11-28 13:21:39.083610: I tensorflow/stream_executor/platform/default/dso_loader.cc:48]成功地打开了动态库libcudart.so.10.1 2020-11-28
13:21:39.142212: I tensorflow/stream_executor/platform/default/dso_loader.cc:48]成功地打开了动态库libcublas.so.10 2020-11-28
13:21:39.172917: I tensorflow/stream_executor/platform/default/dso_loader.cc:48]成功地打开了动态库libcufft.so.10 2020-11-28
13:21:39.180484: I tensorflow/stream_executor/platform/default/dso_loader.cc:48]成功地打开了动态库libcurand.so.10 2020-11-28
13:21:39.244521: I tensorflow/stream_executor/platform/default/dso_loader.cc:48]成功地打开了动态库libcuolver.so.10 2020-11-28
13:21:39.259263: I tensorflow/stream_executor/platform/default/dso_loader.cc:48]成功地打开了动态库libcusparse.so.10 2020-11-28
13:21:39.370126: I tensorflow/stream_executor/platform/default/dso_loader.cc:48]成功地打开了动态库libudnn.so.7 2020-11-28
13:21:39.370414: i tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:982]从SysFS读取的NUMA节点有负值(-1),但必须至少有一个NUMA节点,所以返回NUMA节点0 2020-11-28
13:21:39.371750: i tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:982]从SysFS读取的NUMA节点有负值(-1),但必须至少有一个NUMA节点,所以返回NUMA节点0 2020-11-28
13:21:39.372808: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1858]添加可见gpu设备:0 Out3: PhysicalDevice(名称=‘/物理_设备:CPU:0’,设备类型=‘CPU’),PhysicalDevice(name='/physical_device:XLA_CPU:0',设备_类型=‘XLA_CPU’),PhysicalDevice(name='/physical_device:XLA_GPU:0',设备_类型=‘XLA_GPU’),PhysicalDevice(名称=‘/物理_设备:0’,设备_类型=‘GPU’)
显然,ipython/ipython 3 shell看到了它,但是jupyter实验室没有看到它。
我甚至尝试通过以下方式在jupyter实验室设置LD_LIBRARY_PATH:
import os
os.environ['LD_LIBRARY_PATH'] = '/usr/local/cuda-10.2/lib64'还是没起作用!
我怎样才能让jupyter实验室看到我的GPU,这样我就可以在GPU而不是CPU上训练我的网络了?
编辑1:增加输出的清晰度
发布于 2022-03-03 03:10:50
我在木星笔记本中也有同样的问题,因为我通过conda安装了tensorflow,我需要手动添加路径变量。我也无法在笔记本中添加环境变量,所以我尝试在jupyter的kernel.json中添加变量,它对我起了作用。看起来是这样的:
{
"argv": [
...
],
"env": {
"LD_LIBRARY_PATH":"your_lib_path"
},
...
}https://stackoverflow.com/questions/65050128
复制相似问题