一些上下文:
核心产品堆栈是用Java编写的,由工程师专门维护。数据科学家负责提出算法改进/添加。
数据科学家不使用Java编写代码,而是使用Python进行工作。他们与工程团队合作,将想法表达为在核心Java代码库中实现的Python代码。
问题是:
审查新想法依赖于工程团队编写新的Java代码。这减慢了整个技术团队的迭代速度。
什么样的架构可以缓解这个问题?
发布于 2018-07-25 03:59:48
我们在一些ML项目中遇到了类似的设置:产品工程师有一个核心Java栈,它为存储在NoSQL (MongoDB)中的数据提供了一系列RESTful API,数据工程师/数据科学家使用Python语言编写ML脚本进行培训和特征工程。以下是一些对我们有帮助的事情:
versions和/或tags和/或hashes.--
from quilt.data.username import my_data_packageexec()方法,通过命令行Runtime脚本(由Python data engineers编写--这些脚本带有命令行参数以使用正确训练的模型和数据输入)批量处理新的/新的数据,这些脚本加载了pickled模型以生成预测。See this SO answer.我不认为这本身就是一个规范的解决方案或最佳实践,但它帮助我们平衡了Java工程团队和Python DE/DS的需求。
棉被的一些好处:
我希望这对你有帮助!祝你好运,并想听听进展如何。
https://stackoverflow.com/questions/51210354
复制相似问题