问题描述
我发现在我的代码库中,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 (将#修改为@)