def runTest2(): inputArray = np.array([[[[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3]], [[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3]], [[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3]], [[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3]], [[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3]], [[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3]], [[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3]], [[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3]], [[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3]]]]) labels = [1] #print(inputArray.shape) #Conv layer config numKernels = 4 kernelSize = 3 #Create network N = Network(sigmoid, ALPHA) N.addLayer(inputArray[0].shape) N.addConvLayer(inputArray[0].shape, numKernels, kernelSize, flatten=True) #We flatten it if it's gonna be followed by a FC layer N.addLayer(10, biased=True) N.addLayer(1) ## return inputArray ## return N #Train network N.fit(inputArray, labels, NUM_EPOCH, verbose=True) return N
def run(): #Unpickle data and put it in usable shape data = unpickle(PATH) inputs = shapeAsImage(data['data']) labels = oneHotEncode(data['labels']) print(labels[0]) #Check what it looks like plt.imshow(inputs[0], interpolation='nearest') plt.show() #Create classification network N = Network(sigmoid, ALPHA) N.addLayer(IMAGE_SHAPE) N.addConvLayer(IMAGE_SHAPE, NUM_KERNELS, SIZE_KERNELS, flatten=True) N.addLayer(NUM_LABELS) import cProfile fit = N.fit #Train network command = 'N.fit(inputs[:10], labels[:10], NUM_EPOCH, verbose=True)' cProfile.runctx(command, globals(), locals(), filename=None) #cProfile.run('fit(inputs[:10], labels[:10], NUM_EPOCH, verbose=True)') return N