我的代码基本上是这样的:
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程序集执行此操作,而不必将大型模型类或数据文件签入到我的版本控制中?