Mercurial > pylearn
view image_tools.py @ 503:c7ce66b4e8f4
Extensions to algorithms, and some cleanup (by defining linear_output result).
author | Joseph Turian <turian@gmail.com> |
---|---|
date | Wed, 29 Oct 2008 03:29:18 -0400 |
parents | d7ed780364b3 |
children |
line wrap: on
line source
import numpy def make_weights_image(mat, xres, yres, i, j, nrow, ncol): """ Displays the filters implemented by a weight matrix. Each filter corresponds to a row of mat and will be represented by a xres*yres image. Units from i to j will be included in the picture. The picture will have nrow rows of filters and ncol columns of filters. Unused spots for filters will be filled with zeros. The return value is a matrix suitable for display with matplotlib's imshow. """ assert j > i n = j - i result = numpy.zeros((ncol * xres, nrow * yres)) submat = mat[i:j] for k, row in enumerate(submat): x = (k % ncol)*xres y = (k / ncol)*yres entry = row.reshape((xres, yres)) lmin, lmax = numpy.min(entry), numpy.max(entry) ldiff = lmax - lmin #entry = (entry - lmin) / ldiff result[x:x + xres, y:y + yres] = entry return result.T