view image_tools.py @ 446:23960ee12b52

Add argmax as output of the big softmax-NLL thingy.
author Pascal Lamblin <lamblinp@iro.umontreal.ca>
date Mon, 25 Aug 2008 18:15:43 -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