我该如何保存训练有素的强化学习代理以避免每次对其进行培训?

时间:2019-12-01 13:01:00

标签: machine-learning model artificial-intelligence reinforcement-learning agent

我尝试使用泡菜来保存染色剂

   try:
      agent1 = pickle.load(open(model_file_path, 'rb'))
    except:
      print("An exception occurred")
      train_agent(True)

    if agent1 == None:
        train_agent(True)

    human = Human()
    human.set_sym(env1.o)

    agent1.set_verbose(True)
    start_session(agent1, human, Environment(), draw=2)

    pickle.dump(agent1, open(model_file_path, 'wb')) 

    return agent1.prediction

但是保存代理的文件变得非常沉重,大约1GB,因此我无法恢复代理

1 个答案:

答案 0 :(得分:1)

HDF5 Format是一种网格格式,非常适合存储数字的多维数组。例如:使用Keras / Tensorflow,您可以非常轻松地保存/加载模型和权重:

# Save the model
model.save('path_to_my_model.h5')

# Recreate the exact same model purely from the file
new_model = keras.models.load_model('path_to_my_model.h5')

# Save weights
model.save_weights('path_to_my_weights.h5')

# Load weights
new_model.load_weights('path_to_my_weights.h5')