Your model might be overfitting to the training dataset so you could use a validation set to have a proxy loss and could apply e.g. early stopping.
Yes, you can define the weight_init method globally and use it via model.apply(weight_init).