Your model might be quite sensitive to the current initialization of your parameters.
Are you using some the default init or did you initialize your parameters yourself?
In an optimal setup, the training should reach comparable accuracies for different random seeds, although the training time might differ a bit. You should not “optimize” the seed in any way.
It sounds like your model might be small and you reached 98% accuracy by chance in the first epoch.