我试着用多个GPUS训练我的模型。所以我运行cifar10_multi_gpu.py (train.py)。
1.我的位置:
操作系统平台: Linux版本3.10.0-327.el7.x86_64
安装: pip安装-升级./tensorflow_gpu-1.0.0rc0-cp35-cp35m-linux_x86_64.whl
Python版本:Python3.5.2
CUDA/cuDNN版本: cuda_8.0.61_375.26_linux.run /cudnn-8.0-Linux64-v5.1.tgz
2. GPU设置是正确的
将tensorflow作为tf导入 使用tf.device('/cpu:0'): A= tf.constant(1.0,2.0,3.0,shape=3,name='a') b= tf.constant(1.0,2.0,3.0,shape=3,name='b')和tf.device('/gpu:1'): C=a+b 塞斯= tf.Session(config=tf.ConfigProto(log_device_placement=True)) sess.run(c) 添加:(添加):/作业:本地主机/副本:0/任务:0/gpu:1 i tensorflow/core/common_runtime/simple_placer.cc:841]添加:(添加)/作业:localhost/副本:0/任务:0/gpu:1b:(Const):/作业:localhost/复制品:0/任务:0/cpu:0 tensorflow/core/common_runtime/simple_placer.cc:841] b:(Const)/作业:localhost/副本:0/任务:0/cpu:0 a:(Const):/作业:localhost/tensorflow/core/common_runtime/simple_placer.cc:841]:0/task:0/cpu:0 tensorflow/core/common_runtime/simple_placer.cc:841] a:(Const)/作业:localhost/tensorflow/core/common_runtime/simple_placer.cc:841]:0/任务:0/cpu:0 数组( 2.,4.,6.,dtype=float32)
3. InvalidArgumentError: python cifar10_multi_gpu.py
我tensorflow/core/common_runtime/simple_placer.cc:669]忽略了节点‘to _0/fifo_queue_Dequeue’的设备规范/GPU:0,因为来自'prefetch_queue/fifo_queue‘的输入边是一个引用连接,并且已经有一个设备字段设置为/CPU:0回溯(最近一次调用):在_do_call返回fn(*args)中,文件"/home/xx/anaconda3/lib/python3.5/site-packages/tensorflow/python/client/session.py",行1022 文件"/home/xx/anaconda3/lib/python3.5/site-packages/tensorflow/python/client/session.py",第1000行,在_run_fn self._extend_graph()中 文件"/home/xx/anaconda3/lib/python3.5/site-packages/tensorflow/python/client/session.py",第1049行,在_extend_graph self._session,graph_def.SerializeToString(),status中 文件"/home/xx/anaconda3/lib/python3.5/contextlib.py",第66行,在exit next(self.gen)中 文件"/home/xx/anaconda3/lib/python3.5/site-packages/tensorflow/python/framework/errors_impl.py",第469行,在raise_exception_on_not_ok_status pywrap_tensorflow.TF_GetCode(状态)中) tensorflow.python.framework.errors_impl.InvalidArgumentError:无法将设备分配给节点‘tower_0/softmax_linear_linear_1’:无法满足显式设备规范/设备: GPU :0‘,因为没有支持的GPU设备内核。 [节点:塔塔_0/软极_线性/重量_损耗_1=ScalarSummarydevice="/device:GPU:0"] 在处理上述异常的过程中,发生了另一个异常: 回溯(最近一次调用):文件"cifar10_multi_gpu_train.py",第280行,tf.app.run() tf.app.run()文件第44行,运行_sys.exit(main(_sys.argv:1 + flags_passthrough)) 文件"cifar10_multi_gpu_train.py",第276行,在主列车() 文件"cifar10_multi_gpu_train.py",第237行,in sess.run(init) 文件"/home/xx/anaconda3/lib/python3.5/site-packages/tensorflow/python/client/session.py",第767行,在运行run_metadata_ptr中) 文件"/home/xx/anaconda3/lib/python3.5/site-packages/tensorflow/python/client/session.py",第965行,在_run feed_dict_string,options,run_metadata中) 文件"/home/xx/anaconda3/lib/python3.5/site-packages/tensorflow/python/client/session.py",第1015行,在_do_run target_list,options,run_metadata中) 文件"/home/xx/anaconda3/lib/python3.5/site-packages/tensorflow/python/client/session.py",行1035,在_do_call提升类型(E)中(node_def,op,message) tensorflow.python.framework.errors_impl.InvalidArgumentError:无法将设备分配给节点‘tower_0/softmax_linear_linear_1’:无法满足显式设备规范/设备: GPU :0‘,因为没有支持的GPU设备内核。 [节点:塔塔_0/软极_线性/重量_损耗_1=ScalarSummarydevice="/device:GPU:0"]
我尝试了许多解决方案,但都失败了。谢谢你事先给我的建议。
发布于 2017-08-14 17:27:03
抱歉你碰到问题了!我与该脚本的原始作者之一进行了核对,他的回答如下:
看上去设备的放置不太好。
https://stackoverflow.com/questions/45648322
复制相似问题