前向传播慢训练时间范数

2024-06-01 10:52:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我很难弄清楚为什么在执行前向传播时,我的代码非常慢。有问题的代码可以在这里找到:https://github.com/rekkit/lazy_programmer_ml_course/blob/develop/05_unsupervised_deep_learning/poetry_generator_rnn.py

我将我的代码的性能与此进行比较:https://github.com/lazyprogrammer/machine_learning_examples/blob/master/rnn_class/srn_language_tf.py

不同的是我跑步的时候

self.session.run(self.predict(x_batch), feed_dict={...})

或者当我跑的时候

self.returnPrediction(x_batch)

运行大约需要0.14秒。现在这听起来可能不像一场灾难,但这是每句话0.14秒(我正在做一个RNN来预测一个句子中的下一个单词)。因为有1436个句子,我们看的是每个时代3分20秒。如果我想训练10个时代,那就是半小时。比其他代码需要的更多

有人知道问题出在哪里吗?我能看到的唯一区别是我已经模块化了代码

提前谢谢你的帮助


Tags: 代码pyhttpsselfgithubcombatchblob
1条回答
网友
1楼 · 发布于 2024-06-01 10:52:06

我已经弄明白了。每次调用predict方法时,我都在重建图形。相反,在fit方法中,我定义了一个变量:

preds = self.predict(self.tfX)

每次我需要预测的时候,不用:

predictions = self.session.run(self.predict(x_batch), feed_dict={...})

我使用:

predictions = self.session.run(self.preds, feed_dict={...})

相关问题 更多 >