I passed all the test but i got only 20 scores out of 100.
In general it is the case that the tests in the notebook don’t catch all possible errors. For example, a common mistake is to “hard-code” something so that it happens to match the test case in the notebook, but the grader fails because it uses a different test case. It could be hard-coding a dimension or it could be referencing the global variables that happen to be passed as the arguments.
There are also some specific bugs in the test cases for this assignment: in conv_forward and pool_forward, the tests in the notebook do not catch it if you omit the handling of the stride. There is one test case for pool_forward with stride = 2 where the values come out different but it does not throw an error. Please carefully examine all your output values relative to the expected values in that case. It not enough that the first rows are equal: they all need to be equal.