我的代码基本上是这样的:
- class FoodTrainer(images: S3Path) { // data is >100GB file living in S3
- def train(): FoodClassifier // Very expensive - takes ~5 hours!
- }
- class FoodClassifier { // Light-weight API class
- def isHotDog(input: Image): Boolean
- }
我想在JAR-assembly(sbt assembly)时,调用val classifier = new FoodTrainer(s3Dir).train()并发布具有分类器实例的JAR,该实例可立即供下游库用户使用.
最简单的方法是什么?对此有哪些既定的范例?我知道它在ML项目中是一个相当普遍的习惯用法,可以发布训练有素的模型http://nlp.stanford.edu/software/stanford-corenlp-models-current.jar
如何使用sbt程序集执行此操作,而不必将大型模型类或数据文件签入到我的版本控制中?