<jupyter_start><jupyter_text>基本方針それぞれの画像に対して、回答の状態はpandasのDataFrameとして持つ。定期的にCSVとして書き込み、状態を保存する。 ラベル付けの方法それぞれの画像に対して複数のラベルをつける。画像のラベルはコンマ区切り。一つのセルに入れる。 その他ラベルをつけた状態を保存しておき、任意のタイミングで、好きな画像のラベルを変更することができる。<jupyter_code>import importlib
import os
import sys

import IPython.display
import ipywidgets as widgets
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from ipywidgets import fixed, interact, interact_manual, interactive
from PIL import Image
from IPython.display import Video, HTML


sys.path.append("../src")
import dataloader
import mitdata
from dataloader import MITDataLoader
from mitdata import MITData
def video_html(path):
    return HTML('''
    <video autoplay loop width="256px" height="256px">
      <source src="{0}" type="video/mp4">
    </video>
    '''.format(path))
train_loader = MITDataLoader()
log = []
df_label = train_loader.index.copy()
df_label["object_label"] = ""
df_label
def show_video(n, label):
    data = train_loader[n]
    label = df_label.loc[n, "object_label"]
    print(label)
    display(video_html(data.converted_moviepath))
    df_label.loc[n, "object_label"] = label
    return True
w = interactive(show_video, n=widgets.IntText(value=7), label=widgets.Text())
display(w)
import ipywidgets as widgets
from traitlets import Unicode, validate
class HelloWidget(widgets.DOMWidget):
    _view_name = Unicode("HelloView").tag(sync=True)
    _view_model = Unicode("hello").tag(sync=True)
    _view_module_version = Unicode('0,1,0').tag(sync=True)
%%javascript
define('hello', ["@jupyter-widgets/base"], function(widgets) {
   var HelloView = widgets.DOMWidgetView.extend({
       
   }) 
   
   return {
       HelloView: HelloView
   }
    
});<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.11405529953917051, 'fraction_numerical': 0.0069124423963133645, 'mean_word_length': 5.530075187969925, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 8, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '567407', 'license': 'MIT', 'n_tokens_mistral': 702, 'n_tokens_neox': 676, 'n_words': 124, 'path': 'jupyter/Labeling.ipynb', 'repo_name': 'bonyuta0204/MomentsInTime', 'size': '1736'}