Skip to content

Commit

Permalink
update UI + latest yolov5 sources (#15)
Browse files Browse the repository at this point in the history
* merge latest version done, not tested

* split tabs with radio buttons

* models table -wip

* models table -wip

* start split html template to parts

* ui refactoring

* compile-template wip - paths confusion

* compile wip

* train/val splits

* keep/ignore unlabeled images

* models table

* training hyperparameters

* UI templates - done

* unlabeled count in UI

* add adam optimizer

* convert_project to detection - works

* start train/val splits

* splits wip

* splits done, only simple tests

* splits validation

* data preprocessing - not tested

* download weights - wip

* init_script_arguments - not tested

* init_script_arguments - not tested

* prepare weights - wip

* not tested

* add metrics period

* set output

* artifacts dirs

* train_batches_uploaded flag

* pre-release for debug

* update config
  • Loading branch information
mkolomeychenko committed May 7, 2021
1 parent b37531b commit cb425b0
Show file tree
Hide file tree
Showing 27 changed files with 989 additions and 704 deletions.
12 changes: 4 additions & 8 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# pip install -r requirements.txt
supervisely==6.1.52
supervisely==6.1.74

# base ----------------------------------------
#matplotlib>=3.2.2
Expand All @@ -8,21 +8,17 @@ supervisely==6.1.52
#Pillow
PyYAML>=5.3.1
#scipy>=1.4.1
torch>=1.7.0
torchvision>=0.8.1
#torch>=1.7.0
#torchvision>=0.8.1
tqdm>=4.41.0

# logging -------------------------------------
tensorboard>=2.4.1
# wandb

# logging -------------------------------------
tensorboard>=2.4.1
# wandb

# plotting ------------------------------------
seaborn==0.11.1
pandas
#pandas

# export --------------------------------------
# coremltools>=4.1
Expand Down
2 changes: 1 addition & 1 deletion supervisely/train/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,5 @@
"context_root": "Neural Networks",
"context_category": "YOLO v5"
},
"instance_version": "6.3.2"
"instance_version": "6.4.14"
}
11 changes: 5 additions & 6 deletions supervisely/train/debug.env
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,13 @@ PYTHONUNBUFFERED=1

DEBUG_APP_DIR="/app_debug_data"
DEBUG_CACHE_DIR="/app_cache"
LOG_LEVEL="debug"

TASK_ID=2391
TASK_ID=4326

context.teamId=7
context.workspaceId=263
#modal.state.slyProjectId=1843 # coco-128
modal.state.slyProjectId=1805 # lemons-annotated
#modal.state.slyFile="put your value here"
context.teamId=229
context.workspaceId=287
modal.state.slyProjectId=2128 # lemons-annotated

SERVER_ADDRESS="put your value here"
API_TOKEN="put your value here"
Expand Down
355 changes: 39 additions & 316 deletions supervisely/train/src/gui.html

Large diffs are not rendered by default.

153 changes: 0 additions & 153 deletions supervisely/train/src/sly_init_ui.py

This file was deleted.

45 changes: 23 additions & 22 deletions supervisely/train/src/sly_metrics.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import supervisely_lib as sly
import sly_train_globals as globals
import supervisely.train.src.sly_train_globals as globals


def init_chart(title, names, xs, ys, smoothing=None):
Expand All @@ -24,19 +24,19 @@ def init_chart(title, names, xs, ys, smoothing=None):
def init(data, state):
demo_x = [[], []] #[[1, 2, 3, 4], [2, 4, 6, 8]]
demo_y = [[], []] #[[10, 15, 13, 17], [16, 5, 11, 9]]
data["mBox"] = init_chart("Box Loss",
names=["train", "val"],
xs=demo_x,
ys=demo_y,
smoothing=0.6)
data["mGIoU"] = init_chart("GIoU",
names=["train", "val"],
xs=demo_x,
ys=demo_y,
smoothing=0.6)

data["mObjectness"] = init_chart("Obj Loss",
data["mObjectness"] = init_chart("Objectness",
names=["train", "val"],
xs=demo_x,
ys=demo_y,
smoothing=0.6)

data["mClassification"] = init_chart("Cls Loss",
data["mClassification"] = init_chart("Classification",
names=["train", "val"],
xs=demo_x,
ys=demo_y,
Expand All @@ -54,23 +54,24 @@ def init(data, state):
state["smoothing"] = 0.6


def send_metrics(epoch, epochs, metrics):
def send_metrics(epoch, epochs, metrics, log_period=1):
sly.logger.debug(f"Metrics: epoch {epoch} / {epochs}", extra={"metrics": metrics})

fields = [
{"field": "data.mBox.series[0].data", "payload": [[epoch, metrics["train/box_loss"]]], "append": True},
{"field": "data.mBox.series[1].data", "payload": [[epoch, metrics["val/box_loss"]]], "append": True},
if epoch % log_period == 0 or epoch == epochs:
fields = [
{"field": "data.mGIoU.series[0].data", "payload": [[epoch, metrics["train/box_loss"]]], "append": True},
{"field": "data.mGIoU.series[1].data", "payload": [[epoch, metrics["val/box_loss"]]], "append": True},

{"field": "data.mObjectness.series[0].data", "payload": [[epoch, metrics["train/obj_loss"]]], "append": True},
{"field": "data.mObjectness.series[1].data", "payload": [[epoch, metrics["val/obj_loss"]]], "append": True},
{"field": "data.mObjectness.series[0].data", "payload": [[epoch, metrics["train/obj_loss"]]], "append": True},
{"field": "data.mObjectness.series[1].data", "payload": [[epoch, metrics["val/obj_loss"]]], "append": True},

{"field": "data.mClassification.series[0].data", "payload": [[epoch, metrics["train/cls_loss"]]], "append": True},
{"field": "data.mClassification.series[1].data", "payload": [[epoch, metrics["val/cls_loss"]]], "append": True},
{"field": "data.mClassification.series[0].data", "payload": [[epoch, metrics["train/cls_loss"]]], "append": True},
{"field": "data.mClassification.series[1].data", "payload": [[epoch, metrics["val/cls_loss"]]], "append": True},

{"field": "data.mPR.series[0].data", "payload": [[epoch, metrics["metrics/precision"]]], "append": True},
{"field": "data.mPR.series[1].data", "payload": [[epoch, metrics["metrics/recall"]]], "append": True},
{"field": "data.mPR.series[0].data", "payload": [[epoch, metrics["metrics/precision"]]], "append": True},
{"field": "data.mPR.series[1].data", "payload": [[epoch, metrics["metrics/recall"]]], "append": True},

{"field": "data.mMAP.series[0].data", "payload": [[epoch, metrics["metrics/mAP_0.5"]]], "append": True},
{"field": "data.mMAP.series[1].data", "payload": [[epoch, metrics["metrics/mAP_0.5:0.95"]]], "append": True},
]
globals.api.app.set_fields(globals.task_id, fields)
{"field": "data.mMAP.series[0].data", "payload": [[epoch, metrics["metrics/mAP_0.5"]]], "append": True},
{"field": "data.mMAP.series[1].data", "payload": [[epoch, metrics["metrics/mAP_0.5:0.95"]]], "append": True},
]
globals.api.app.set_fields(globals.task_id, fields)
Loading

0 comments on commit cb425b0

Please sign in to comment.