<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def reporter(prefix=None, out=None, subdir='', timeout=5, **kwargs):
 """Summary media assets to visualize. ``reporter`` function collects media assets by the ``with`` statement and aggregates in same row to visualize. This function returns an object which provides the following methods. * :meth:`~chainerui.summary._Reporter.image`: collect images. almost same \ as :func:`~chainerui.summary.image` * :meth:`~chainerui.summary._Reporter.audio`: collect audio. almost same \ as :func:`~chainerui.summary.audio` Example of how to set several assets:: Args: prefix (str):
 prefix of column name. out (str):
 directory path of output. subdir (str):
 sub-directory path of output. **kwargs (dict):
 key-value pair to show as description. regardless of empty or not, timestamp is added. """


    report = _Reporter(prefix, out, subdir, **kwargs)
    yield report
    report.save(timeout)