Uploaded image for project: 'SystemDS'
  1. SystemDS
  2. SYSTEMDS-1077

Max Pooling Null Pointer

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • SystemML 0.11
    • SystemML 0.11
    • None
    • None

    Description

      Currently, if a matrix of all zeros is passed into `max_pool`, a null pointer exception will be raised. This is a possibility within the course of training a neural net that uses ReLU & Dropout layers.

      script = """
      N = 2
      C = 3
      Hin = 10
      Win = 10
      f = 2
      stride = 2
      X = matrix(0, rows=N, cols=C*Hin*Win)
      out = max_pool(X, input_shape=[N,C,Hin,Win], pool_size=[f,f], stride=[stride,stride], padding=[0,0])
      """
      script = dml(script).output("out")
      out = ml.execute(script).get("out")
      out.toDF().collect()
      
      Caused by: org.apache.sysml.runtime.DMLRuntimeException: Error while executing multi-threaded MaxPooling_Forward
      	at org.apache.sysml.runtime.matrix.data.LibMatrixDNN.runParallelConvTask(LibMatrixDNN.java:889)
      	at org.apache.sysml.runtime.matrix.data.LibMatrixDNN.runConvTask(LibMatrixDNN.java:849)
      	at org.apache.sysml.runtime.matrix.data.LibMatrixDNN.maxpooling(LibMatrixDNN.java:733)
      	at org.apache.sysml.runtime.instructions.cp.ConvolutionCPInstruction.processInstruction(ConvolutionCPInstruction.java:192)
      	at org.apache.sysml.runtime.controlprogram.ProgramBlock.executeSingleInstruction(ProgramBlock.java:305)
      	... 17 more
      Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException
      	at java.util.concurrent.FutureTask.report(FutureTask.java:122)
      	at java.util.concurrent.FutureTask.get(FutureTask.java:192)
      	at org.apache.sysml.runtime.matrix.data.LibMatrixDNN.runParallelConvTask(LibMatrixDNN.java:883)
      	... 21 more
      Caused by: java.lang.NullPointerException
      	at org.apache.sysml.runtime.matrix.data.LibMatrixDNN.doPooling(LibMatrixDNN.java:756)
      	at org.apache.sysml.runtime.matrix.data.LibMatrixDNN.access$000(LibMatrixDNN.java:41)
      	at org.apache.sysml.runtime.matrix.data.LibMatrixDNN$ConvTask.call(LibMatrixDNN.java:912)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	... 1 more
      

      Attachments

        Issue Links

          Activity

            People

              niketanpansare Niketan Pansare
              dusenberrymw Mike Dusenberry
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: