# Randomly pick a word from dict : inputtext = dictOfWords[np.random.randint(0,len(dictOfWords)-1)] print inputtext inputvec = [0.0 for i in range(len(nn.inputLayer))] counter = 0 for letter in inputtext: inputvec[counter*layerLength + proc.char2val(letter)] = 1.0 counter += 1 # print len(inputvec), len(nn.inputLayer) # Make network learn from input # #for char in inputtext: # # nn.inputData(proc.char2vec(char)) # # nn.computeOutput() # # nn.learn() # # answer += proc.vec2char(nn.outputLayer_f.tolist()) nn.inputData(inputvec) nn.computeOutput() #nn.learn() #answer += proc.vec2char(nn.outputLayer_f.tolist()) # Generate answer (which is way more tricky) iterNb = iterNb + 1 errorEvolution.append(abs(nn.endError)) #print answer #nn.displayNetwork() #plt.show() plt.figure() plt.plot(errorEvolution) plt.show() print "Network trained in ", iterNb, "iterations !"
#print "dataset" #print dataset # brewer2mpl.get_map args: set name set type number of colors #bmap = brewer2mpl.get_map('Paired', 'qualitative', datasetSize) #colors = bmap.mpl_colors #samp = 0 #for data in dataset: # plt.subplot(5,2,samp) # plt.plot(data, color=colors[samp]) # samp += 1 #nn.displayNetwork() errorEvolution=[] # First example : inputdata=dataset[np.random.randint(0,len(dataset)-1)] nn.inputData(inputdata) nn.computeOutput() nn.learn() iterNb = 1 errorEvolution.append(abs(nn.endError)) meanError = abs(nn.endError) alpha = 0.1 while meanError > 0.05: inputdata=dataset[np.random.randint(0,len(dataset)-1)] # # Make network learn from input nn.inputData(inputdata) nn.computeOutput() nn.learn() iterNb = iterNb + 1 errorEvolution.append(abs(nn.endError))