簡體   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