java – SBT:如何将类的实例打包为JAR?

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

解决方法

您应该将训练产生的数据序列化到自己的文件中.然后,您可以将此数据文件打包到JAR中.您的生产代码打开文件并读取它而不是运行训练算法.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...