java tensorflow and maven version is org.tensorflow:libtensorflow:1.15.0 after session.runner.run() for many times, the memory grow higher and higher then oom
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Bug
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- java, tensorflow
- Bereich
- machine-learning
Rechercherichtung
Beginne damit, die gemeldete Arbeitslast mit SavedModelBundle, session.runner(), runner.run() und dem im Issue gezeigten wiederholten 100-QPS-Vorhersagemuster nachzustellen. Verfolge unter gleichzeitiger Überwachung des Speichers den Besitz und die Freigabe der zugeführten Eingabetensoren sowie der zurückgegebenen Ausgabetensoren; als erledigt gilt die Untersuchung, wenn die wiederholten Vorhersagen den Speicher nicht mehr anwachsen lassen, bis OOM auftritt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
my test code with language scala ,this is one predict, we will predict 100 QPS for a docker
val config = ConfigProto.newBuilder
.putDeviceCount("CPU", Runtime.getRuntime.availableProcessors)
.setInterOpParallelismThreads(8)
.setIntraOpParallelismThreads(8)
.setOperationTimeoutInMs(3000)
.build
val options = RunOptions.newBuilder
.setTimeoutInMs(5000)
.build
val modelBundle = SavedModelBundle
.loader(s"$path")
.withTags("serve")
.withConfigProto(config.toByteArray)
.withRunOptions(options.toByteArray)
.load
val kernel = modelBundle.session
val data = Map("tensor1" -> Seq(0.1f,0.122f),……)
val runner = kernel.runner()
val inputTensorList: util.ArrayList[Tensor[java.lang.Float]] = new util.ArrayList[Tensor[java.lang.Float]]()
data.map{
case (tensorName, featureId) => {
val dataInput:FloatBuffer = FloatBuffer.allocate(featureId.size)
featureId.foreach(featureValue => {
dataInput.put(featureValue)
})
dataInput.asInstanceOf[Buffer].flip()
val tensorShape:Array[Long] = Array(1,featureId.size)
val tensor = Tensor.create(tensorShape,dataInput)
runner.feed(tensorName,tensor)
inputTensorList.add(tensor)
}
}
for(i <- 0 until 2 ){
runner.fetch("StatefulPartitionedCall",i)
}
val output = runner.run.asScala
val scores:Array[Float] = output.map(ten => {
val tensorData: Array[Array[Float]] = ten.copyTo(Array.ofDim[Float](ten.shape()(0).toInt, ten.shape()(1).toInt))
tensorData(0).head
}).toArray
inputTensorList.asScala.foreach(_.close())
output.foreach(_.close())
- Vorherrschende Sprache
- Java
- Sterne
- 928
- Forks
- 227
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus tensorflow/java
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
tensorflow/java#653 · 1 Kommentar · 4 Reaktionen ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
tensorflow/java#621 · 4 Kommentare ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
tensorflow/java#617 · 3 Kommentare ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 55/100
tensorflow/java#615 · 1 Kommentar ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
tensorflow/java#614 · 1 Kommentar ·
Alle Issues in tensorflow/java
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
grimmory-tools/grimmory#2850 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 90/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
aoqia194/leaf-loader#19 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
apache/streampark#4521 ·
-
Update license yearOffen0 - Backlog 1 - Ready documentation good first issue help wanted
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100