Regarding seed of initializer

what does seed=0 mean in kernel_initializer = initializer(seed=0) ?

Anytime you are using a PRNG (pseudo-random number generator) algorithm, setting the seed to a particular value will cause the sequence of numbers generated to be the same every time. You would never do this in a real application, because the point of using a random number generator is that you don’t want the results to be predictable. We only do it here for the convenience of the test cases and the graders: we want the results to be consistent, so that it’s easy to check the correctness of your code.

Thanks for the clarification