Jelech

RL训练知识点补齐

Gym 强化学习训练 在我们学习强化学习(Reinforcement Learning,简称 RL)时,如何让智能体和环境高效且可重复地交互一直是一个核心问题。OpenAI 提供的 Gym 库就是为了解决这个问题而生。它以简洁明了的 API 和丰富多样的测试场景,为我们搭建了一个标准化的平台。很多技术博客和相关资料都指出,Gym 的统一接口极大地方便了我们在切换环境、测试算法时,不必反复编...

游戏服务器中消息是如何传递的

消息协议与传输【msg_id篇】 消息流程图解 消息定义与数据类型 消息定义 消息定义+消息结构定义,能让底层传输的数据仅仅只有数据,而没有数据类型、名字、分类。两边通过消息id来区分该消息的结构,一边压缩,一边解析。极大的减少了传输的数据量。 const常量表 定义一些在之后的消息定义中会使用到的常量。比如GS的最大数量、密码的长度、角色名的...

依赖注入

说在前面 写了很多的小项目和大项目,其中和其他部门同事合作开发的时候偶然接触了依赖注入,我是Golang出身的后端开发,对Java那套面向对象开发并不熟悉。一直不理解为什么会需要进行组件的依赖注入,自动生成代码。今天一起来研究一下这到底是个什么东西。 概述 依赖注入(Dependency Injection,简称 DI)是一种软件设计模式,旨在减少代码之间的耦合,提高可测试性和可维护性...

Ray-Core 初见

什么是Ray 首先基因很重要,所以我们先需要探查下Ray最初是为了解决什么问题而产生的。Ray的论文显示,它最早是为了解决增强学习的挑战而设计的。增强学习的难点在于它是一个需要边学习,边做实时做预测的应用场景,这意味会有不同类型的tasks同时运行,并且他们之间存在复杂的依赖关系,tasks会在运行时动态产生产生新的tasks,现有的一些计算模型肯定是没办法解决的。如果Ray只是为了解决R...