What does this function that “train_init” do,Why is there one training function “train_init” and another training function “train”?