多模型机器学习功能数据库EuclidesDB全新发布
2018年11月21日 由 浅浅 发表
78860
0
EuclidesDB,一个多模型机器学习功能数据库,发布了0.1版本。EuclidesDB 0.1与PyTorch紧密耦合,为模型特征空间中包含和查询数据提供后端。
EuclidesDB提供了一个简单的独立服务器,它使用一个简单的API,使用高效的序列化和协议来存储,构建索引和提供请求。它提供了API,用于将新数据包含到数据库中并在以后可供查询。由于它使用gRPC(gRPC远程过程调用)进行通信,因此可以使用多种语言来使用API。
如前所述,它与PyTorch紧密集成,其中libtorch用作运行跟踪模型的后端。因此它提供了一个非常简单的管道,可以将新模型集成到Euclides DB C ++后端。
EuclidesDB基于两个主要概念:
- Module/Model是可互换使用的术语,用于表示每个计算。
- Model Space表示由模型生成的特征空间。
当用户将新图像或其他类型的数据添加到数据库中时,他们需要指定应该使用哪个模型来索引此数据。然后将此数据转发到指定的模型中,并将其功能保存到本地键值数据库中。
类似地,当用户在模型空间上查询类似项时,他们需要使用新图像发出请求并指定他们想要在哪些模型空间中查找类似项。然后返回每个模型空间的类似项目及其相关项。
EuclidesDB v0.1的特点:
- 使用gRPC作为协议通信,使用protobuf作为与客户端API通信的序列化机制。
- 使用LevelDB进行数据库序列化。
- 使用LSH(局部敏感哈希算法)实现近邻。
- 通过libtorch实现PyTorch集成。
- 为新的自定义调优模型提供简单的集成。
EuclidesDB目前还处于初始版本,未来版本将引入许多新功能。在强大的API设计稳定之前,客户端API也有望在即将发布的版本中进行更改。
获取:github.com/perone/euclidesdb/