繁体   English   中英

受过训练的keras模型比预测训练要慢得多

[英]Trained keras model much slower making its predictions than in training

我一夜之间训练了一个keras模型,准确度达到75%,我现在很高兴。 它有60,000个样本,每个样本的序列长度为700,词汇量为30.每个epoch在我的gpu上大约需要10分钟。 因此,这是60,000 / 600秒,大约每秒100个样本,并且必须包括反向传播。 所以我保存了我的hdf5文件并再次加载。

<code>#Model:
model = Sequential() 
model.add(LSTM(128, input_shape=(X.shape[1], X.shap[2]), return_sequences=True)) model.add(Dropout(0.25)) model.add(LSTM(64)) model.add(Dropout(0.25)) model.add(Dense(y.shape[1], activation='softmax'))
</code>

然后当我做出我的预测时,每次预测花费的时间比1秒多,比训练慢100倍。 预测很好,我看了小批量,我可以使用它们。 问题是我需要10万多个。 每次预测10ms秒可以工作,1秒不会。

谁能提出加速Keras预测的方法?

我认为这是因为Keras的默认预测行为是批量大小32.特别是如果您使用GPU,小批量大小会破坏性能。 如果您只是将批量大小更改为预测(X_test,batch_size = 128),您将获得明显更快的性能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM