def cacheOrComputeKernel(self, options, filename, f): if options.useCache == 1 and os.path.exists(filename): print >> sys.stderr, 'Loading kernel from file:', filename return IO.unpickle(filename) else: K = f(self) print >> sys.stderr, 'Saving kernel to file:', filename IO.pickle(filename, K) return K
def saveWUZ(U, W, Z, options): S = (W, U, Z) IO.pickle('tmp/S_t=' + str(options.t) + '.txt', S)
parser.add_option('--normalize', dest='normalize', type="int", action='store', default=1) (options, args) = parser.parse_args() return options if __name__ == '__main__': # parse arguments filename_wordsX = (sys.argv[1]) # read input wordsX = IO.readPickledWords(filename_wordsX) options = parseOptions() # make graph G = makeGraph(wordsX, options) G = G.todense() if options.normalize == 1: G = toSymmetricStochastic(G, sym=(options.sym == 1), stochastic=(options.stochastic == 1), norm='l1') elif options.normalize == 2: G = toSymmetricStochastic(G, sym=(options.sym == 1), stochastic=(options.stochastic == 1), norm='l2') msk = MSK(None, wordsX.words, wordsX.words) # save the matrix. # This is hacky, since we're trusting that G is generated with rows/columns that match the order of wordsX.words msk.M = G graphFilename = filename_wordsX.replace(".", "_WG.") if options.KNN > 0: graphFilename = graphFilename.replace(".", "_KNN"+str(options.KNN)+".") IO.pickle(graphFilename, msk)