为什么 tf.keras 对我来说比 Keras 慢得多? 24 it/s 到 2274 it/s

问题描述

我发现在我的代码库中,Keras 比 tf.keras 快得多。在我看来,tf.keras 慢得令人无法接受。 我创建了一个类似的神经网络,一次使用 tf.keras,第二次使用 Kears。 然后在 OpenAI Gym Mountain-Car-v0 环境中运行一个只有 predict 函数的简化循环。

所以我的问题是,如果我在使用框架时犯了一个巨大的错误,或者它背后的底层代码基础有什么不同吗?

结果:

Tf.Keras:10000/10000 [06:53

Keras:10000/10000 [00:04

代码库:

Keras 版本:2.3.1

import keras
from keras.models import Sequential
from keras.layers import Dense,Activation
from keras.optimizers import Adam

model = Sequential()
model.add(Dense(24,input_dim=env.observation_space.shape[0],activation="relu"))
model.add(Dense(24,activation="relu"))
model.add(Dense(env.action_space.n,activation='linear'))

model.compile(loss='mse',optimizer=Adam(lr=0.001))
print("Keras version: ",keras.__version__)

tf.keras 版本:2.2.4-tf

from tensorflow import keras
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense,Activation
from tensorflow.keras.optimizers import Adam

model = keras.Sequential([
  Dense(24,activation = 'relu'),Dense(24,Dense(env.action_space.n,activation='linear')
])

model.compile(loss='mse',optimizer=Adam(lr=0.001))
print("tf.keras version: ",keras.__version__)

测试循环:

from tqdm import tqdm
for a in tqdm(range(10000)):
    state = env.reset()
    model.predict(state.reshape(-1,env.observation_space.shape[0]))

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)