import sys import matplotlib import pylab import numpy bdir = sys.argv[1] ar = numpy.genfromtxt("./data/%s/memorytest.dat"%(bdir)) nins = len(ar) pops = numpy.zeros( (nins,nins)); coss = numpy.zeros( (nins,nins)); coact = numpy.zeros( (nins,nins)); for i in range(nins): for k in range(len(ar[i])): if (ar[i][k] < 7.0): ar[i][k] = 0.0; #else: ar[i][k] =0.0 print ar for i in range(nins): for j in range(nins): pops[i][j] = numpy.dot(ar[i] , ar[j] ) s1 = numpy.sqrt(numpy.dot(ar[i], ar[i])) s2 = numpy.sqrt(numpy.dot(ar[j], ar[j])) coss[i][j] = numpy.dot(ar[i], ar[j]) / (s1*s2) pylab.figure(); pylab.imshow(pops, interpolation='nearest', aspect='auto',cmap='hot') pylab.colorbar() pylab.figure(); pylab.imshow(coss, interpolation='nearest', aspect='auto',cmap='hot') pylab.colorbar() dr = numpy.genfromtxt("./data/%s/synweights.txt"%(bdir)) maxbid = max(dr[:,1]); maxinpid = max(dr[:,3]); myar = numpy.zeros((maxinpid+1,maxbid+1)); for i in range(len(dr)): if (dr[i,3] >=0): v = dr[i,4] if (v <= 0.4): v = 0.0 myar[dr[i,3], dr[i,1]] += v maxinpid += 1 coss = numpy.zeros( (maxinpid,maxinpid)); for i in range(int(maxinpid) ): for j in range(int(maxinpid)): s1 = numpy.sqrt(numpy.dot(myar[i], myar[i])) s2 = numpy.sqrt(numpy.dot(myar[j], myar[j])) #if (i==j): coss[i][j] = 0.0 #else: coss[i][j] = numpy.dot(myar[i], myar[j]) / (s1*s2) pylab.figure(); pylab.imshow(coss, interpolation='nearest', aspect='auto',cmap='hot') pylab.colorbar() pylab.figure(); for i in [4]: pylab.plot(coss[i, :], label='Mem #4 - Overlap'); pylab.figure(); for i in [1,5,9]: pylab.plot(coss[i, :], label='3 Mems / Overlap'); pylab.show()