【问题标题】:TensorFlow GPU and CPU offloaded ops segregationTensorFlow GPU 和 CPU 卸载操作隔离
【发布时间】:2019-11-11 08:08:34
【问题描述】:

假设在计算中使用 TensorFlow GPU 库,哪些操作被卸载到 GPU(以及多久一次)?对性能有何影响:

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

假设我想决定这些硬件选择的具体内容。有人可以举个例子解释一下,机器学习模型的哪个方面会影响特定的硬件约束?

(例如,基于 TensorFlow GPU 库,我需要详细说明哪些操作被卸载到 GPU 和 CPU。)

【问题讨论】:

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


    【解决方案1】:

    使用 tensorflow 在 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”中,数据批量加载和批量准备将被卸载到 CPU,而 GPU 正在处理函数“model_fn”中声明的模型。

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

    tensorflow.org/tutorials/load_data/tf_records

    【讨论】:

      猜你喜欢
      • 2017-03-30
      • 1970-01-01
      • 2017-04-12
      • 2018-04-13
      • 1970-01-01
      • 1970-01-01
      • 2017-08-11
      • 2016-12-09
      • 1970-01-01
      相关资源
      最近更新 更多