import som4 import weights import image ow = 640 / 8 oh = 480 / 8 d = weights.data("weights") img = image.image(ow, oh) num_classes = img.get_all_images("./forest") num_classes = img.get_all_images("./beach") s = som4.som(ow * oh * 3, num_classes, 0.01) s.init() img.save_all() print num_classes for i in range(0, num_classes): dataset = img.get_data_set(i) indx = s.learn(dataset, str(i)) print "-------------------- ", i for j in range(0, 400): print s.train(indx) w, m = s.get_weights() d.save(ow, oh, num_classes, w, m)
import weights import image ow = 640 / 8 oh = 480 / 8 d = weights.data("weights") ow, oh, inp, w, m = d.load() print "w = ", ow, " h = ", oh, " classes = ", inp img1 = image.image(ow, oh) img2 = image.image(ow, oh) s = som4.som(ow * oh * 3, inp, 0.01) s.init() print len(s.get_weights()[0]), " ", len(w) s.put_weights(w, m) nb = img1.get_all_images("./test/b") nf = img2.get_all_images("./test/f") print "beach test\n" for i in range(0, nb): dataset = img1.get_data_set(i) name = img1.get_name(i) ct = int(s.find(dataset))