MiniBatchKMeans Python
The batch size is defined by batch_size, period. Furthermore you can define init_size which is the size of samples taken to initiallize the process, and by default it is 3*batch_size. You can simply set bath_size=100 and init_size=10 and then 10 samples are used to perform initialization (kmeans is not globaly convergent, there are many techniques to deal with it onthe initialization stage) and later on batch of 100 will be used during the algorithm execution.
I am using the function MiniBatchKMeans() from scikitlearn. Well, 
in its documentation there are:

batch_size : int, optional, default: 100
  Size of the mini batches.
init_size : int, optional, default: 3 * batch_size
  Number of samples to randomly sample for speeding up the initialization (sometimes at the expense of accuracy): the only algorithm is initialized by running a batch KMeans on a random subset of the data. This needs to be larger than n_clusters.

I didn't understand it very well, because it seems that the final dimension of the mini batch is 3*batch_size and not the one specified by batch_size argument.
Am I misunderstanding something. If so, some one can explain those two arguments. It I am right, why there are these two arguments since they seems to be redundant.
Thanks!!!