我训练了TF_SessionRun(sess,
nullptr, // Run options.
&input_op, &input_tensor, 1, // Input tensors, input tensor values, number of inputs.
&out_op, &output_tensor, 1, // Output tensors, output tensor values, number of outputs.
nullptr, 0, // Target operations, number of targets.
nullptr, // Run metadata.
status // Output status.
);
,然后将模型加载到C项目中以预测数据。我发现GPU的运行速度比CPU慢。
这是我的配置:
我预测了大约200个数据项,每个数据项都调用该函数:
-ffast-math
每次GPU都比CPU慢。
我的方法不对吗?
是否有提高速度的方法?
我可以批量输入数据进行预测吗?
这是c_api.h enter link description here
答案 0 :(得分:0)
将数据传输到GPU内存有一定的开销,即使在Python中,对于极小的数据集,有时也会看到这种趋势,因为在大多数情况下,CPU未被使用而是等待,因此CPU有时表现优于GPU。下一批数据将进入,数据集大小为200,这似乎是最合理的原因。
要使其速度更快,Python api可以在批处理模式下将数据预加载到gpu中,这在某种程度上可以抵消此问题,请在c api中检查类似的选项