Beispiel #1
0
 def test_Project_Works(self):
     X = self.makeh5(np.array([[1, 2], [3, 4], [5, 6], [7, 8]]))
     T = self.makeh5(np.array([[1], [2], [3], [4]]))
     hpelm = HPELM(2, 1)
     hpelm.add_neurons(1, "lin")
     hpelm.train(X, T)
     fH = self.makefile()
     hpelm.project(X, fH)
Beispiel #2
0
 def test_PredictAsync_Works(self):
     X = self.makeh5(np.array([[1, 2], [3, 4], [5, 6], [7, 8]]))
     T = self.makeh5(np.array([[1], [2], [3], [4]]))
     hpelm = HPELM(2, 1)
     hpelm.add_neurons(1, "lin")
     hpelm.train(X, T)
     fY = self.makefile()
     hpelm.predict_async(X, fY)
 def test_TrainIstart_HasEffect(self):
     X = self.makeh5(np.array([[1, 2], [3, 4], [5, 6]]))
     T = self.makeh5(np.array([[3], [2], [3]]))
     hpelm = HPELM(2, 1)
     hpelm.add_neurons(1, "lin")
     hpelm.train(X, T)
     B1 = hpelm.nnet.get_B()
     hpelm.train(X, T, istart=1)
     B2 = hpelm.nnet.get_B()
     self.assertFalse(np.allclose(B1, B2), "iStart index does not work")
Beispiel #4
0
 def test_TrainIcount_HasEffect(self):
     X = self.makeh5(np.array([[1, 2], [3, 4], [5, 6]]))
     T = self.makeh5(np.array([[3], [2], [3]]))
     hpelm = HPELM(2, 1)
     hpelm.add_neurons(1, "lin")
     hpelm.train(X, T)
     B1 = hpelm.nnet.get_B()
     hpelm.train(X, T, icount=2)
     B2 = hpelm.nnet.get_B()
     self.assertFalse(np.allclose(B1, B2), "iCount index does not work")
 def test_WeightedClassError_Works(self):
     X = self.makeh5(np.array([1, 2, 3]))
     T = self.makeh5(np.array([[0, 1], [0, 1], [1, 0]]))
     Y = self.makeh5(np.array([[0, 1], [0.4, 0.6], [0, 1]]))
     # here class 0 is totally incorrect, and class 1 is totally correct
     w = (9, 1)
     hpelm = HPELM(1, 2)
     hpelm.add_neurons(1, "lin")
     hpelm.train(X, T, "wc", w=w)
     e = hpelm.error(T, Y)
     np.testing.assert_allclose(e, 0.9)
Beispiel #6
0
 def test_WeightedClassError_Works(self):
     X = self.makeh5(np.array([1, 2, 3]))
     T = self.makeh5(np.array([[0, 1], [0, 1], [1, 0]]))
     Y = self.makeh5(np.array([[0, 1], [0.4, 0.6], [0, 1]]))
     # here class 0 is totally incorrect, and class 1 is totally correct
     w = (9, 1)
     hpelm = HPELM(1, 2)
     hpelm.add_neurons(1, "lin")
     hpelm.train(X, T, "wc", w=w)
     e = hpelm.error(T, Y)
     np.testing.assert_allclose(e, 0.9)
 def test_OneDimensionTargets_RunsCorrectly(self):
     X = self.makeh5(np.array([1, 2, 3]))
     T = self.makeh5(np.array([1, 2, 3]))
     hpelm = HPELM(1, 1)
     hpelm.add_neurons(1, "lin")
     hpelm.train(X, T)
 def test_TrainIcount_Works(self):
     X = self.makeh5(np.array([[1, 2], [3, 4], [5, 6]]))
     T = self.makeh5(np.array([[1], [2], [3]]))
     hpelm = HPELM(2, 1)
     hpelm.add_neurons(1, "lin")
     hpelm.train(X, T, icount=2)
