notebook 显示图片训练过程可视化

Posted 一颗小树x

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了notebook 显示图片训练过程可视化相关的知识,希望对你有一定的参考价值。

前言

在使用notebook训练模型,可以使用 tensorboard 来可视化训练过程的指标,比如精度、召回率、损失大小等等。生成的结果图片可以使用IPython来显示。

一、显示图片

使用 IPython 中的display,可以在notebook中显示Image、JSON、htmljavascript、IFrame、Markdown等等。其中显示图片使用display.Image( ) 函数,下面看一下display.Image( )完整的函数定义,

def __init__(data=None, url=None, filename=None, format=None, embed=None, width=None, height=None, retina=False, unconfined=False, metadata=None)

举个例子:

from IPython import display
display.Image(filename='name.jpg', width=640)

 filename 是图片路径+名称;width 是图片宽度。

二、训练过程可视化

在notebook中训练过程可视化,可以使用TensorBoard,下面是打开TensorBoard:

%load_ext tensorboard
%tensorboard --logdir runs/train

其中 runs/train 是打开所在的目录,通常是存放训练日志的目录,比如YOLOv5是把训练日志放在runs/train的。

效果如下

 然后进行训练,点击更新,能看到训练的数据了。

 

参考

IPython 中的display,display.Image( )部分源码:

​
class Image(DisplayObject):

    _read_flags = 'rb'
    _FMT_JPEG = u'jpeg'
    _FMT_PNG = u'png'
    _ACCEPTABLE_EMBEDDINGS = [_FMT_JPEG, _FMT_PNG]

    def __init__(self, data=None, url=None, filename=None, format=None,
                 embed=None, width=None, height=None, retina=False,
                 unconfined=False, metadata=None):
        """Create a PNG/JPEG image object given raw data.

        When this object is returned by an input cell or passed to the
        display function, it will result in the image being displayed
        in the frontend.

        Parameters
        ----------
        data : unicode, str or bytes
            The raw image data or a URL or filename to load the data from.
            This always results in embedded image data.
        url : unicode
            A URL to download the data from. If you specify `url=`,
            the image data will not be embedded unless you also specify `embed=True`.
        filename : unicode
            Path to a local file to load the data from.
            Images from a file are always embedded.
        format : unicode
            The format of the image data (png/jpeg/jpg). If a filename or URL is given
            for format will be inferred from the filename extension.
        embed : bool
            Should the image data be embedded using a data URI (True) or be
            loaded using an <img> tag. Set this to True if you want the image
            to be viewable later with no internet connection in the notebook.

            Default is `True`, unless the keyword argument `url` is set, then
            default value is `False`.

            Note that QtConsole is not able to display images if `embed` is set to `False`
        width : int
            Width in pixels to which to constrain the image in html
        height : int
            Height in pixels to which to constrain the image in html
        retina : bool
            Automatically set the width and height to half of the measured
            width and height.
            This only works for embedded images because it reads the width/height
            from image data.
            For non-embedded images, you can just set the desired display width
            and height directly.
        unconfined: bool
            Set unconfined=True to disable max-width confinement of the image.
        metadata: dict
            Specify extra metadata to attach to the image.

        Examples
        --------
        # embedded image data, works in qtconsole and notebook
        # when passed positionally, the first arg can be any of raw image data,
        # a URL, or a filename from which to load image data.
        # The result is always embedding image data for inline images.
        Image('http://www.google.fr/images/srpr/logo3w.png')
        Image('/path/to/image.jpg')
        Image(b'RAW_PNG_DATA...')

        # Specifying Image(url=...) does not embed the image data,
        # it only generates `<img>` tag with a link to the source.
        # This will not work in the qtconsole or offline.
        Image(url='http://www.google.fr/images/srpr/logo3w.png')

        """

​

本文只供大家参考与学习,谢谢。

以上是关于notebook 显示图片训练过程可视化的主要内容,如果未能解决你的问题,请参考以下文章

tensorboard实现训练的可视化

PyTorch中的可视化工具

深度学习训练营之数据增强

TensorBoard:绘制每个步骤的“评估损失”图表

TensorBoard: 可视化学习

报告训练数据集中特定样本的训练损失,而不是训练过程中的平均损失 (TensorFlow)