1

假设 TensorFlow GPU 库用于计算,哪些操作被卸载到 GPU(以及多久一次)?什么是性能影响:

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

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

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

4

1 回答 1

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

于 2019-06-30T06:10:10.207 回答