Exemple #1
0
 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
Exemple #2
0
    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])
Exemple #3
0
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