Skip to content

IsaacTips/DNA_Drone

Repository files navigation

{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "efa7d6dd-901a-418f-af4a-7c9644dbb850",
   "metadata": {},
   "source": [
    "```\n",
    "※데이터는 반드시 datasets_ro, datasets_rw, src 하위에 저장해야 jupyter|ssh 환경 재시작시 사라지지 않습니다.\n",
    "※해당 설명은 cp -r $HOME/datasets_ro/challenge-code  $HOME/src/challenge-code 으로 세팅한 후 환경으로 진행하였습니다.\n",
    "```\n",
    "\n",
    "데이터셋 구조\n",
    "- datasets_ro (원본 제공용)\n",
    "    - challenge-dataset\n",
    "        - train\n",
    "            - images\n",
    "            - labels\n",
    "        - val\n",
    "            - images\n",
    "            - labels\n",
    "        - public\n",
    "            - images\n",
    "        - private (공개x)\n",
    "- datasets_rw \n",
    "    - challenge-dataset\n",
    "        - train\n",
    "            - images\n",
    "            - labels\n",
    "        - val\n",
    "            - images\n",
    "            - labels\n",
    "        - public\n",
    "            - images\n",
    "        - private (공개x)\n",
    "\n",
    "\n",
    "데이터셋 설명\n",
    "- 데이터셋 변경 및 삭제를 방지하기 위해 datasets_ro(read-only)에 원본이 있으며 활용 가능한 데이터셋은 datasets_rw(read-write) 폴더에 업로드 되어 있습니다\n",
    "- 혹시나 데이터셋이 삭제, 유실 되었을 경우 datasets_ro에 있는 데이터를 복사하여 사용할 수 있습니다.\n",
    "- 데이터셋을 본인의 src 폴더 혹은 datasets_rw/[사용자 지정 폴더이름(영문권장)]에 복사하여 변형하여 사용하는것은 허용합니다.\n",
    "- train, val 데이터셋은 사용자 학습 시 사용합니다. image와 label 모두 사용자에게 제공됩니다.\n",
    "- public 데이터셋은 이미지만 제공되며 사용자 모델 학습 후 리더보드 제출을 위해 추론할 때 사용됩니다.\n",
    "- private 데이터셋은 실제로 제공되지 않으며 대회 종료 후 채점용으로 사용됩니다.\n",
    "\n",
    "\n",
    "데이터셋 경로 설정\n",
    "- 데이터셋 경로는 data/DNA.yaml 파일의 train과 val 경로를 수정하여 사용합니다.\n",
    "```\n",
    "ex) \n",
    "      - 상대경로\n",
    "      train: ../datasets_rw/challenge-dataset/train/images\n",
    "      val: ../datasets_rw/challenge-dataset/val/images\n",
    "```\n",
    "```\n",
    "      - 절대경로\n",
    "      train: $HOME/datasets_rw/challenge-dataset/train/images\n",
    "      val: $HOME/datasets_rw/challenge-dataset/val/images\n",
    "```\n",
    "\n",
    "학습 코드 실행 예시\n",
    "- py 파일 이용\n",
    "    - python3 train.py --img-size 1280 --batch-size 8 --epochs 100 --data data/DNA.yaml\n",
    "    - 예시에서 다루지않은 하이퍼 파라미터의 변경 또한 허용 합니다.\n",
    "    - 학습 결과는 별다른 명시가 없을 경우 기본적으로 runt/train 폴더 하위에 exp, exp1, exp2와 같은 형태로 저장됩니다.\n",
    "    - 학습 결과 폴더명을 변경하고 싶은 경우 학습 명령어에 --name test와 같이 추가하여 설정할 수 있습니다. (runs/train/test에 학습 결과 저장)\n",
    "- ipynb 파일 이용 (jupyter)\n",
    "    - train.ipynb 파일을 jupyter lab으로 실행할 수 있습니다.\n",
    "    - train.ipynb 파일 사용 시 459번째 라인부터 시작되는 하이퍼 파라미터를 변경할 수 있습니다.\n",
    "\n",
    "\n",
    "추론결과 생성 예시\n",
    "- 학습 결과로 생성된 weight 파일을 이용해 public 데이터셋에 대한 추론 결과를 생성합니다.\n",
    "- public 데이터셋 경로 : $HOME/datasets_ro/challenge-dataset/public\n",
    "\n",
    "- py 파일 이용\n",
    "    - python3 answer_sheet_creator.py --weights 'path to weight file'\n",
    "```\n",
    "      ex) python3 answer_sheet_creator.py --weights runs/train/exp/weights/best.pt\n",
    "```\n",
    "- ipynb 파일 이용 (jupyter)\n",
    "    - answer_sheet_creator.ipynb 파일을 jupyter lab으로 실행할 수 있습니다.\n",
    "    - answer_sheet_creator.ipynb 파일 사용 시 \n",
    "      - 188번째 라인의 weights 경로를 변경하여 사용자가 학습하여 생성한 체크포인트(pt)를 기반으로 실행 할 수 있습니다. (default: 'runs/train/exp/weights/best.pt')\n",
    "\n",
    "- 사용자가 직접 생성하는 경우\n",
    "    - csv 생성 코드는 반드시 이미지 경로를 파라미터로 처리 할 수 있도록(ex argparser) 하여 만들어야 합니다.\n",
    "    - prediction.csv 파일 구조\n",
    "        - image_name, xmin, ymin, xmax, ymax, confidence_score\n",
    "        \n",
    "- 생성된 prediction.csv 확장명을 제외한 파일명을 변경하는것은 허용됩니다.\n",
    "  ex) train_result1.csv\n",
    "\n",
    "\n",
    "추론 결과 제출\n",
    "- 생성된 prediction.csv 파일을 리더보드에 제출합니다.\n",
    "- 제출 전 본인의 AP@0.5를 확인 할 수 있으며 점수가 원하는 수준이 아닐 시 제출하지 않을 수 있습니다.\n",
    "- 제출 가능 횟수는 하루 세번으로 제한합니다. \n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published