ã¯ã€ãã¯ã¹ã¿ãŒã
ã€ã³ã¹ããŒã«Ultralytics
Ultralytics ã¯pipãcondaãDockerãå«ãæ§ã
ãªã€ã³ã¹ããŒã«æ¹æ³ãæäŸããŠãããYOLO ã ultralytics
ææ°ã®å®å®çãªãªãŒã¹ã® pip ããã±ãŒãžããŸã㯠Ultralytics GitHubãªããžã㪠ã§ææ°çãå
¥æã§ãããDockerã䜿çšãããšãéé¢ãããã³ã³ããå
ã§ããã±ãŒãžãå®è¡ã§ãããããããŒã«ã«ã§ã®ã€ã³ã¹ããŒã«ãåé¿ã§ããã
èŠããã ïŒ Ultralytics YOLO ã¯ã€ãã¯ã¹ã¿ãŒãã¬ã€ã
ã€ã³ã¹ããŒã«
ãã€ã³ã¹ããŒã«ããŸãã ultralytics
ããã±ãŒãžã®æŽæ°ãè¡ãã pip install -U ultralytics
.ã®è©³çŽ°ã«ã€ããŠã¯Python Package Index (PyPI) ãåç
§ããŠãã ããã ultralytics
ããã±ãŒãžã§æäŸãããïŒ https://pypi.org/project/ultralytics/.
ãã€ã³ã¹ããŒã«ããããšãã§ããŸãã ultralytics
ããã±ãŒãžãçŽæ¥GitHub ãªããžããª.ããã¯ãææ°ã®éçºçã欲ããå Žåã«äŸ¿å©ãããããªããGitã³ãã³ãã©ã€ã³ããŒã«ãã·ã¹ãã ã«ã€ã³ã¹ããŒã«ãããŠããããšã確èªããŠãã ãããGitã® @main
ã³ãã³ã㯠main
ãã©ã³ãã«å€æŽãããå¥ã®ãã©ã³ãã«å€æŽãããããšãããã @my-branch
ãŸãã¯ãå®å
šã«åé€ããŠããã©ã«ãã«ãã main
ãã©ã³ãã ã
Condaã¯pipã«ä»£ããããã±ãŒãžãããŒãžã£ãŒã§ãã€ã³ã¹ããŒã«ã«äœ¿çšããããšãã§ããŸãã詳现ã¯Anacondaãã芧ãã ããhttps://anaconda.org/conda-forge/ultralytics.Ultralytics condaããã±ãŒãžãæŽæ°ããããã®feedstockãªããžããªã¯https://github.com/conda-forge/ultralytics-feedstock/ã«ãããŸãã
泚
CUDA ç°å¢ã«ã€ã³ã¹ããŒã«ããå Žåããã¹ããã©ã¯ãã£ã¹ã¯æ¬¡ã®ããã«ã€ã³ã¹ããŒã«ããããšã§ãã ultralytics
, pytorch
ãã㊠pytorch-cuda
ãåãã³ãã³ãã§å®è¡ããããšã§ãcondaããã±ãŒãžãããŒãžã£ã«ç«¶åã解決ãããããšãã§ããŸãã pytorch-cuda
CPUããªãŒããŒã©ã€ãããã pytorch
ããã±ãŒãžãå¿
èŠã§ããã
Conda Dockerã€ã¡ãŒãž
Ultralytics Conda Dockerã€ã¡ãŒãžã¯ä»¥äžãããå
¥æå¯èœã§ãã ããã«ãŒãã.ãããã®ç»å㯠ããã³ã³ã3 ã䜿ãå§ããç°¡åãªæ¹æ³ã§ããã ultralytics
Condaç°å¢ã§ã
# Set image name as a variable
t=ultralytics/ultralytics:latest-conda
# Pull the latest ultralytics image from Docker Hub
sudo docker pull $t
# Run the ultralytics image in a container with GPU support
sudo docker run -it --ipc=host --gpus all $t # all GPUs
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t # specify GPUs
ãã¯ããŒã³ããã ultralytics
ããããªããéçºã«è²¢ç®ããããšã«èå³ããã£ãããææ°ã®ãœãŒã¹ã³ãŒãã§å®éšãããã®ã§ããã°ããªããžããªã«ã¢ã¯ã»ã¹ããŠãã ãããã¯ããŒã³ããåŸããã£ã¬ã¯ããªã«ç§»åããç·šéå¯èœã¢ãŒãã§ããã±ãŒãžãã€ã³ã¹ããŒã«ããŠãã ããã -e
pipã䜿ã£ãŠã
Dockerã掻çšããããšã§ãç°¡åã«å®è¡ã§ããã ultralytics
ããã±ãŒãžãéé¢ãããã³ã³ããå
ã«æ ŒçŽããããšã§ãããŸããŸãªç°å¢ã«ãããŠäžè²«ããã¹ã ãŒãºãªããã©ãŒãã³ã¹ãä¿èšŒããŸããå
¬åŒã® ultralytics
ããã®ç»å ããã«ãŒã»ããUltralytics ããµããŒããããŠããDockerã€ã¡ãŒãžã¯äž»ã«5çš®é¡ãããããããç°ãªããã©ãããã©ãŒã ããŠãŒã¹ã±ãŒã¹ã«å¯ŸããŠé«ãäºææ§ãšå¹çæ§ãæäŸããããã«èšèšãããŠããŸãïŒ
- Dockerfile: GPU ãã¬ãŒãã³ã°çšã«æšå¥šãããã€ã¡ãŒãžã
- Dockerfile-arm64ïŒARM64 ã¢ãŒããã¯ãã£çšã«æé©åãããŠãããRaspberry Pi ãªã©ã® ARM64 ããŒã¹ã®ãã©ãããã©ãŒã ãžã®ãããã€ãå¯èœã§ãã
- Dockerfile-cpu ïŒUbuntuããŒã¹ã®CPU-GPUã®ãªãæšè«ãç°å¢ã«é©ããããŒãžã§ã³ã
- Dockerfile-jetsonïŒ NVIDIA Jetson ããã€ã¹çšã«èª¿æŽããããããã®ãã©ãããã©ãŒã ã«æé©åãããGPU ãµããŒããçµ±åããŠããŸãã
- Dockerfile-python ïŒ Python ãšå¿ èŠãªäŸåé¢ä¿ã ãã®æå°éã®ã€ã¡ãŒãžã§ã軜éãªã¢ããªã±ãŒã·ã§ã³ãéçºã«æé©ã§ãã
- Dockerfile-conda:Miniconda3ãããŒã¹ã«condaãã€ã³ã¹ããŒã«ããultralytics ã
以äžã¯ãææ°ã®ã€ã¡ãŒãžãå ¥æããŠå®è¡ããããã®ã³ãã³ãã§ããïŒ
# Set image name as a variable
t=ultralytics/ultralytics:latest
# Pull the latest ultralytics image from Docker Hub
sudo docker pull $t
# Run the ultralytics image in a container with GPU support
sudo docker run -it --ipc=host --gpus all $t # all GPUs
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t # specify GPUs
äžèšã®ã³ãã³ãã¯ãDockerã³ã³ãããææ°ã® ultralytics
ã€ã¡ãŒãžãã® -it
ãã©ã°ã¯æ¬äŒŒTTYãå²ãåœãŠãstdinããªãŒãã³ã«ããŠããããŸã --ipc=host
ãã©ã°ã¯ãIPCïŒããã»ã¹ééä¿¡ïŒåå空éããã¹ãã«èšå®ãããããã¯ãããã»ã¹éã§ã¡ã¢ãªãŒãå
±æããããã«äžå¯æ¬ ã§ãããããã¯ããã»ã¹éã§ã¡ã¢ãªãŒãå
±æããããã«äžå¯æ¬ ã§ããã --gpus all
ãã©ã°ã䜿ãããšã§ãã³ã³ããå
ã§å©çšå¯èœãªãã¹ãŠã®GPUã«ã¢ã¯ã»ã¹ã§ããããã«ãªããŸããããã¯ãGPU ã®èšç®ãå¿
èŠãšããã¿ã¹ã¯ã«ãšã£ãŠéåžžã«éèŠã§ãã
泚ïŒã³ã³ããå ã§ããŒã«ã«ãã·ã³ã®ãã¡ã€ã«ãæäœããã«ã¯ãDockerããªã¥ãŒã ã䜿çšããŠããŒã«ã«ãã£ã¬ã¯ããªãã³ã³ããã«ããŠã³ãããïŒ
# Mount local directory to a directory inside the container
sudo docker run -it --ipc=host --gpus all -v /path/on/host:/path/in/container $t
ã¢ã«ã¿ãŒ /path/on/host
ãããŒã«ã«ãã·ã³ã®ãã£ã¬ã¯ããªãã¹ã§æå®ã /path/in/container
ãDockerã³ã³ããå
ã®åžæã®ãã¹ã§ã¢ã¯ã»ã¹ã§ããããã«ããã
é«åºŠãªDockerã®äœ¿ãæ¹ã«ã€ããŠã¯ãUltralytics DockerGuideãã芧ãã ããã
åç
§ ultralytics
pyproject.toml ãã¡ã€ã«ãåç
§ã®ããšãäžèšã®ãã¹ãŠã®äŸã¯ãå¿
èŠãªäŸåé¢ä¿ããã¹ãŠã€ã³ã¹ããŒã«ããããšã«æ³šæããŠãã ããã
ããã
PyTorchèŠä»¶ã¯ãªãã¬ãŒãã£ã³ã°ã»ã·ã¹ãã ãCUDA èŠä»¶ã«ãã£ãŠç°ãªããããhttps://pytorch.org/get-started/locally ã®æ瀺ã«åŸã£ãŠãPyTorch ãæåã«ã€ã³ã¹ããŒã«ããããšããå§ãããŸãã
Ultralytics ãCLI
Ultralytics ã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹(CLI)ã¯ãPython ç°å¢ãå¿
èŠãšãããã·ã³ãã«ãªã·ã³ã°ã«ã©ã€ã³ã³ãã³ããå¯èœã«ãããCLI ã«ã¹ã¿ãã€ãºãPython ã³ãŒãã¯å¿
èŠãªããåçŽã«ã¿ãŒããã«ãã yolo
ã³ãã³ãããã§ãã¯ããŠãã ããã CLI ã¬ã€ã ã³ãã³ãã©ã€ã³ããYOLO ã
äŸ
Ultralytics yolo
ã³ãã³ãã¯ä»¥äžã®æ§æã䜿ãïŒ
TASK
(ãªãã·ã§ã³) 㯠(èŠã€ãã, ã»ã°ã¡ã³ã, åé¡ãã, ããŒãº, ãªãã)MODE
(å¿ é ) 㯠(é»è», å€, äºæž¬, 茞åº, ãã©ãã¯, ãã³ãããŒã¯)ARGS
(ãªãã·ã§ã³ïŒã¯arg=value
ã®ãããªãã¢ãimgsz=640
ããã©ã«ããäžæžãããã
ãã¹ãŠèŠã ARGS
å®å
šãª èšå®ã¬ã€ã ãŸã㯠yolo cfg
CLI ã³ãã³ãã䜿çšããã
æ€åºã¢ãã«ãåæåŠç¿ç0.01ã§10ãšããã¯åŠç¿ãããã
äºåã«åŠç¿ãããã»ã°ã¡ã³ããŒã·ã§ã³ã¢ãã«ã䜿ã£ãŠãç»åãµã€ãº320ã®YouTubeåç»ãäºæž¬ããïŒ
ããããµã€ãº1ãç»åãµã€ãº640ã§äºååŠç¿ãããæ€åºã¢ãã«ïŒ
yolo11n åé¡ã¢ãã«ããç»åãµã€ãº 224 x 128 ã§ONNX ãã©ãŒãããã«ãšã¯ã¹ããŒãããŸãïŒTASK ã¯å¿ èŠãããŸããïŒã
èŠå
åŒæ°ã¯ arg=val
ãã¢ãã€ã³ãŒã«ã§åå² =
èšå·ã䜿çšãããã¢ã®éã¯ã¹ããŒã¹ã§åºåããã䜿çšããªãã§ãã ããã --
åŒæ°ã®æ¥é èŸãŸãã¯ã³ã³ã ,
åŒæ°éã®
yolo predict model=yolo11n.pt imgsz=640 conf=0.25
âyolo predict model yolo11n.pt imgsz 640 conf 0.25
â ïŒè¡æ¹äžæ=
)yolo predict model=yolo11n.pt, imgsz=640, conf=0.25
â ïŒäœ¿ããªãããš,
)yolo predict --model yolo11n.pt --imgsz 640 --conf 0.25
â ïŒäœ¿ããªãããš--
)
Ultralytics ãPython
YOLOã®Python ã€ã³ã¿ãã§ãŒã¹ã¯ãPython ãããžã§ã¯ããžã®ã·ãŒã ã¬ã¹ãªçµ±åãå¯èœã«ããã¢ãã«ã®åºåã®ããŒããå®è¡ãåŠçã容æã«ããŸããã·ã³ãã«ããšäœ¿ããããã念é ã«èšèšãããPython ã€ã³ã¿ãŒãã§ã€ã¹ã«ããããŠãŒã¶ãŒã¯ãªããžã§ã¯ãæ€åºãã»ã°ã¡ã³ããŒã·ã§ã³ãåé¡ããããžã§ã¯ãã«ãã°ããå®è£ ã§ããŸãããã®ãããYOLO ã®Python ã€ã³ã¿ãŒãã§ãŒã¹ã¯ããããã®æ©èœãPython ãããžã§ã¯ãã«åãå ¥ããããšèããŠãã人ã«ãšã£ãŠãéåžžã«è²ŽéãªããŒã«ãšãªã£ãŠããŸãã
äŸãã°ããããæ°è¡ã®ã³ãŒãã§ãã¢ãã«ãããŒããããã¬ãŒãã³ã°ããæ€èšŒã»ããã§ãã®ããã©ãŒãã³ã¹ãè©äŸ¡ããONNX ãã©ãŒãããã«ãšã¯ã¹ããŒãããããšãã§ãããPython ãããžã§ã¯ãå ã§ã®YOLO ã®äœ¿çšã«ã€ããŠã¯ãPython ã¬ã€ããã芧ãã ããã
äŸ
from ultralytics import YOLO
# Create a new YOLO model from scratch
model = YOLO("yolo11n.yaml")
# Load a pretrained YOLO model (recommended for training)
model = YOLO("yolo11n.pt")
# Train the model using the 'coco8.yaml' dataset for 3 epochs
results = model.train(data="coco8.yaml", epochs=3)
# Evaluate the model's performance on the validation set
results = model.val()
# Perform object detection on an image using the model
results = model("https://ultralytics.com/images/bus.jpg")
# Export the model to ONNX format
success = model.export(format="onnx")
Ultralytics èšå®
Ultralytics ã©ã€ãã©ãªã¯ãå®éšã®ãã现ããªå¶åŸ¡ãå¯èœã«ãã匷åãªèšå®ç®¡çã·ã¹ãã ãæäŸããããã®ã·ã¹ãã 㯠SettingsManager
ã«å容ãããŠããã ultralytics.utils
ã¢ãžã¥ãŒã«ã䜿çšãããšããŠãŒã¶ãŒã¯ç°¡åã«èªåã®èšå®ã«ã¢ã¯ã»ã¹ããå€æŽããããšãã§ããŸãããããã®èšå®ã¯ãç°å¢ãŠãŒã¶ãŒèšå®ãã£ã¬ã¯ããªã®JSONãã¡ã€ã«ã«ä¿åãããPython ç°å¢å
ã§çŽæ¥ããŸãã¯ã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹(CLI)ãä»ããŠè¡šç€ºãŸãã¯å€æŽããããšãã§ããŸãã
èšå®ã®æ€æ»
çŸåšã®èšå®ãææ¡ããããã«ãèšå®ãçŽæ¥èŠãããšãã§ããŸãïŒ
èšå®ãèŠã
Python ã䜿ã£ãŠèšå®ãèŠãããšãã§ããŸãããŸã settings
ãªããžã§ã¯ããã ultralytics
ã¢ãžã¥ãŒã«ã䜿çšããŸãã以äžã®ã³ãã³ãã䜿çšããŠèšå®ãå°å·ããæ»ãïŒ
èšå®ã®å€æŽ
Ultralytics ã䜿çšãããšããŠãŒã¶ãŒã¯ç°¡åã«èšå®ãå€æŽã§ããŸããå€æŽã¯ä»¥äžã®æ¹æ³ã§è¡ãããšãã§ããïŒ
èšå®ã®æŽæ°
Python ã update
ã¡ãœããã settings
ãªããžã§ã¯ãã®èšå®ãå€æŽããŸãïŒ
ã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšãããå Žåã¯ã以äžã®ã³ãã³ãã§èšå®ãå€æŽã§ããŸãïŒ
èšå®ãç解ãã
以äžã®è¡šã¯ãUltralytics å ã§èª¿æŽå¯èœãªèšå®ã®æŠèŠã§ããåèšå®ã¯ãå€ã®äŸãããŒã¿ã¿ã€ããç°¡åãªèª¬æãšãšãã«æŠèª¬ãããŠããŸãã
å称 | å€ã®äŸ | ããŒã¿ã¿ã€ã | 説æ |
---|---|---|---|
settings_version |
'0.0.4' |
str |
Ultralytics èšå®ããŒãžã§ã³ (Ultralytics pipããŒãžã§ã³ãšã¯ç°ãªããŸã) |
datasets_dir |
'/path/to/datasets' |
str |
ããŒã¿ã»ãããä¿åãããŠãããã£ã¬ã¯ã㪠|
weights_dir |
'/path/to/weights' |
str |
ã¢ãã«ã®éã¿ãæ ŒçŽãããŠãããã£ã¬ã¯ã㪠|
runs_dir |
'/path/to/runs' |
str |
å®éšã®å®è¡ãä¿åãããŠãããã£ã¬ã¯ã㪠|
uuid |
'a1b2c3d4' |
str |
çŸåšã®èšå®ã®äžæãªèå¥å |
sync |
True |
bool |
ã¢ããªãã£ã¯ã¹ãšã¯ã©ãã·ã¥ãHUBã«åæããããã©ãã |
api_key |
'' |
str |
Ultralytics HUBAPIã㌠|
clearml |
True |
bool |
ã䜿çšãããã©ãã ClearMLãã®ã³ã° |
comet |
True |
bool |
å®éšã®è¿œè·¡ãšå¯èŠåã«Comet MLã䜿ããã©ãã |
dvc |
True |
bool |
å®éšè¿œè·¡ãšããŒãžã§ã³ç®¡çã«DVCã䜿ããã©ãã |
hub |
True |
bool |
Ultralytics HUBã€ã³ãã°ã¬ãŒã·ã§ã³ã䜿çšãããã©ãã |
mlflow |
True |
bool |
å®éšã®ãã©ããã³ã°ã«MLFlowã䜿ããã©ãã |
neptune |
True |
bool |
å®éšè¿œè·¡ã« Neptuneã䜿ããã©ãã |
raytune |
True |
bool |
ãã€ããŒãã©ã¡ãŒã¿ã®ãã¥ãŒãã³ã°ã« Ray Tuneã䜿ããã©ãã |
tensorboard |
True |
bool |
å¯èŠåã«TensorBoardã䜿ããã©ãã |
wandb |
True |
bool |
ã䜿çšãããã©ãã Weights & Biasesãã®ã³ã° |
vscode_msg |
True |
bool |
VS Code 端æ«ãæ€åºããããšãUltralytics-Snippets æ¡åŒµãããŠã³ããŒãããããã³ããã衚瀺ãããŸãã |
ãããžã§ã¯ããå®éšãé²ããäžã§ããããã®èšå®ãããªãã®ããŒãºã«åãããŠæé©ã«æ§æãããŠããããšã確èªããããã«ãå¿ ããããã®èšå®ãå確èªããŠãã ããã
ããããã質å
pip ã䜿ã£ãŠUltralytics ãã€ã³ã¹ããŒã«ããã«ã¯ïŒ
Ultralytics ãpipã§ã€ã³ã¹ããŒã«ããã«ã¯ã以äžã®ã³ãã³ããå®è¡ããïŒ
ææ°ã®å®å®çãªãªãŒã¹ã§ã¯ ultralytics
ããã±ãŒãžãPython Package Index (PyPI) ããçŽæ¥å
¥æããŠãã ããã詳现㯠ultralytics ããã±ãŒãž.
ãããã¯ãGitHubããææ°ã®éçºçãçŽæ¥ã€ã³ã¹ããŒã«ããããšãã§ããïŒ
ã·ã¹ãã ã«Gitã³ãã³ãã©ã€ã³ããŒã«ãã€ã³ã¹ããŒã«ãããŠããããšã確èªããŠãã ããã
conda ã䜿ã£ãŠUltralytics YOLO ãã€ã³ã¹ããŒã«ã§ããŸããïŒ
ã¯ããcondaã䜿ã£ãŠUltralytics YOLO ãã€ã³ã¹ããŒã«ããããšãã§ããŸãïŒ
ãã®æ¹æ³ã¯pipã«ä»£ããåªããæ¹æ³ã§ãããããªãã®ç°å¢ã®ä»ã®ããã±ãŒãžãšã®äºææ§ãä¿èšŒããŸããCUDA ã ultralytics
, pytorch
ãã㊠pytorch-cuda
åæã«ãããããã³ã³ããªã¯ãã解決ããïŒ
詳ãã説æã¯ã³ã³ãã®ã¯ã€ãã¯ã¹ã¿ãŒãã¬ã€ããã芧äžããã
Ultralytics YOLO ãå®è¡ããããã«Dockerã䜿çšããå©ç¹ã¯äœã§ããïŒ
Ultralytics YOLO ã®å®è¡ã«Dockerã䜿çšããããšã§ãåé¢ãããäžè²«æ§ã®ããç°å¢ãæäŸãããç°ãªãã·ã¹ãã éã§ã¹ã ãŒãºãªããã©ãŒãã³ã¹ãä¿èšŒãããŸãããŸããããŒã«ã«ã€ã³ã¹ããŒã«ã®è€éãã解æ¶ãããŸããUltralytics ã®å ¬åŒDockerã€ã¡ãŒãžã¯Docker Hubã§å ¥æå¯èœã§ãGPU ãCPU ãARM64ãNVIDIA JetsonãCondaç°å¢çšã«èª¿æŽãããããŸããŸãªããªãšãŒã·ã§ã³ãããã以äžã¯ãææ°ã®ã€ã¡ãŒãžããã«ããŠå®è¡ããããã®ã³ãã³ãã§ãïŒ
# Pull the latest ultralytics image from Docker Hub
sudo docker pull ultralytics/ultralytics:latest
# Run the ultralytics image in a container with GPU support
sudo docker run -it --ipc=host --gpus all ultralytics/ultralytics:latest
ãã詳ããDockerã®èª¬æã¯ãDockerã¯ã€ãã¯ã¹ã¿ãŒãã¬ã€ããã芧ãã ããã
éçºçšã«Ultralytics ãªããžããªãã¯ããŒã³ããã«ã¯ïŒ
Ultralytics ãªããžããªãã¯ããŒã³ããéçºç°å¢ãã»ããã¢ããããã«ã¯ã以äžã®æé ã䜿çšããïŒ
# Clone the ultralytics repository
git clone https://github.com/ultralytics/ultralytics
# Navigate to the cloned directory
cd ultralytics
# Install the package in editable mode for development
pip install -e .
ãã®æ¹æ³ã«ãã£ãŠããããžã§ã¯ãã«è²¢ç®ããããææ°ã®ãœãŒã¹ã³ãŒãã§å®éšãããããããšãã§ããã詳现ã«ã€ããŠã¯ãUltralytics GitHubãªããžããªãã芧ãã ããã
ãªãUltralytics YOLO CLI ã䜿ãã¹ããªã®ãïŒ
Ultralytics YOLO ã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹(CLI)ã¯ãPython ã³ãŒããå¿
èŠãšããããªããžã§ã¯ãæ€åºã¿ã¹ã¯ã®å®è¡ãç°¡çŽ åããŸããã¿ãŒããã«ããçŽæ¥ããã¬ãŒãã³ã°ãæ€èšŒãäºæž¬ãªã©ã®ã¿ã¹ã¯ã®ããã®åäžè¡ã³ãã³ããå®è¡ããããšãã§ããŸããåºæ¬çãªæ§æ㯠yolo
ã³ãã³ãã¯ããã ïŒ
äŸãã°ãæå®ãããã©ã¡ãŒã¿ã§æ€åºã¢ãã«ãèšç·ŽããïŒ
ããå€ãã®ã³ãã³ãã䜿çšäŸã調ã¹ãã«ã¯ãCLI ã¬ã€ããã芧ãã ããã