远程推理
有时候我们机器人/机械臂自带的算力单元性能较低, 无法支持大参数量模型的部署推理需求, 这时候就需要我们使用远程服务器来进行模型部署了.
本项目基于my_robot的机器人封装的, 实现了服务器与本地的数据传输与机械臂控制, 你也可以根据自己想传输的数据进行额外的拓展.
BiSocket
BiSocket是一个简单的socket通讯封装, 直接提供了基于pickle的数据序列化传输.
如果需要有数据回传需求, 需要在初始化时设置send_back=True
. 需要注意的是, BiSocket需要你在初始化时直接绑定对应处理获取到数据的函数, 当然你也可以先置为None, 后续在赋值, 但这样并不推荐.
服务器
服务器比较简单, 只需要你实现了对应模型的必要类模型推理, 就可以使用了, 你需要在服务器初始化后使用set_up()
函数为其绑定对应已经完成初始化的BiSocket与模型.
本地端
本地端主要需要实现的就是两个函数input_transform
和output_transform
, 用来分别将处理转化为模型用于推理的结构, 和将模型返回的状态返回为执行运动的结构.