def __init__(self, interpreter=None, parent=None): # initialization of the superclass super(DesignerMainWindow, self).__init__(parent) # setup the GUI --> function generated by pyuic4 self.setupUi(self) self.hop = HopfieldNetwork(100) self.hop.setClocksHopfield() self.defaultButtonState() self.mem1 = [] self.mem2 = [] self.mem3 = [] self.mem4 = [] self.input = [] self.connectElements() self.runCount = 0 self.runPushButton.setEnabled(False) self.statusbar.showMessage('Hopfield Network Demo') self.inputChanged = False
length = len(v1) for i in range(length): if v1[i] != v2[i]: diff += 1 diff /= length return diff countOfPatterns = 2 size = 100 #vectors = csv_parser.read_input('SN_projekt3/animals-14x9.csv') vectors = PngReader.getSomeBitmaps(countOfPatterns, 'pokemon' + str(size)) width = size height = size hn = HopfieldNetwork(height * width, countOfPatterns, False, 0.1, 1) result = hn.train(vectors) print("Result: ", result) f, axarr = plt.pyplot.subplots(countOfPatterns, 2) for i in range(countOfPatterns): axarr[i, 0].imshow(Img.vector_to_img( vectors[i], height, width, False, )) axarr[i, 1].imshow(Img.vector_to_img(hn.Z[i], height, width, False)) diff = calculateDiff(vectors[i], hn.Z[i]) plt.pyplot.sca(axarr[i, 1])
def train_hopfield(rows_no, cols_no, patterns, args): hopfield_net = HopfieldNetwork(rows_no * cols_no) hopfield_net.learn_patterns(patterns, args.train_lr) return hopfield_net