我使用Tensorflow(CPU版本)作为我的深度学习模型。特别是使用DNNRegressor Estimator进行训练,使用一组给定的参数(网络结构,隐藏层,alpha等)虽然我能够减少损失,但模型花了很长时间学习(大约3天)和时间每100步采取9秒。
我来到这篇文章: - https://medium.com/towards-data-science/how-to-traine-tensorflow-models-79426dabd304 并发现GPU可以更快地学习。所以我从AWS(单核GPU)获得了p2.xlarge gpu 4(vCPU),12(ECU)和61(MiB)。
但学习率相同,每100步9秒。我在CPU上使用与Estimators相同的代码,因为我读到Estimators自己使用GPU。这是我的" nvidia-smi"命令输出。
答案 0 :(得分:1)
听起来你可能正在读取csv并转换为pandas DataFrame,然后使用tensorflow的pandas_input_fn。这是pandas_input_fn实现的已知问题。您可以在https://github.com/tensorflow/tensorflow/issues/13530跟踪问题。
要解决此问题,您可以对i / o使用不同的方法(例如,从TFRecords读取)。如果您想继续使用pandas并增加步数/秒,则可以减少batch_size,但这可能会对您的估算工具的学习能力产生负面影响。