1. A method for training a visual prosthesis comprising: presenting a non-visual reference stimulus corresponding to a reference image to a visual prosthesis patient, the visual prosthesis including a plurality of electrodes; generating a training data set by presenting a series of stimulation patterns to the patient through the visual prosthesis, each stimulation pattern in the series after the first being determined at least in part by a fitness function optimization algorithm and on a previous subjective patient selection of a preferred stimulation pattern among stimulation patterns previously presented and, and storing the presented stimulation patterns and the selections of the patient; and presenting off-line to a neural network the training data set to determine a vision solution.