once in session is sufficient, but I suppose exposes you to human error as if you are working interactively you should be careful not to run twice any random generating element, because when you reopen the script and run again, you will only get matching results if you reran the offending code segment twice also which you wont if the script runs end to end. setting seed before each random generating code will reduce this error likelihood at the cost of additional text in your script