API - Visualization

TensorFlow provides TensorBoard to visualize the model, activations etc. Here we provide more functions for data visualization.

read_image(image[, path]) Read one image.
read_images(img_list[, path, n_threads, ...]) Returns all images in list by given path and name of each image file.
save_image(image[, image_path]) Save one image.
save_images(images, size[, image_path]) Save mutiple images into one single image.
draw_boxes_and_labels_to_image(image[, ...]) Draw bboxes and class labels on image.
W([W, second, saveable, shape, name, fig_idx]) Visualize every columns of the weight matrix to a group of Greyscale img.
CNN2d([CNN, second, saveable, name, fig_idx]) Display a group of RGB or Greyscale CNN masks.
frame([I, second, saveable, name, cmap, fig_idx]) Display a frame(image).
images2d([images, second, saveable, name, ...]) Display a group of RGB or Greyscale images.
tsne_embedding(embeddings, reverse_dictionary) Visualize the embeddings by using t-SNE.

Save and read images

Read one image

tensorlayer.visualize.read_image(image, path='')[source]

Read one image.

Parameters:

images : string, file name.

path : string, path.

Read multiple images

tensorlayer.visualize.read_images(img_list, path='', n_threads=10, printable=True)[source]

Returns all images in list by given path and name of each image file.

Parameters:

img_list : list of string, the image file names.

path : string, image folder path.

n_threads : int, number of thread to read image.

printable : bool, print infomation when reading images, default is True.

Save one image

tensorlayer.visualize.save_image(image, image_path='')[source]

Save one image.

Parameters:

images : numpy array [w, h, c]

image_path : string.

Save multiple images

tensorlayer.visualize.save_images(images, size, image_path='')[source]

Save mutiple images into one single image.

Parameters:

images : numpy array [batch, w, h, c]

size : list of two int, row and column number.

number of images should be equal or less than size[0] * size[1]

image_path : string.

Examples

>>> images = np.random.rand(64, 100, 100, 3)
>>> tl.visualize.save_images(images, [8, 8], 'temp.png')

Save image for object detection

tensorlayer.visualize.draw_boxes_and_labels_to_image(image, classes=[], coords=[], scores=[], classes_list=[], is_center=True, is_rescale=True, save_name=None)[source]

Draw bboxes and class labels on image. Return or save the image with bboxes, example in the docs of tl.prepro.

Parameters:

image : RGB image in numpy.array, [height, width, channel].

classes : a list of class ID (int).

coords : a list of list for coordinates.

  • Should be [x, y, x2, y2] (up-left and botton-right format)
  • If [x_center, y_center, w, h] (set is_center to True).

scores : a list of score (float). (Optional)

classes_list : list of string, for converting ID to string on image.

is_center : boolean, defalt is True.

If coords is [x_center, y_center, w, h], set it to True for converting [x_center, y_center, w, h] to [x, y, x2, y2] (up-left and botton-right). If coords is [x1, x2, y1, y2], set it to False.

is_rescale : boolean, defalt is True.

If True, the input coordinates are the portion of width and high, this API will scale the coordinates to pixel unit internally. If False, feed the coordinates with pixel unit format.

save_name : None or string

The name of image file (i.e. image.png), if None, not to save image.

References

Visualize model parameters

Visualize weight matrix

tensorlayer.visualize.W(W=None, second=10, saveable=True, shape=[28, 28], name='mnist', fig_idx=2396512)[source]

Visualize every columns of the weight matrix to a group of Greyscale img.

Parameters:

W : numpy.array

The weight matrix

second : int

The display second(s) for the image(s), if saveable is False.

saveable : boolean

Save or plot the figure.

shape : a list with 2 int

The shape of feature image, MNIST is [28, 80].

name : a string

A name to save the image, if saveable is True.

fig_idx : int

matplotlib figure index.

Examples

>>> tl.visualize.W(network.all_params[0].eval(), second=10, saveable=True, name='weight_of_1st_layer', fig_idx=2012)

Visualize CNN 2d filter

tensorlayer.visualize.CNN2d(CNN=None, second=10, saveable=True, name='cnn', fig_idx=3119362)[source]

Display a group of RGB or Greyscale CNN masks.

Parameters:

CNN : numpy.array

The image. e.g: 64 5x5 RGB images can be (5, 5, 3, 64).

second : int

The display second(s) for the image(s), if saveable is False.

saveable : boolean

Save or plot the figure.

name : a string

A name to save the image, if saveable is True.

fig_idx : int

matplotlib figure index.

Examples

>>> tl.visualize.CNN2d(network.all_params[0].eval(), second=10, saveable=True, name='cnn1_mnist', fig_idx=2012)

Visualize images

Image by matplotlib

tensorlayer.visualize.frame(I=None, second=5, saveable=True, name='frame', cmap=None, fig_idx=12836)[source]

Display a frame(image). Make sure OpenAI Gym render() is disable before using it.

Parameters:

I : numpy.array

The image

second : int

The display second(s) for the image(s), if saveable is False.

saveable : boolean

Save or plot the figure.

name : a string

A name to save the image, if saveable is True.

cmap : None or string

‘gray’ for greyscale, None for default, etc.

fig_idx : int

matplotlib figure index.

Examples

>>> env = gym.make("Pong-v0")
>>> observation = env.reset()
>>> tl.visualize.frame(observation)

Images by matplotlib

tensorlayer.visualize.images2d(images=None, second=10, saveable=True, name='images', dtype=None, fig_idx=3119362)[source]

Display a group of RGB or Greyscale images.

Parameters:

images : numpy.array

The images.

second : int

The display second(s) for the image(s), if saveable is False.

saveable : boolean

Save or plot the figure.

name : a string

A name to save the image, if saveable is True.

dtype : None or numpy data type

The data type for displaying the images.

fig_idx : int

matplotlib figure index.

Examples

>>> X_train, y_train, X_test, y_test = tl.files.load_cifar10_dataset(shape=(-1, 32, 32, 3), plotable=False)
>>> tl.visualize.images2d(X_train[0:100,:,:,:], second=10, saveable=False, name='cifar10', dtype=np.uint8, fig_idx=20212)

Visualize embeddings

tensorlayer.visualize.tsne_embedding(embeddings, reverse_dictionary, plot_only=500, second=5, saveable=False, name='tsne', fig_idx=9862)[source]

Visualize the embeddings by using t-SNE.

Parameters:

embeddings : a matrix

The images.

reverse_dictionary : a dictionary

id_to_word, mapping id to unique word.

plot_only : int

The number of examples to plot, choice the most common words.

second : int

The display second(s) for the image(s), if saveable is False.

saveable : boolean

Save or plot the figure.

name : a string

A name to save the image, if saveable is True.

fig_idx : int

matplotlib figure index.

Examples

>>> see 'tutorial_word2vec_basic.py'
>>> final_embeddings = normalized_embeddings.eval()
>>> tl.visualize.tsne_embedding(final_embeddings, labels, reverse_dictionary,
...                   plot_only=500, second=5, saveable=False, name='tsne')