Beispiel #9
0
    def start():
        pairs = MapperUtil.get_allpairs()  # Get pairs starting from 0th line
        if not pairs:
            print("No pairs found.")
            sys.exit()

        p = pyaudio.PyAudio()  # Create a PyAudio session

        # Create a stream
        stream = p.open(format=FORMAT,
                        channels=CHANNELS,
                        rate=RATE,
                        output=True)

        #H2V_cursor = NeuralNetUtil.get_neurons("H2V")
        elmH2V = None

        # Loop over the pairs coming from CROSSMODAL
        for pair in pairs:
            #time.sleep(0.5) # Wait 0.5 seconds to prevent aggressive loop
            print pair

            if pair['direction'] == "H2V":
                print "____________________________________________________________\n"
                print pair['timestamp1']

                hearing_memory = HearingMemoryUtil.get_memory(
                    pair['timestamp1'])
                hearing_memory = hearing_memory.next()['data']
                #print hearing_memory.next()['data']
                #chunky_array = numpy.fromstring(hearing_memory.next()['data'], 'int16')
                #print chunky_array
                stream.write(hearing_memory)

                numpy_audio = numpy.fromstring(hearing_memory, numpy.uint8)
                #print numpy_audio
                print "Audio: ", numpy_audio.shape
                #print numpy.transpose(numpy_audio.reshape((numpy_audio.shape[0],1))).shape

                vision_memory = VisionMemoryUtil.get_memory(pair['timestamp2'])
                vision_memory = vision_memory.next()

                frame_amodal = numpy.fromstring(vision_memory['amodal'],
                                                numpy.uint8)
                print "Frame Threshold: ", frame_amodal.shape
                cv2.imshow("Frame Threshhold", frame_amodal.reshape(360, 640))
                cv2.moveWindow("Frame Threshhold", 50, 100)

                frame_color = numpy.fromstring(vision_memory['color'],
                                               numpy.uint8)
                print "Frame Delta Colored: ", frame_color.shape
                cv2.imshow("Frame Delta Colored",
                           frame_color.reshape(360, 640, 3))
                cv2.moveWindow("Frame Delta Colored", 1200, 100)
                key = cv2.waitKey(500) & 0xFF
                #time.sleep(2.0)

                modulo = numpy_audio.shape[0] % RATE
                numpy_audio = numpy_audio[:-modulo]
                for one_second in numpy.array_split(
                        numpy_audio, int(numpy_audio.shape[0] / RATE)):
                    X = numpy.transpose(
                        one_second.reshape((one_second.shape[0], 1)))
                    T = numpy.transpose(
                        frame_amodal.reshape((frame_amodal.shape[0], 1)))
                    X = X.astype(numpy.float32, copy=False)
                    T = T.astype(numpy.float32, copy=False)
                    X[0] = X[0] / X[0].max()
                    T[0] = T[0] / T[0].max()
                    print X.shape
                    print T.shape
                    if elmH2V is None:
                        elmH2V = HPELM(X.shape[1], T.shape[1])
                        if os.path.exists(
                                os.path.expanduser("~/CerebralCortexH2V.pkl")):
                            #elmH2V.nnet.neurons = H2V_cursor.next()['neurons']
                            elmH2V.load(
                                os.path.expanduser("~/CerebralCortexH2V.pkl"))
                        else:
                            elmH2V.add_neurons(100, "sigm")
                    elmH2V.train(X, T, "LOO")
                    print elmH2V.predict(X)
                    cv2.imshow(
                        ">>>PREDICTION<<<",
                        numpy.transpose(elmH2V.predict(X)).reshape(360, 640))
                    cv2.moveWindow(">>>PREDICTION<<<", 50, 550)

        print elmH2V.nnet.neurons
        elmH2V.save(os.path.expanduser("~/CerebralCortexH2V.pkl"))
Beispiel #10
0
	def start():
		pairs = MapperUtil.get_allpairs() # Get pairs starting from 0th line
		if not pairs:
			print ("No pairs found.")
			sys.exit()

		p = pyaudio.PyAudio() # Create a PyAudio session

		# Create a stream
		stream = p.open(format=FORMAT,
						channels=CHANNELS,
						rate=RATE,
						output=True)

		#H2V_cursor = NeuralNetUtil.get_neurons("H2V")
		elmH2V = None

		# Loop over the pairs coming from CROSSMODAL
		for pair in pairs:
			   #time.sleep(0.5) # Wait 0.5 seconds to prevent aggressive loop
			   print pair

			   if pair['direction'] == "H2V":
				   print "____________________________________________________________\n"
				   print pair['timestamp1']

				   hearing_memory = HearingMemoryUtil.get_memory(pair['timestamp1'])
				   hearing_memory = hearing_memory.next()['data']
				   #print hearing_memory.next()['data']
				   #chunky_array = numpy.fromstring(hearing_memory.next()['data'], 'int16')
				   #print chunky_array
				   stream.write(hearing_memory)

				   numpy_audio = numpy.fromstring(hearing_memory, numpy.uint8)
				   #print numpy_audio
				   print "Audio: ",numpy_audio.shape
				   #print numpy.transpose(numpy_audio.reshape((numpy_audio.shape[0],1))).shape


				   vision_memory = VisionMemoryUtil.get_memory(pair['timestamp2'])
				   vision_memory = vision_memory.next()

				   frame_amodal = numpy.fromstring(vision_memory['amodal'], numpy.uint8)
				   print "Frame Threshold: ",frame_amodal.shape
				   cv2.imshow("Frame Threshhold", frame_amodal.reshape(360,640))
				   cv2.moveWindow("Frame Threshhold",50,100)

				   frame_color = numpy.fromstring(vision_memory['color'], numpy.uint8)
				   print "Frame Delta Colored: ",frame_color.shape
				   cv2.imshow("Frame Delta Colored", frame_color.reshape(360,640,3))
				   cv2.moveWindow("Frame Delta Colored",1200,100)
				   key = cv2.waitKey(500) & 0xFF
				   #time.sleep(2.0)

				   modulo = numpy_audio.shape[0] % RATE
				   numpy_audio = numpy_audio[:-modulo]
				   for one_second in numpy.array_split(numpy_audio, int(numpy_audio.shape[0] / RATE)):
					   X = numpy.transpose(one_second.reshape((one_second.shape[0],1)))
					   T = numpy.transpose(frame_amodal.reshape((frame_amodal.shape[0],1)))
					   X = X.astype(numpy.float32, copy=False)
					   T = T.astype(numpy.float32, copy=False)
					   X[0] = X[0] / X[0].max()
					   T[0] = T[0] / T[0].max()
					   print X.shape
					   print T.shape
					   if elmH2V is None:
						   elmH2V = HPELM(X.shape[1],T.shape[1])
						   if os.path.exists(os.path.expanduser("~/CerebralCortexH2V.pkl")):
							   #elmH2V.nnet.neurons = H2V_cursor.next()['neurons']
							   elmH2V.load(os.path.expanduser("~/CerebralCortexH2V.pkl"))
						   else:
							   elmH2V.add_neurons(100, "sigm")
					   elmH2V.train(X, T, "LOO")
					   print elmH2V.predict(X)
					   cv2.imshow(">>>PREDICTION<<<", numpy.transpose(elmH2V.predict(X)).reshape(360,640))
					   cv2.moveWindow(">>>PREDICTION<<<",50,550)

		print elmH2V.nnet.neurons
		elmH2V.save(os.path.expanduser("~/CerebralCortexH2V.pkl"))
