Errors
After understanding what your code is intended to do, I think your for-loop over all paricles is not doing what you intend.
First:
pos = np.random.randint(0, len(arr)) # will set pos to 0 or 1
# should be:
pos = np.random.randint(0, arr[0])
# or better
random_pos_x = np.random.randint(0, arr[0])
random_pos_y = np.random.randint(0, arr[1])
Also, you only start particles an the upper and left border?
walk(pos,-1,canvas) # why -1?
...
walk(-1,pos,canvas) # why -1?
# should be:
walk(random_pos_x ,arr[1]-1, canvas)
walk(arr[0]-1, random_pos_y, canvas)
The name arr is an example for a bad name, because it hints to "array" (thus it was hard to spot the mistake above). Better would be samething like area.