我正在尝试在P100 GPU上运行tf_cnn_benchmarks。我正在使用TF-1.60。
我收到以下消息:
2018-03-23 11:02:22.043275:E tensorflow / core / common_runtime / executor.cc:645] Executor无法创建内核。参数无效:默认MaxPoolingOp仅支持设备类型CPU上的NHWC [[节点:v / tower_0 / cg / mpool0 / MaxPool = MaxPoolT = DT_FLOAT,data_format =“NCHW”,ksize = [1,1,3,3],padding =“SAME”,strides = [1,1,2] ,2],_ device =“/ job:localhost / replica:0 / task:0 / device:CPU:0”]] I0323 11:02:22.115472 47942823427200 tf_logging.py:116]向协调器报告错误:,默认MaxPoolingOp仅支持设备类型CPU上的NHWC [[节点:v / tower_0 / cg / mpool0 / MaxPool = MaxPoolT = DT_FLOAT,data_format =“NCHW”,ksize = [1,1,3,3],padding =“SAME”,strides = [1,1,2] ,2],_ device =“/ job:localhost / replica:0 / task:0 / device:CPU:0”]]
我很困惑。为什么要求CPU的东西。我使用以下命令:
srun python tf_cnn_benchmarks.py --num_gpus = 1 --batch_size = 32 --model = resnet50 --variable_update = parameter_server
由于
答案 0 :(得分:0)
问题是图像数据的格式。您已将data_format
的{{1}}参数设置为tf.nn.max_pool
,这是默认值。但P100 GPU不支持此功能。我尝试将参数设置为NHWC
或NCHW
。
在格式说明中,N代表批号,H代表高度,W代表宽度,C代表通道。因此,如果将参数设置为NCHW_VECT_C
,则必须切换输入图像张量的分量。