Beispiel #11
0
 def test_ZeroInputs_RunsCorrectly(self):
     X = self.makeh5(np.array([[0, 0], [0, 0], [0, 0]]))
     T = self.makeh5(np.array([1, 2, 3]))
     hpelm = HPELM(2, 1)
     hpelm.add_neurons(1, "lin")
     hpelm.train(X, T)
Beispiel #12
0
 def test_OneDimensionTargets_RunsCorrectly(self):
     X = self.makeh5(np.array([1, 2, 3]))
     T = self.makeh5(np.array([1, 2, 3]))
     hpelm = HPELM(1, 1)
     hpelm.add_neurons(1, "lin")
     hpelm.train(X, T)
Beispiel #13
0
 def test_HPELM_tprint(self):
     X = self.makeh5(np.array([1, 2, 3, 1, 2, 3]))
     T = self.makeh5(np.array([[1, 0], [1, 0], [1, 0], [0, 1], [0, 1], [0, 1]]))
     hpelm = HPELM(1, 2, batch=2, tprint=0)
     hpelm.add_neurons(1, "lin")
     hpelm.train(X, T)
Beispiel #14
0
 def test_WeightedClassification_DefaultWeightsWork(self):
     X = self.makeh5(np.array([1, 2, 3, 1, 2, 3]))
     T = self.makeh5(np.array([[1, 0], [1, 0], [1, 0], [0, 1], [0, 1], [0, 1]]))
     hpelm = HPELM(1, 2)
     hpelm.add_neurons(1, "lin")
     hpelm.train(X, T, 'wc')
 def test_ZeroInputs_RunsCorrectly(self):
     X = self.makeh5(np.array([[0, 0], [0, 0], [0, 0]]))
     T = self.makeh5(np.array([1, 2, 3]))
     hpelm = HPELM(2, 1)
     hpelm.add_neurons(1, "lin")
     hpelm.train(X, T)
Beispiel #16
0
 def test_OneDimensionTargets2_RunsCorrectly(self):
     X = self.makeh5(np.array([[1, 2], [3, 4], [5, 6]]))
     T = self.makeh5(np.array([[0], [0], [0]]))
     hpelm = HPELM(2, 1)
     hpelm.add_neurons(1, "lin")
     hpelm.train(X, T)
 def test_OneDimensionTargets2_RunsCorrectly(self):
     X = self.makeh5(np.array([[1, 2], [3, 4], [5, 6]]))
     T = self.makeh5(np.array([[0], [0], [0]]))
     hpelm = HPELM(2, 1)
     hpelm.add_neurons(1, "lin")
     hpelm.train(X, T)
Beispiel #18
0
 def test_TrainIcount_Works(self):
     X = self.makeh5(np.array([[1, 2], [3, 4], [5, 6]]))
     T = self.makeh5(np.array([[1], [2], [3]]))
     hpelm = HPELM(2, 1)
     hpelm.add_neurons(1, "lin")
     hpelm.train(X, T, icount=2)