我正在尝试图像分类。我正在使用Scala,Akka actor系统和deeplearning4j。问题是,我必须始终在相同的斑点上进行检测或在图像上进行裁切。我正在考虑为每幅图像的每一帧创建一个新的演员。问题是,据我了解,为每个参与者创建实例化新模型都是不可行的,但是拥有该模型的实例并传递给每个参与者也不可行。我应该有一个实例池吗?我对此问题有些困惑,因为这是我第一次尝试deeplearning4j。以前,我将使用python REST api,但我认为此解决方案应该会更好。

先感谢您。

最佳答案

无需为图像的每个裁剪实例化新的actor。只需保留一组参与者,这些参与者要求主节点在对前一个图像完成处理后立即给它们提供更多图像进行分类。我还建议检查一下,与普通的并行集合相比,它是否确实为您买了什么(比如images.par.map(model.classify)已经可以完成工作;它可以完全自己处理线程池)​​。
无需为每个参与者实例化新模型。分类不会改变模型,因此您可以简单地在所有参与者之间共享同一模型。每个角色对模型对象的引用就像8个字节的开销,因此可以忽略不计。

关于java - Deeplearning4j在Scala中的线程之间共享计算图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51106170/

10-09 19:31