我想在同一个GPU上运行两个tensorflow会话 . 这段代码第一次执行OK,但是当我再次执行时它失败了 .

Code:

import tensorflow as tf
from keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.4
set_session(tf.Session(config=config))

First time execution:

2018-06-06 10:26:18.588778:I tensorflow / stream_executor / cuda / cuda_gpu_executor.cc:898]成功从SysFS读取的NUMA节点具有负值(-1),但必须至少有一个NUMA节点,所以返回NUMA节点零2018-06-06 10:26:18.589191:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1356]找到具有属性的设备0:名称:Tesla K80 major:3 minor:7 memoryClockRate(GHz) :0.8235 pciBusID:0000:00:04.0 totalMemory:11.17GiB freeMemory:11.09GiB 2018-06-06 10:26:18.589232:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1435]添加可见的gpu设备:0 2018 -06-06 10:26:18.875722:I tensorflow / core / common_runtime / gpu / gpu_device.cc:923]具有强度1边缘矩阵的设备互连StreamExecutor:2018-06-06 10:26:18.875770:I tensorflow / core / common_runtime / gpu / gpu_device.cc:929] 0 2018-06-06 10:26:18.875779:I tensorflow / core / common_runtime / gpu / gpu_device.cc:942] 0:N 2018-06-06 10:26:18.876097 :我是tensorflow / core / common_runtime /gpu/gpu_device.cc:1053]创建TensorFlow设备(/ job:localhost / replica:0 /任务:0 /设备:GPU:0,内存为5720 MB) - >物理GPU(设备:0,名称:Tesla K80,pci总线ID:0000:00:04.0,计算能力:3.7)

Second Time execution (in another terminal):

2018-06-06 10:27:14.519776:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1387]忽略其执行程序处于无效状态的可见gpu设备0:内部:为CUDA设备序号0初始化StreamExecutor失败:内部:调用cuDevicePrimaryCtxRetain失败:CUDA_ERROR_INVALID_DEVICE 2018-06-06 10:27:14.519992:F ./tensorflow/stream_executor/lib/statusor.h:212]非OK状态:status_ status:内部:初始化CUDA的StreamExecutor失败device ordinal 0:内部:调用cuDevicePrimaryCtxRetain失败:CUDA_ERROR_INVALID_DEVICE中止(核心转储)

Tensorflow versions:

tensorflow==1.8.0  
tensorflow-gpu==1.8.0  
tensorflow-tensorboard==1.5.1

Nvidia:
NVIDIA驱动程序版本:396.26
Cuda版本:9.0版,V9.0.176版
libcun_version:libcudnn7_7.1.3.16-1 cuda9.0_amd64.deb

Question
是否可以在同一GPU中运行多个会话? (怎么样?)