DVCLive ã«ããé«åºŠãªYOLO11 å®éšãã©ããã³ã°
æ©æ¢°åŠç¿ã«ãããå®éšè¿œè·¡ã¯ãã¢ãã«ã®éçºãšè©äŸ¡ã«äžå¯æ¬ ã§ãããããã«ã¯ãå€æ°ã®ãã¬ãŒãã³ã°å®è¡ããåŸãããæ§ã ãªãã©ã¡ãŒã¿ãã¡ããªã¯ã¹ãçµæãèšé²ããåæããããšãå«ãŸããããã®ããã»ã¹ã¯ãã¢ãã«ã®ããã©ãŒãã³ã¹ãç解ããã¢ãã«ãæ¹è¯ã»æé©åããããã®ããŒã¿é§ååã®ææ決å®ãè¡ãããã«äžå¯æ¬ ã§ãã
DVCLiveãš Ultralytics YOLO11ãšã®çµ±åã¯ãå®éšã远跡ãã管çãããæ¹æ³ãå€ããŸãããã®çµ±åã¯ãäž»èŠãªå®éšã®è©³çŽ°ãèªåçã«èšé²ããç°ãªãå®è¡éã§çµæãæ¯èŒãã詳现ãªåæã®ããã«ããŒã¿ãå¯èŠåããããã®ã·ãŒã ã¬ã¹ãªãœãªã¥ãŒã·ã§ã³ãæäŸããŸãããã®ã¬ã€ãã§ã¯ãããã»ã¹ãåçåããããã«DVCLiveãã©ã®ããã«äœ¿çšã§ããããç解ããŸãã
DVCã©ã€ã
DVCã«ãã£ãŠéçºãããDVCLiveã¯ãæ©æ¢°åŠç¿ã«ãããå®éšè¿œè·¡ã®ããã®é©æ°çãªãªãŒãã³ãœãŒã¹ããŒã«ã§ããGitãšDVCãã·ãŒã ã¬ã¹ã«çµ±åããã¢ãã«ã»ãã©ã¡ãŒã¿ããã¬ãŒãã³ã°ã»ã¡ããªã¯ã¹ã®ãããªéèŠãªå®éšããŒã¿ã®ãã®ã³ã°ãèªååããŸããã·ã³ãã«ã«èšèšãããDVCLiveã¯ãçŽæçãªããŒã¿ã®å¯èŠåãšåæããŒã«ã§æ©æ¢°åŠç¿ãããžã§ã¯ãã®å¹çãåäžãããè€æ°ã®å®è¡ã®æ¥œãªæ¯èŒãšåæãå¯èœã«ããŸãã
YOLO11 DVCLiveã䜿ã£ããã¬ãŒãã³ã°
YOLO11 ãã¬ãŒãã³ã°ã»ãã·ã§ã³ã¯DVCLiveã§å¹æçã«ã¢ãã¿ãŒããããšãã§ããŸããããã«ãDVCã¯ããããã®å®éšãèŠèŠåããããã®äžå¯æ¬ ãªæ©èœãæäŸããŸãããã®æ©èœã«ã¯ã远跡ããããã¹ãŠã®å®éšã«ãããã¡ããªãã¯ããããã®æ¯èŒãå¯èœã«ããã¬ããŒãã®çæãå«ãŸãããã¬ãŒãã³ã°ããã»ã¹ã®å æ¬çãªãã¥ãŒãæäŸããŸãã
ã€ã³ã¹ããŒã«
å¿ èŠãªããã±ãŒãžãã€ã³ã¹ããŒã«ããã«ã¯
ã€ã³ã¹ããŒã«
ã€ã³ã¹ããŒã«ããã»ã¹ã«é¢ãã詳现ãªèª¬æãšãã¹ããã©ã¯ãã£ã¹ã«ã€ããŠã¯ãYOLO11 ã€ã³ã¹ããŒã«ã¬ã€ããã芧ãã ãããYOLO11 ã«å¿ èŠãªããã±ãŒãžã®ã€ã³ã¹ããŒã«äžã«ãäœããã®åé¡ãçºçããå Žåã¯ã解決çãšãã³ãã«ã€ããŠãããããåé¡ã¬ã€ããåç §ããŠãã ããã
DVCLiveã®èšå®
å¿ èŠãªããã±ãŒãžãã€ã³ã¹ããŒã«ãããã次ã®ã¹ãããã¯ãå¿ èŠãªèªèšŒæ å ±ã䜿çšããŠç°å¢ãèšå®ããæ§æããããšã§ãããã®ã»ããã¢ããã«ãããDVCLiveãæ¢åã®ã¯ãŒã¯ãããŒã«ã¹ã ãŒãºã«çµ±åããããšãã§ããŸãã
Gitã¯ãããªãã®ã³ãŒããšDVCLiveèšå®ã®äž¡æ¹ã®ããŒãžã§ã³ç®¡çã§éèŠãªåœ¹å²ãæããã®ã§ãGitãªããžããªãåæåããããšããå§ããŸãã
åæç°å¢èšå®
ãããã®ã³ãã³ãã§ã¯ã"you@example.com" ã Git ã¢ã«ãŠã³ãã®ã¡ãŒã«ã¢ãã¬ã¹ã«ã"Your Name" ã Git ã¢ã«ãŠã³ãã®ãŠãŒã¶ãŒåã«çœ®ãæããŠãã ããã
䜿çšæ¹æ³
䜿ãæ¹ã®èª¬æã«å ¥ãåã«ã Ultralytics ãæäŸããYOLO11 ã¢ãã«ã®ã©ã€ã³ããããã確èªãã ãããããã¯ãããªãã®ãããžã§ã¯ãã®èŠä»¶ã«æãé©ããã¢ãã«ãéžæããã®ã«åœ¹ç«ã¡ãŸãã
DVCLive ã䜿ã£ãYOLO11 ã¢ãã«ã®ãã¬ãŒãã³ã°
YOLO11 ããã¬ãŒãã³ã°ã»ã»ãã·ã§ã³ãéå§ããŸãããããžã§ã¯ãã®ããŒãºã«åãããŠãæ§ã ãªã¢ãã«æ§æããã¬ãŒãã³ã°ãã©ã¡ãŒã¿ã䜿çšããããšãã§ããŸããäŸãã°
# Example training commands for YOLO11 with varying configurations
yolo train model=yolo11n.pt data=coco8.yaml epochs=5 imgsz=512
yolo train model=yolo11n.pt data=coco8.yaml epochs=5 imgsz=640
ã¢ãã«ãããŒã¿ããšããã¯ãããã³imgszãã©ã¡ãŒã¿ãç¹å®ã®èŠä»¶ã«å¿ããŠèª¿æŽããŸããã¢ãã«ãã¬ãŒãã³ã°ããã»ã¹ãšãã¹ããã©ã¯ãã£ã¹ã®è©³çŽ°ã«ã€ããŠã¯ãYOLO11 ã¢ãã«ãã¬ãŒãã³ã°ã¬ã€ããåç §ããŠãã ããã
DVCLiveã«ããå®éšã®ã¢ãã¿ãªã³ã°
DVCLiveã¯ãäž»èŠãªã¡ããªã¯ã¹ã®è¿œè·¡ãšå¯èŠåãå¯èœã«ããããšã§ããã¬ãŒãã³ã°ããã»ã¹ã匷åããŸããã€ã³ã¹ããŒã«ããããšãUltralytics YOLO11 ãå®éšã®ãã©ããã³ã°ã®ããã«DVCLiveãšèªåçã«çµ±åãããŸãããã¬ãŒãã³ã°äžã«äœ¿çšãããç¹å®ã®ããã©ãŒãã³ã¹ã»ã¡ããªã¯ã¹ã®å æ¬çãªç解ã«ã€ããŠã¯ãããã©ãŒãã³ã¹ã»ã¡ããªã¯ã¹ã®è©³çŽ°ãªã¬ã€ããåç §ããŠãã ããã
çµæã®åæ
YOLO11 ãã¬ãŒãã³ã°ã»ãã·ã§ã³ãçµäºããåŸãDVCLive ã®åŒ·åãªå¯èŠåããŒã«ã掻çšããŠãçµæã詳现ã«åæããããšãã§ããŸããDVCLiveã®çµ±åã¯ããã¹ãŠã®ãã¬ãŒãã³ã°ã¡ããªã¯ã¹ãäœç³»çã«èšé²ãããããšãä¿èšŒããã¢ãã«ã®ããã©ãŒãã³ã¹ã®å æ¬çãªè©äŸ¡ã容æã«ããŸãã
åæãéå§ããã«ã¯ãDVCã®APIã䜿çšããŠå®éšããŒã¿ãæœåºããPandasã§åŠçããããšã§ãåãæ±ããšå¯èŠåã容æã«ãªããŸãïŒ
import dvc.api
import pandas as pd
# Define the columns of interest
columns = ["Experiment", "epochs", "imgsz", "model", "metrics.mAP50-95(B)"]
# Retrieve experiment data
df = pd.DataFrame(dvc.api.exp_show(), columns=columns)
# Clean the data
df.dropna(inplace=True)
df.reset_index(drop=True, inplace=True)
# Display the DataFrame
print(df)
äžèšã®ã³ãŒãã¹ããããã®åºåã¯ãYOLO11 ã¢ãã«ã§å®æœãããããŸããŸãªå®éšã®æ確ãªè¡šåœ¢åŒãã¥ãŒãæäŸããŸããåè¡ã¯ç°ãªããã¬ãŒãã³ã°å®è¡ãè¡šããå®éšåããšããã¯æ°ãç»åãµã€ãºïŒimgszïŒã䜿çšããç¹å®ã®ã¢ãã«ãmAP50-95(B)ã¡ããªãã¯ã®è©³çŽ°ãèšèŒãããŠããŸãããã®ã¡ããªãã¯ã¯ã¢ãã«ã®ç²ŸåºŠãè©äŸ¡ããã®ã«éèŠã§ãããå€ãé«ãã»ã©æ§èœãè¯ãããšã瀺ãã
Plotlyã«ããçµæã®èŠèŠå
å®éšçµæãããã€ã³ã¿ã©ã¯ãã£ãã«èŠèŠçã«åæããã«ã¯ãPlotlyã®å¹³è¡åº§æšããããã䜿çšããããšãã§ããŸãããã®ã¿ã€ãã®ããããã¯ãç°ãªããã©ã¡ãŒã¿ãã¡ããªã¯ã¹éã®é¢ä¿ããã¬ãŒããªããç解ããã®ã«ç¹ã«åœ¹ç«ã¡ãŸãã
from plotly.express import parallel_coordinates
# Create a parallel coordinates plot
fig = parallel_coordinates(df, columns, color="metrics.mAP50-95(B)")
# Display the plot
fig.show()
äžèšã®ã³ãŒãã¹ããããã®åºåã¯ããšããã¯ãç»åãµã€ãºãã¢ãã«ã¿ã€ããããã³ãããã«å¯Ÿå¿ããmAP50-95(B)ã¹ã³ã¢ã®é¢ä¿ãèŠèŠçã«è¡šããããããçæããå®éšããŒã¿ã®ãã¬ã³ãããã¿ãŒã³ãçºèŠããããšãå¯èœã«ããŸãã
DVCã«ããæ¯èŒããžã¥ã¢ã©ã€ãŒãŒã·ã§ã³ã®çæ
DVCã¯å®éšã®æ¯èŒãããããçæãã䟿å©ãªã³ãã³ããæäŸããŸããããã¯ãæ§ã ãªãã¬ãŒãã³ã°å®è¡ã«ãããç°ãªãã¢ãã«ã®ããã©ãŒãã³ã¹ãæ¯èŒããã®ã«ç¹ã«åœ¹ç«ã¡ãŸãã
ãã®ã³ãã³ããå®è¡ãããšãDVCã¯ç°ãªãå®éšéã®ã¡ããªã¯ã¹ãæ¯èŒãããããããçæããHTMLãã¡ã€ã«ãšããŠä¿åããŸããäžã®ç»åã¯ããã®ããã»ã¹ã«ãã£ãŠçæãããå žåçãªããããã瀺ãäŸã§ãããã®ç»åã¯ãmAPããªã³ãŒã«ã粟床ãæ倱å€ãªã©ãè¡šãæ§ã ãªã°ã©ãã瀺ããäž»èŠãªããã©ãŒãã³ã¹ã»ã¡ããªã¯ã¹ã®æŠèŠãèŠèŠçã«ç€ºããŠããŸãïŒ
DVCããããã®è¡šç€º
JupyterããŒãããã¯ã䜿çšããŠããŠãçæãããDVCããããã衚瀺ãããå Žåã¯ãIPythonã®è¡šç€ºæ©èœã䜿çšã§ããŸãã
from IPython.display import HTML
# Display the DVC plots as HTML
HTML(filename="./dvc_plots/index.html")
ãã®ã³ãŒãã¯ãDVCãããããå«ãHTMLãã¡ã€ã«ãJupyter Notebookã«çŽæ¥ã¬ã³ããªã³ã°ããå¯èŠåãããå®éšããŒã¿ãåæããç°¡åã§äŸ¿å©ãªæ¹æ³ãæäŸããŸãã
ããŒã¿ã«åºã¥ããææ決å®
ã¢ãã«ã®æé©åããã€ããŒãã©ã¡ãŒã¿ã®ãã¥ãŒãã³ã°ãããã³ã¢ãã«ã®ããã©ãŒãã³ã¹ãåäžãããããã®ãã®ä»ã®ä¿®æ£ã«ã€ããŠãååãªæ å ±ã«åºã¥ãã決å®ãäžãããã«ããããã®å¯èŠåããåŸãããæŽå¯ã䜿çšããŸãã
å®éšãç¹°ãè¿ã
åæã«åºã¥ããŠãå®éšãç¹°ãè¿ããã¢ãã«ã®æ§æããã¬ãŒãã³ã°ã»ãã©ã¡ãŒã¿ãŒããããã¯ããŒã¿å ¥åã調æŽãããã¬ãŒãã³ã°ãšåæã®ããã»ã¹ãç¹°ãè¿ããŸãããã®å埩ã¢ãããŒãããå¯èœãªéãæé«ã®ããã©ãŒãã³ã¹ãåŸãããã«ã¢ãã«ãæ¹è¯ããéµã§ããã
æŠèŠ
ãã®ã¬ã€ãã§ã¯ãDVCLive ãUltralytics'YOLO11 ãšçµ±åããããã»ã¹ã説æããŸããã詳现ãªå®éšã¢ãã¿ãªã³ã°ãå¹æçãªå¯èŠåãæ©æ¢°åŠç¿ã«ãããæŽå¯ã«æºã¡ãåæã®ããã«ãDVCLive ã®ãã¯ãŒã掻çšããæ¹æ³ãåŠã³ãŸããã
䜿ãæ¹ã®è©³çŽ°ã«ã€ããŠã¯ãDVCLiveã®å ¬åŒããã¥ã¡ã³ããã芧ãã ããã
ããã«ãUltralytics ã®çµ±åã¬ã€ãããŒãžã§ãUltralytics ã®çµ±åãšæ©èœãããã«æ¢æ±ããŠãã ããã
ããããã質å
DVCLive ãUltralytics YOLO11 ãšçµ±åããŠå®éšããã©ããã³ã°ããã«ã¯ã©ãããã°ããã§ããïŒ
DVCLive ãšUltralytics YOLO11 ã®çµ±åã¯ç°¡åã§ããå¿ èŠãªããã±ãŒãžãã€ã³ã¹ããŒã«ããããšããå§ããŸãããïŒ
次ã«ãGitãªããžããªãåæåããDVCLiveããããžã§ã¯ãã«èšå®ããïŒ
åæç°å¢èšå®
ã»ããã¢ããã®è©³çŽ°ã«ã€ããŠã¯ãYOLO11 ã€ã³ã¹ããŒã«ã¬ã€ãã«åŸã£ãŠãã ããã
YOLO11 å®éšã®ãã©ããã³ã°ã«DVCLiveã䜿ãçç±ã¯ïŒ
DVCLiveãYOLO11 ã次ã®ãããªå©ç¹ãããïŒ
- èªåãã®ã³ã°ïŒDVCLiveã¯ãã¢ãã«ãã©ã¡ãŒã¿ãã¡ããªã¯ã¹ã®ãããªäž»èŠãªå®éšã®è©³çŽ°ãèªåçã«èšé²ããŸãã
- ç°¡åãªæ¯èŒïŒç°ãªãå®è¡çµæéã®æ¯èŒã容æã
- å¯èŠåããŒã«ïŒDVCLiveã®å ç¢ãªããŒã¿å¯èŠåæ©èœã掻çšãã詳现ãªåæãè¡ããŸãã
詳现ã¯ãYOLO11 Model TrainingandYOLO Performance Metricsto maximize your experiment tracking efficiencyããåç §ãã ããã
YOLO11 ãã¬ãŒãã³ã°ã»ãã·ã§ã³ã®çµæåæãDVCLiveã¯ã©ã®ããã«æ¹åã§ããŸããïŒ
YOLO11 ãã¬ãŒãã³ã°ã»ãã·ã§ã³çµäºåŸãDVCLive ã¯çµæãå¹æçã«èŠèŠåãåæããã®ã«åœ¹ç«ã¡ãŸããå®éšããŒã¿ãããŒãããŠè¡šç€ºããããã®ã³ãŒãäŸïŒ
import dvc.api
import pandas as pd
# Define columns of interest
columns = ["Experiment", "epochs", "imgsz", "model", "metrics.mAP50-95(B)"]
# Retrieve experiment data
df = pd.DataFrame(dvc.api.exp_show(), columns=columns)
# Clean data
df.dropna(inplace=True)
df.reset_index(drop=True, inplace=True)
# Display DataFrame
print(df)
çµæãã€ã³ã¿ã©ã¯ãã£ãã«èŠèŠåããã«ã¯ãPlotlyã®å¹³è¡åº§æšããããã䜿çšããŸãïŒ
from plotly.express import parallel_coordinates
fig = parallel_coordinates(df, columns, color="metrics.mAP50-95(B)")
fig.show()
ããå€ãã®äŸãšãã¹ããã©ã¯ãã£ã¹ã«ã€ããŠã¯ãYOLO11 DVCLiveã䜿çšãããã¬ãŒãã³ã°ã«é¢ããã¬ã€ããåç §ããŠãã ããã
DVCLiveãšYOLO11 ã®çµ±åã®ããã«ç§ã®ç°å¢ãæ§æããæé ã¯äœã§ããïŒ
DVCLiveãšYOLO11 ãã¹ã ãŒãºã«çµ±åããããã«ç°å¢ãèšå®ããã«ã¯ã以äžã®æé ã«åŸã£ãŠãã ããïŒ
- å¿
èŠãªããã±ãŒãžã®ã€ã³ã¹ããŒã«:çšé
pip install ultralytics dvclive
. - Gitãªããžããªã®åæå:èµ°ã
git init -q
. - DVCLiveã®ã»ããã¢ãã:å®è¡
dvc init -q
. - Gitã«ã³ããããã:çšé
git commit -m "DVC init"
.
ãããã®æé ã«ãããé©åãªããŒãžã§ã³ç®¡çãšå®éšè¿œè·¡ã®ã»ããã¢ããã確å®ã«ãªããŸããèšå®ã®è©³çŽ°ã«ã€ããŠã¯ãèšå®ã¬ã€ããã芧ãã ããã
DVCLive ã䜿ã£ãŠYOLO11 ã®å®éšçµæãå¯èŠåããã«ã¯ïŒ
DVCLiveã¯ãYOLO11 ã®å®éšçµæãèŠèŠåããããã®åŒ·åãªããŒã«ãæäŸããŸããããã§ã¯ãæ¯èŒãããããäœæããæ¹æ³ã説æããŸãïŒ
ãããã®ãããããJupyter Notebookã«è¡šç€ºããã«ã¯ã次ã®ããã«ããïŒ
ãããã®å¯èŠåã¯ããã¬ã³ãã®ç¹å®ãšã¢ãã«æ§èœã®æé©åã«åœ¹ç«ã¡ãŸããå æ¬çãªæé ãšäŸã«ã€ããŠã¯ãYOLO11 å®éšåæã«é¢ãã詳现ãªã¬ã€ããã芧ãã ããã