假设计算中使用了TensorFlow GPU库,哪些操作将转移到GPU(以及转移频率)?
对性能有何影响?说我想决定这些硬件选择的具体情况。有人可以举例说明,机器学习模型的哪个方面会影响特定的硬件约束?
(例如,基于TensorFlow GPU库,我需要详细说明将哪些确切的操作转移到GPU和CPU。)
答案 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中