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
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Bug
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- java, tensorflow
- Domínio
- machine-learning
Direção de pesquisa
Comece reproduzindo a carga de trabalho relatada usando SavedModelBundle, session.runner(), runner.run() e o padrão de predições repetidas a 100-QPS mostrado na issue. Rastreie a propriedade e o fechamento dos tensores de entrada fornecidos e dos tensores de saída retornados enquanto monitora a memória; considera-se concluído quando as predições repetidas não fizerem mais a memória crescer até ocorrer OOM.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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())
- Linguagem predominante
- Java
- Estrelas
- 928
- Forks
- 227
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de tensorflow/java
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
tensorflow/java#653 · 1 comentário · 4 reações ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
tensorflow/java#621 · 4 comentários ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
tensorflow/java#617 · 3 comentários ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 55/100
tensorflow/java#615 · 1 comentário ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
tensorflow/java#614 · 1 comentário ·
Todas as issues de tensorflow/java
Issues semelhantes
-
Update license yearAberta0 - Backlog 1 - Ready documentation good first issue help wanted
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
cbor
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
FasterXML/jackson-dataformats-binary#844 ·
Mantenedores costumam responder em até 1 dia
-
improvement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
apache/iceberg#18351 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
bug good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 90/100
repowise-dev/repowise#2945 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Interpolating settings.xml can lead to malformed XML when variable value contains double-hyphenAbertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
apache/maven#13321 · 1 comentário ·
Mantenedores costumam responder em até 1 dia