我计划将我的q表保存到文本文件(作为字符串)以供将来使用,但是我想知道这样做的陷阱是什么?另外,任何关于存储q表的更好方法的建议都将受到赞赏–例如,将其存储为JSON会更好吗?
在机器学习中,保存模型和数据的常见解决方案是使用HDF5格式。您可以尝试http://www.h5py.org/,它是一个Python库,可让您以非常简单的方式保存,读取和操作HDF5文件。
我不知道这是否是最适合您的解决方案,或者是否有更具体的解决方案(因为这还取决于例如Q表的大小),但是这种格式/库允许您将数据保存为层次结构方式,以及其他优势。
例如,如果您有多个受过训练的座席,则可以将它们另存为字典,例如d = {"agent1": q_table1, "agent2": q_table2 }
。另外,您不仅可以这种分层方式保存它们,还可以阅读它们,然后像对待字典一样使用它们的内容。当然,这仅是一个示例,可让您大致了解如何使用此库。
因此,如果您打算拥有多个代理并且Q表可能很大,那么HDF5可能是一个很好的解决方案,但是同时,您希望能够轻松,灵活地检查和更改Q表。] >
有关此格式与其他常见替代方法(例如数据库,简单的文本文件等)相比的优点的更多详细信息,请参见例如问题Is there an analysis speed or memory usage advantage to using HDF5 for large array storage (instead of flat binary files)?和What are the advantages of HDF compared to alternative formats?。
您可以使用PyTables,您应该查看以下答案: