tensorflow / tensorflow/java

Big NDArray generate Operand Tensor meet protobuf exceeded maximum protobuf size of 2GB ?

Abierto
#464 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Java
Estrellas
928
Forks
227
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Hi :
from spark DataFrame generate org.tensorflow.ndarray.DoubleNdArray , after I want to generate Operand[TFloat64] tensor , meet error


scala> val featureVector = SparkConverter.sparkDataframeFeatureVectorConvertTfTensor(finalInputDf,"final_features" )
featureVector: org.tensorflow.ndarray.DoubleNdArray = org.tensorflow.ndarray.impl.dense.DoubleDenseNdArray@e3f6a6a0
scala> val ft  = tf.constant(featureVector)
[libprotobuf ERROR external/com_google_protobuf/src/google/protobuf/message_lite.cc:451] tensorflow.AttrValue exceeded maximum protobuf size of 2GB: 6279090916
org.tensorflow.exceptions.TFInvalidArgumentException: AttrValue missing value with expected type 'tensor'
         for attr 'value'
        ; NodeDef: {{node Const}}; Op<name=Const; signature= -> output:dtype; attr=value:tensor; attr=dtype:type>
  at org.tensorflow.internal.c_api.AbstractTF_Status.throwExceptionIfNotOK(AbstractTF_Status.java:87)
  at org.tensorflow.EagerOperationBuilder.execute(EagerOperationBuilder.java:314)
  at org.tensorflow.EagerOperationBuilder.build(EagerOperationBuilder.java:77)
  at org.tensorflow.EagerOperationBuilder.build(EagerOperationBuilder.java:64)
  at org.tensorflow.op.core.Constant.create(Constant.java:1350)
  at org.tensorflow.op.core.Constant.tensorOf(Constant.java:521)
  at org.tensorflow.op.Ops.constant(Ops.java:1669)
  ... 59 elided

but if I filter some small part Dataframe is ok


scala> val featureVector = SparkConverter.sparkDataframeFeatureVectorConvertTfTensor(finalInputDf.filter(col("pay_status").equalTo(1)),"final_features" )
featureVector: org.tensorflow.ndarray.DoubleNdArray = org.tensorflow.ndarray.impl.dense.DoubleDenseNdArray@627077a

scala> val ft_small  = tf.constant(featureVector)
ft_small: org.tensorflow.op.core.Constant[org.tensorflow.types.TFloat64] = <Const 'Const_2'>

scala> ft_small.asTensor().numBytes()
res43: Long = 1058424696

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con la ruta de llamadas reportada de Ops.constant y Constant.tensorOf, usando como entradas contrastantes el DoubleNdArray generado por SparkConverter y el DataFrame filtrado más pequeño. Reproduce el error de tamaño de protobuf y determina el comportamiento esperado para tensores de más de 2GB; el issue no define ningún cambio solicitado ni una prueba clara de finalización.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java, scala
Área
machine-learning
Tipo de issue
Error
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.