Skip to content

Commit 4dedd0a

Browse files
committed
Merge remote-tracking branch 'origin/main' into tpi-tweaks
2 parents 8ccc5fb + a24a129 commit 4dedd0a

File tree

17 files changed

+62
-1393
lines changed

17 files changed

+62
-1393
lines changed

.github/workflows/1-experiment.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,6 @@ jobs:
6767
pipenv run dvc exp run
6868
pipenv run dvc push
6969
70-
cml pr dvc.lock metrics.json training_metrics.json training_metrics_dvc_plots/**
71-
7270
# Create CML report
7371
echo "## Metrics" >> report.md
7472
pipenv run dvc metrics show --md >> report.md

.github/workflows/2-develop.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,6 @@ jobs:
6666
pipenv run dvc exp run
6767
pipenv run dvc push
6868
69-
cml pr dvc.lock metrics.json training_metrics.json training_metrics_dvc_plots/**
70-
7169
# Create CML report
7270
echo "## Metrics" >> report.md
7371
pipenv run dvc metrics show --md >> report.md

Pipfile

100755100644
Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,12 @@ torchvision = "==0.12.0"
99
fastai = "==2.5.6"
1010
fastcore = "==1.4.1"
1111
tqdm = "==4.64.0"
12-
pillow = "==9.1.0"
12+
pillow = "==9.1.1"
1313
dvc = {version = "==2.10.2", extras = ["s3"]}
1414
fastapi = {extras = ["all"], version = "==0.75.1"}
1515
python-box = "==6.0.2"
16-
dvclive = "==0.7.1"
16+
dvclive = "==0.8.2"
1717
uvicorn = "==0.15.0"
1818

19-
[dev-packages]
20-
ipykernel = "*"
21-
autopep8 = "*"
22-
pylint = "*"
23-
bandit = "*"
24-
ipywidgets = "*"
25-
notebook = "*"
26-
2719
[requires]
2820
python_version = "3"

dvc.lock

Lines changed: 32 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ stages:
44
cmd: pipenv run pip freeze > requirements.txt
55
outs:
66
- path: requirements.txt
7-
md5: 7edda101df092201b03b26a2b476e7c4
8-
size: 3445
7+
md5: 0fbfbeb39bc8c13a8c663523a4c2f7db
8+
size: 2711
99
data_load:
1010
cmd: python src/stages/data_load.py --config=params.yaml
1111
deps:
1212
- path: requirements.txt
13-
md5: 7edda101df092201b03b26a2b476e7c4
14-
size: 3445
13+
md5: 0fbfbeb39bc8c13a8c663523a4c2f7db
14+
size: 2711
1515
- path: src/stages/data_load.py
1616
md5: 481ef35d6faa72224f0f0842194becbc
1717
size: 797
@@ -26,9 +26,6 @@ stages:
2626
data_dir: data
2727
orig_dirname: Magnetic-tile-defect-datasets.-master
2828
new_dirname: MAGNETIC_TILE_SURFACE_DEFECTS
29-
code_names:
30-
- 0
31-
- 1
3229
outs:
3330
- path: data/MAGNETIC_TILE_SURFACE_DEFECTS/images
3431
md5: b7178caeac712acf11359c9f183f2cdc.dir
@@ -50,8 +47,8 @@ stages:
5047
size: 199417
5148
nfiles: 392
5249
- path: requirements.txt
53-
md5: 7edda101df092201b03b26a2b476e7c4
54-
size: 3445
50+
md5: 0fbfbeb39bc8c13a8c663523a4c2f7db
51+
size: 2711
5552
- path: src/stages/data_split.py
5653
md5: 34f52be01f05d45585264c1c998765d4
5754
size: 1295
@@ -66,9 +63,6 @@ stages:
6663
data_dir: data
6764
orig_dirname: Magnetic-tile-defect-datasets.-master
6865
new_dirname: MAGNETIC_TILE_SURFACE_DEFECTS
69-
code_names:
70-
- 0
71-
- 1
7266
data_split:
7367
test_pct: 0.2
7468
train_img_dir_path: data/MAGNETIC_TILE_SURFACE_DEFECTS/train_images
@@ -77,35 +71,35 @@ stages:
7771
test_mask_dir_path: data/MAGNETIC_TILE_SURFACE_DEFECTS/test_masks
7872
outs:
7973
- path: data/MAGNETIC_TILE_SURFACE_DEFECTS/test_images
80-
md5: 945201efae1f89c50a4c3c325853fc49.dir
81-
size: 2804818
74+
md5: aec21b0f9a77d82b3aa1e88a45d8b5b7.dir
75+
size: 2955133
8276
nfiles: 78
8377
- path: data/MAGNETIC_TILE_SURFACE_DEFECTS/test_masks
84-
md5: e074f6b72133fb84ea4a4099431ad50d.dir
85-
size: 34264
78+
md5: 92a47a0bfebeaa9813818548aea03e3e.dir
79+
size: 39362
8680
nfiles: 78
8781
- path: data/MAGNETIC_TILE_SURFACE_DEFECTS/train_images
88-
md5: 6928706298a6d7ef07013289bd41948f.dir
89-
size: 11861699
82+
md5: db4f51d18ab93e49665a49ea0682e8da.dir
83+
size: 11711384
9084
nfiles: 314
9185
- path: data/MAGNETIC_TILE_SURFACE_DEFECTS/train_masks
92-
md5: 2607e5f281c5037af71d5b28b9f653bd.dir
93-
size: 165153
86+
md5: 3ad55c909b7e950bd5faca37648d95d8.dir
87+
size: 160055
9488
nfiles: 314
9589
train:
9690
cmd: python src/stages/train.py --config=params.yaml
9791
deps:
9892
- path: data/MAGNETIC_TILE_SURFACE_DEFECTS/train_images
99-
md5: 6928706298a6d7ef07013289bd41948f.dir
100-
size: 11861699
93+
md5: db4f51d18ab93e49665a49ea0682e8da.dir
94+
size: 11711384
10195
nfiles: 314
10296
- path: data/MAGNETIC_TILE_SURFACE_DEFECTS/train_masks
103-
md5: 2607e5f281c5037af71d5b28b9f653bd.dir
104-
size: 165153
97+
md5: 3ad55c909b7e950bd5faca37648d95d8.dir
98+
size: 160055
10599
nfiles: 314
106100
- path: requirements.txt
107-
md5: 7edda101df092201b03b26a2b476e7c4
108-
size: 3445
101+
md5: 0fbfbeb39bc8c13a8c663523a4c2f7db
102+
size: 2711
109103
- path: src/stages/train.py
110104
md5: a6ec2486d381039eac01b2463dfae760
111105
size: 1597
@@ -132,31 +126,31 @@ stages:
132126
model_pickle_fname: model_pickle_fastai.pkl
133127
outs:
134128
- path: models
135-
md5: e68c53794a1fbcf967a067da7b4103ba.dir
129+
md5: b1646d6a7376fb92bbd6a2c73e7f73e0.dir
136130
size: 190185141
137131
nfiles: 1
138132
- path: training_metrics
139-
md5: ccc588b1adce5fef7427d647fe5e7ddd.dir
140-
size: 2270
133+
md5: fdda54abf3ade1a584cd8a841a9c3a5d.dir
134+
size: 2374
141135
nfiles: 6
142136
evaluate:
143137
cmd: python src/stages/eval.py --config=params.yaml
144138
deps:
145139
- path: data/MAGNETIC_TILE_SURFACE_DEFECTS/test_images
146-
md5: 945201efae1f89c50a4c3c325853fc49.dir
147-
size: 2804818
140+
md5: aec21b0f9a77d82b3aa1e88a45d8b5b7.dir
141+
size: 2955133
148142
nfiles: 78
149143
- path: data/MAGNETIC_TILE_SURFACE_DEFECTS/test_masks
150-
md5: e074f6b72133fb84ea4a4099431ad50d.dir
151-
size: 34264
144+
md5: 92a47a0bfebeaa9813818548aea03e3e.dir
145+
size: 39362
152146
nfiles: 78
153147
- path: models
154-
md5: e68c53794a1fbcf967a067da7b4103ba.dir
148+
md5: b1646d6a7376fb92bbd6a2c73e7f73e0.dir
155149
size: 190185141
156150
nfiles: 1
157151
- path: requirements.txt
158-
md5: 7edda101df092201b03b26a2b476e7c4
159-
size: 3445
152+
md5: 0fbfbeb39bc8c13a8c663523a4c2f7db
153+
size: 2711
160154
- path: src/stages/eval.py
161155
md5: 4d1ae58faaf33683ce0fbe6563f93878
162156
size: 1472
@@ -186,5 +180,5 @@ stages:
186180
model_pickle_fname: model_pickle_fastai.pkl
187181
outs:
188182
- path: metrics.json
189-
md5: d62c799d50f66150fb5684fc1995527d
190-
size: 64
183+
md5: 8f9a36cdec542ba6ba31076d240c7ead
184+
size: 65

metrics.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"dice_mean": 0.707909783307654, "acc_mean": 0.9804131410256411}
1+
{"dice_mean": 0.7390305060702425, "acc_mean": 0.9721134615384617}

notebooks/1_ProcessData.ipynb

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,13 @@
2727
}
2828
],
2929
"source": [
30+
"import os\n",
31+
"import shutil\n",
3032
"import numpy as np\n",
3133
"\n",
3234
"from fastai.vision.all import *\n",
3335
"from pathlib import Path\n",
34-
"from tqdm.auto import tqdm\n",
35-
"from shutil import copyfile, rmtree, move"
36+
"from tqdm.auto import tqdm"
3637
]
3738
},
3839
{
@@ -96,9 +97,9 @@
9697
"source": [
9798
"dataset_path = DATA_PATH/'MAGNETIC_TILE_SURFACE_DEFECTS'\n",
9899
"if dataset_path.is_dir():\n",
99-
" rmtree(dataset_path)\n",
100+
" shutil.rmtree(dataset_path)\n",
100101
"if extract_dir.is_dir():\n",
101-
" move(extract_dir, dataset_path)"
102+
" shutil.move(extract_dir, dataset_path)"
102103
]
103104
},
104105
{
@@ -130,7 +131,7 @@
130131
"outputs": [],
131132
"source": [
132133
"if (dataset_path/'MT_Free').exists():\n",
133-
" rmtree(dataset_path/'MT_Free')"
134+
" shutil.rmtree(dataset_path/'MT_Free')"
134135
]
135136
},
136137
{
@@ -672,7 +673,7 @@
672673
"name": "stderr",
673674
"output_type": "stream",
674675
"text": [
675-
"100%|██████████| 392/392 [00:01<00:00, 308.99it/s]\n"
676+
"100%|██████████| 392/392 [00:00<00:00, 560.50it/s]\n"
676677
]
677678
}
678679
],
@@ -685,7 +686,7 @@
685686
"\n",
686687
" new_img_path = img_dir_path/img_path.name\n",
687688
" new_mask_path = mask_dir_path/msk_path.name\n",
688-
" copyfile(img_path, new_img_path)\n",
689+
" shutil.copyfile(img_path, new_img_path)\n",
689690
" Image.fromarray(msk).save(new_mask_path)"
690691
]
691692
},
@@ -737,10 +738,27 @@
737738
},
738739
{
739740
"cell_type": "code",
740-
"execution_count": null,
741+
"execution_count": 19,
741742
"id": "33489364",
742743
"metadata": {},
743744
"outputs": [],
745+
"source": [
746+
"dirs_to_keep = [img_dir_path, mask_dir_path, train_img_dir_path, train_mask_dir_path, test_img_dir_path, test_mask_dir_path]\n",
747+
"\n",
748+
"for ii in (dataset_path).ls():\n",
749+
" if ii not in dirs_to_keep:\n",
750+
" try: # if file\n",
751+
" os.remove(ii)\n",
752+
" except: # if directory\n",
753+
" shutil.rmtree(ii)"
754+
]
755+
},
756+
{
757+
"cell_type": "code",
758+
"execution_count": null,
759+
"id": "021bf550",
760+
"metadata": {},
761+
"outputs": [],
744762
"source": []
745763
}
746764
],

params.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ data_load:
88
data_dir: data
99
orig_dirname: Magnetic-tile-defect-datasets.-master
1010
new_dirname: MAGNETIC_TILE_SURFACE_DEFECTS
11-
code_names: [0, 1]
1211

1312
data_split:
1413
test_pct: 0.20

src/stages/train.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ def train_and_save_model(params_path):
1414
random_state = params.base.random_state
1515
train_img_dir_path = Path(params.data_split.train_img_dir_path)
1616
train_mask_dir_path = Path(params.data_split.train_mask_dir_path)
17-
code_names = params.data_load.code_names
1817
img_size = params.train.img_size
1918
valid_pct = params.train.valid_pct
2019
learning_rate = params.train.learning_rate
@@ -27,7 +26,6 @@ def train_and_save_model(params_path):
2726
model_pickle_path = (model_pickle_dir_path/model_pickle_fname).absolute()
2827
train_model(train_img_dir_path=train_img_dir_path,
2928
train_mask_dir_path=train_mask_dir_path,
30-
code_names=code_names,
3129
n_epochs=n_epochs,
3230
lr=learning_rate,
3331
use_cpu=use_cpu,

src/train_utils.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ def get_mask_path(img_path, train_mask_dir_path):
1616

1717
def train_model(train_img_dir_path,
1818
train_mask_dir_path,
19-
code_names,
2019
n_epochs,
2120
use_cpu,
2221
lr,
@@ -35,7 +34,7 @@ def train_model(train_img_dir_path,
3534
fnames=fpaths,
3635
label_func=partial(
3736
get_mask_path, train_mask_dir_path=train_mask_dir_path),
38-
codes=code_names,
37+
codes=[0, 1],
3938
bs=batch_size,
4039
splitter=RandomSplitter(valid_pct=valid_pct, seed=seed),
4140
item_tfms=Resize(item_tfms_sz),

training_metrics.json

Lines changed: 0 additions & 19 deletions
This file was deleted.

0 commit comments

Comments
 (0)