Skip to content

Commit 0b64b52

Browse files
authored
WIP: Ongoing development (#118)
* Make `FileDataset` return `Path`s again * adjust default projective augmentation params * update test * add paramgroups notebook * fix augment vision docs * rerun notebook * update image segmentation notebook * remove unused doc file * add discriminative learning rates to `finetune!` * update DataAugmentation dep * import for paramgroups * add `AdaptiveConcatPool` layer * update augmentation args for `ImageSegmentation` * allow explicitly passing `validdata` to `methodlearner` * add `visionhead` similar to fastai's
1 parent dc5c258 commit 0b64b52

25 files changed

+2491
-149
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "FastAI"
22
uuid = "5d0beca9-ade8-49ae-ad0b-a3cf890e669f"
3-
authors = ["Peter Wolf", "Julia Community"]
3+
authors = ["Lorenz Ohly", "Julia Community"]
44
version = "0.1.0"
55

66
[deps]

docs/Manifest.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -614,9 +614,9 @@ version = "0.8.11"
614614

615615
[[Images]]
616616
deps = ["AxisArrays", "Base64", "ColorVectorSpace", "FileIO", "Graphics", "ImageAxes", "ImageContrastAdjustment", "ImageCore", "ImageDistances", "ImageFiltering", "ImageIO", "ImageMagick", "ImageMetadata", "ImageMorphology", "ImageQualityIndexes", "ImageShow", "ImageTransformations", "IndirectArrays", "OffsetArrays", "Random", "Reexport", "SparseArrays", "StaticArrays", "Statistics", "StatsBase", "TiledIteration"]
617-
git-tree-sha1 = "7e5db157c69f6aaa596c43611d45589b1f5e5078"
617+
git-tree-sha1 = "8b714d5e11c91a0d945717430ec20f9251af4bd2"
618618
uuid = "916415d5-f1e6-5110-898d-aaa5f9f070e0"
619-
version = "0.24.0"
619+
version = "0.24.1"
620620

621621
[[IndirectArrays]]
622622
git-tree-sha1 = "c2a145a145dc03a7620af1444e0264ef907bd44f"

docs/Project.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ FluxTraining = "7bf95e4d-ca32-48da-9824-f0dc5310474f"
99
ImageIO = "82e4d734-157c-48bb-816b-45c225c6df19"
1010
ImageMagick = "6218d12a-5da1-5696-b52f-db25d2ecc6d1"
1111
ImageShow = "4e3cecfd-b093-5904-9786-8bbb286a6a31"
12+
Images = "916415d5-f1e6-5110-898d-aaa5f9f070e0"

docs/notebooks/finetune.ipynb

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
},
2727
{
2828
"cell_type": "code",
29-
"execution_count": 12,
29+
"execution_count": null,
3030
"metadata": {},
3131
"outputs": [],
3232
"source": [
@@ -44,7 +44,7 @@
4444
},
4545
{
4646
"cell_type": "code",
47-
"execution_count": 7,
47+
"execution_count": 3,
4848
"metadata": {},
4949
"outputs": [],
5050
"source": [
@@ -53,7 +53,7 @@
5353
},
5454
{
5555
"cell_type": "code",
56-
"execution_count": 10,
56+
"execution_count": 4,
5757
"metadata": {},
5858
"outputs": [
5959
{
@@ -62,7 +62,7 @@
6262
"ImageClassification() with 10 classes"
6363
]
6464
},
65-
"execution_count": 10,
65+
"execution_count": 4,
6666
"metadata": {},
6767
"output_type": "execute_result"
6868
}
@@ -82,7 +82,7 @@
8282
},
8383
{
8484
"cell_type": "code",
85-
"execution_count": 27,
85+
"execution_count": 23,
8686
"metadata": {},
8787
"outputs": [],
8888
"source": [
@@ -99,7 +99,7 @@
9999
},
100100
{
101101
"cell_type": "code",
102-
"execution_count": 28,
102+
"execution_count": 24,
103103
"metadata": {},
104104
"outputs": [
105105
{
@@ -108,7 +108,7 @@
108108
"Learner()"
109109
]
110110
},
111-
"execution_count": 28,
111+
"execution_count": 24,
112112
"metadata": {},
113113
"output_type": "execute_result"
114114
}
@@ -126,14 +126,14 @@
126126
},
127127
{
128128
"cell_type": "code",
129-
"execution_count": 29,
129+
"execution_count": 26,
130130
"metadata": {},
131131
"outputs": [
132132
{
133133
"name": "stderr",
134134
"output_type": "stream",
135135
"text": [
136-
"\u001b[32mEpoch 1 TrainingPhase(): 100%|██████████████████████████| Time: 0:01:18\u001b[39m\n"
136+
"\u001b[32mEpoch 1 TrainingPhase(): 100%|██████████████████████████| Time: 0:01:56\u001b[39m\n"
137137
]
138138
},
139139
{
@@ -143,15 +143,15 @@
143143
"┌───────────────┬───────┬─────────┬──────────┐\n",
144144
"\u001b[1m Phase \u001b[0m│\u001b[1m Epoch \u001b[0m│\u001b[1m Loss \u001b[0m│\u001b[1m Accuracy \u001b[0m│\n",
145145
"├───────────────┼───────┼─────────┼──────────┤\n",
146-
"│ TrainingPhase │ 1.0 │ 1.54167 0.5454\n",
146+
"│ TrainingPhase │ 1.0 │ 1.694070.48564\n",
147147
"└───────────────┴───────┴─────────┴──────────┘\n"
148148
]
149149
},
150150
{
151151
"name": "stderr",
152152
"output_type": "stream",
153153
"text": [
154-
"\u001b[32mEpoch 1 ValidationPhase(): 100%|████████████████████████| Time: 0:00:21\u001b[39m\n"
154+
"\u001b[32mEpoch 1 ValidationPhase(): 100%|████████████████████████| Time: 0:00:08\u001b[39m\n"
155155
]
156156
},
157157
{
@@ -161,15 +161,15 @@
161161
"┌─────────────────┬───────┬─────────┬──────────┐\n",
162162
"\u001b[1m Phase \u001b[0m│\u001b[1m Epoch \u001b[0m│\u001b[1m Loss \u001b[0m│\u001b[1m Accuracy \u001b[0m│\n",
163163
"├─────────────────┼───────┼─────────┼──────────┤\n",
164-
"│ ValidationPhase │ 1.0 │ 1.22437 │ 0.65872\n",
164+
"│ ValidationPhase │ 1.0 │ 1.86775 │ 0.54736\n",
165165
"└─────────────────┴───────┴─────────┴──────────┘\n"
166166
]
167167
},
168168
{
169169
"name": "stderr",
170170
"output_type": "stream",
171171
"text": [
172-
"\u001b[32mEpoch 2 TrainingPhase(): 100%|██████████████████████████| Time: 0:01:24\u001b[39m\n"
172+
"\u001b[32mEpoch 2 TrainingPhase(): 100%|██████████████████████████| Time: 0:01:15\u001b[39m\n"
173173
]
174174
},
175175
{
@@ -179,7 +179,7 @@
179179
"┌───────────────┬───────┬─────────┬──────────┐\n",
180180
"\u001b[1m Phase \u001b[0m│\u001b[1m Epoch \u001b[0m│\u001b[1m Loss \u001b[0m│\u001b[1m Accuracy \u001b[0m│\n",
181181
"├───────────────┼───────┼─────────┼──────────┤\n",
182-
"│ TrainingPhase │ 2.0 │ 1.49928 │ 0.56094\n",
182+
"│ TrainingPhase │ 2.0 │ 1.16304 │ 0.62684\n",
183183
"└───────────────┴───────┴─────────┴──────────┘\n"
184184
]
185185
},
@@ -197,26 +197,26 @@
197197
"┌─────────────────┬───────┬─────────┬──────────┐\n",
198198
"\u001b[1m Phase \u001b[0m│\u001b[1m Epoch \u001b[0m│\u001b[1m Loss \u001b[0m│\u001b[1m Accuracy \u001b[0m│\n",
199199
"├─────────────────┼───────┼─────────┼──────────┤\n",
200-
"│ ValidationPhase │ 2.0 │ 1.174460.67517\n",
200+
"│ ValidationPhase │ 2.0 │ 4.08772 0.5708\n",
201201
"└─────────────────┴───────┴─────────┴──────────┘\n"
202202
]
203203
},
204204
{
205205
"name": "stderr",
206206
"output_type": "stream",
207207
"text": [
208-
"\u001b[32mEpoch 3 TrainingPhase(): 100%|██████████████████████████| Time: 0:01:20\u001b[39m\n"
208+
"\u001b[32mEpoch 3 TrainingPhase(): 100%|██████████████████████████| Time: 0:01:16\u001b[39m\n"
209209
]
210210
},
211211
{
212212
"name": "stdout",
213213
"output_type": "stream",
214214
"text": [
215-
"┌───────────────┬───────┬────────┬──────────┐\n",
216-
"\u001b[1m Phase \u001b[0m│\u001b[1m Epoch \u001b[0m│\u001b[1m Loss \u001b[0m│\u001b[1m Accuracy \u001b[0m│\n",
217-
"├───────────────┼───────┼────────┼──────────┤\n",
218-
"│ TrainingPhase │ 3.0 │ 0.79991 │ 0.74828\n",
219-
"└───────────────┴───────┴────────┴──────────┘\n"
215+
"┌───────────────┬───────┬────────┬──────────┐\n",
216+
"\u001b[1m Phase \u001b[0m│\u001b[1m Epoch \u001b[0m│\u001b[1m Loss \u001b[0m│\u001b[1m Accuracy \u001b[0m│\n",
217+
"├───────────────┼───────┼────────┼──────────┤\n",
218+
"│ TrainingPhase │ 3.0 │ 0.9757 │ 0.68877\n",
219+
"└───────────────┴───────┴────────┴──────────┘\n"
220220
]
221221
},
222222
{
@@ -233,15 +233,15 @@
233233
"┌─────────────────┬───────┬─────────┬──────────┐\n",
234234
"\u001b[1m Phase \u001b[0m│\u001b[1m Epoch \u001b[0m│\u001b[1m Loss \u001b[0m│\u001b[1m Accuracy \u001b[0m│\n",
235235
"├─────────────────┼───────┼─────────┼──────────┤\n",
236-
"│ ValidationPhase │ 3.0 │ 0.56792 │ 0.82062\n",
236+
"│ ValidationPhase │ 3.0 │ 0.65138 │ 0.79778\n",
237237
"└─────────────────┴───────┴─────────┴──────────┘\n"
238238
]
239239
},
240240
{
241241
"name": "stderr",
242242
"output_type": "stream",
243243
"text": [
244-
"\u001b[32mEpoch 4 TrainingPhase(): 100%|██████████████████████████| Time: 0:01:21\u001b[39m\n"
244+
"\u001b[32mEpoch 4 TrainingPhase(): 100%|██████████████████████████| Time: 0:01:16\u001b[39m\n"
245245
]
246246
},
247247
{
@@ -251,15 +251,15 @@
251251
"┌───────────────┬───────┬─────────┬──────────┐\n",
252252
"\u001b[1m Phase \u001b[0m│\u001b[1m Epoch \u001b[0m│\u001b[1m Loss \u001b[0m│\u001b[1m Accuracy \u001b[0m│\n",
253253
"├───────────────┼───────┼─────────┼──────────┤\n",
254-
"│ TrainingPhase │ 4.0 │ 0.41767 │ 0.86945\n",
254+
"│ TrainingPhase │ 4.0 │ 0.55522 │ 0.82361\n",
255255
"└───────────────┴───────┴─────────┴──────────┘\n"
256256
]
257257
},
258258
{
259259
"name": "stderr",
260260
"output_type": "stream",
261261
"text": [
262-
"\u001b[32mEpoch 4 ValidationPhase(): 100%|████████████████████████| Time: 0:00:07\u001b[39m\n"
262+
"\u001b[32mEpoch 4 ValidationPhase(): 100%|████████████████████████| Time: 0:00:08\u001b[39m\n"
263263
]
264264
},
265265
{
@@ -269,7 +269,7 @@
269269
"┌─────────────────┬───────┬────────┬──────────┐\n",
270270
"\u001b[1m Phase \u001b[0m│\u001b[1m Epoch \u001b[0m│\u001b[1m Loss \u001b[0m│\u001b[1m Accuracy \u001b[0m│\n",
271271
"├─────────────────┼───────┼────────┼──────────┤\n",
272-
"│ ValidationPhase │ 4.0 │ 0.4273 │ 0.85782\n",
272+
"│ ValidationPhase │ 4.0 │ 0.4671 │ 0.84763\n",
273273
"└─────────────────┴───────┴────────┴──────────┘\n"
274274
]
275275
},
@@ -279,7 +279,7 @@
279279
"Learner()"
280280
]
281281
},
282-
"execution_count": 29,
282+
"execution_count": 26,
283283
"metadata": {},
284284
"output_type": "execute_result"
285285
}

docs/notebooks/imageclassification.jl

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

docs/notebooks/imagesegmentation.ipynb

Lines changed: 1679 additions & 56 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)