TensorFlow GPU和CPU卸载了运维隔离

时间:2019-06-30 05:25:50

标签: tensorflow gpu cpu-usage cpu-cores vram

假设计算中使用了TensorFlow GPU库,哪些操作将转移到GPU(以及转移频率)?

对性能有何影响?

  1. CPU核心数量(因为它现在未积极参与计算)
  2. RAM大小。
  3. GPU VRAM(拥有更高内存的GPU的好处)

说我想决定这些硬件选择的具体情况。有人可以举例说明,机器学习模型的哪个方面会影响特定的硬件约束?

(例如,基于TensorFlow GPU库,我需要详细说明将哪些确切的操作转移到GPU和CPU。)

1 个答案:

答案 0 :(得分:1)

使用张量流在CPU和GPU之间有效分散工作的一种方法是使用估计器。

例如:

 model = tf.estimator.Estimator(model_fn=model_fn,
                              params=params,
                              model_dir="./models/model-v0-0")


 model.train(lambda:input_fn(train_data_path), steps=1000)

在函数“ input_fn”中,当GPU在函数“ model_fn”中声明的模型上工作时,数据批量加载和批处理准备将被卸载到CPU。

如果您担心RAM的限制,那么应该考虑使用tfrecord格式,因为这样可以避免将整个数据集加载到RAM中

请参见tensorflow.org/tutorials/load_data/tf_records