- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在一夜之间训练了一个 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 倍。预测很好,我看过小批量,我可以使用它们。问题是我需要很多 100,000 个。每次预测 10 毫秒就可以,1 秒就不行。
谁能提出加快 Keras 预测速度的方法?
最佳答案
我认为这是因为 Keras 的默认预测行为是批量大小为 32。因此,特别是如果您使用 GPU,小批量会破坏性能。如果您只是将批量大小更改为 predict(X_test, batch_size=128),您将获得明显更快的性能。
关于python - 训练有素的keras模型做出预测比训练慢得多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41334173/
我创建了一个库项目,然后构建它,获取 .aar 并解压缩它。获取包含库的 classes.jar 文件,并将其添加到另一个项目中。该项目识别我的文件,我可以从中调用方法和函数。我的问题是我尝试从我的库
这不是现实世界的问题,我只是想了解如何创建 promise 。 我需要了解如何为不返回任何内容的函数做出 promise ,例如 setTimeout。 假设我有: function async(ca
我是 Promise 的新手。我写了两个例子: 第一个是: new RSVP.Promise(function (resolve, reject) { setTimeout(function
我有一个 nodejs (express) 作为服务器端,一个 angular 6 作为客户端。在服务器中我有中间件功能,可以进行 session 检查。如果 session 无效或不存在,我想向客户
我有一个 nodejs (express) 作为服务器端,一个 angular 6 作为客户端。在服务器中我有中间件功能,可以进行 session 检查。如果 session 无效或不存在,我想向客户
我有四个 I/O 操作:A、B、C 和 D。它们中的每一个都应该使用 vertx.executeBlocking 来执行。我应该有以下行为: //PSEUDOCODE waitForExecuteBl
我是一名优秀的程序员,十分优秀!