Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Scala中线程间共享计算图的Deeplearning4j_Java_Scala_Akka_Deeplearning4j - Fatal编程技术网

Java Scala中线程间共享计算图的Deeplearning4j

Java Scala中线程间共享计算图的Deeplearning4j,java,scala,akka,deeplearning4j,Java,Scala,Akka,Deeplearning4j,我正在尝试做图像分类。我正在使用Scala、Akka演员系统和deeplearning4j。问题是,我必须始终检测图像上相同的点或作物。我在考虑在每一帧上为每一个图像片段创建一个新的演员。问题是,据我所知,为每个参与者创建实例化一个新模型是不可行的,但是拥有一个模型实例并传递给每个参与者也是不可行的。我应该有一个实例池吗?我有点被这个问题困扰,因为这是我第一次尝试深入学习4J。以前,我会使用python REST api,但我认为这个解决方案应该性能更好 先谢谢你 无需为图像的每个片段实例化一个

我正在尝试做图像分类。我正在使用Scala、Akka演员系统和deeplearning4j。问题是,我必须始终检测图像上相同的点或作物。我在考虑在每一帧上为每一个图像片段创建一个新的演员。问题是,据我所知,为每个参与者创建实例化一个新模型是不可行的,但是拥有一个模型实例并传递给每个参与者也是不可行的。我应该有一个实例池吗?我有点被这个问题困扰,因为这是我第一次尝试深入学习4J。以前,我会使用python REST api,但我认为这个解决方案应该性能更好

先谢谢你

  • 无需为图像的每个片段实例化一个新的参与者。只需保留一个参与者池,这些参与者要求主节点在处理完前一个图像后立即为他们提供更多的图像进行分类。我还建议检查它是否比普通的并行集合(例如代码>图像)实际购买了任何东西。PAR。MAP(模型,分类)< /代码>已经可以完成这项工作,它将独自处理一个线程池。
  • 不需要为每个参与者实例化一个新模型。分类不会改变模型,因此您可以在所有参与者之间共享相同的模型。对于模型对象的引用,每个参与者的开销相当于8字节,因此可以忽略不计

  • 也许您可以看看monix库,它有异步任务、批处理、容错原语等。

    将来,请注意:您可以使用并行推理来提供开箱即用的多线程服务

    上述答案的一个问题是,它没有考虑到模型在进行激活时具有内部状态。 并行推理还允许批处理和顺序推理。 例如,当您使用GPU时,这很重要。这里我们也允许多线程推理