1# https://github.com/tensorflow/tpu/blob/master/models/official/efficientnet/lite/efficientnet_lite_builder.py
2# (width_coefficient, depth_coefficient, resolution, dropout_rate)
3# 'efficientnet-lite3': (1.2, 1.4, 280, 0.3),
4#
5#_DEFAULT_BLOCKS_ARGS = [
6#    'r1_k3_s11_e1_i32_o16_se0.25', 'r2_k3_s22_e6_i16_o24_se0.25',
7#    'r2_k5_s22_e6_i24_o40_se0.25', 'r3_k3_s22_e6_i40_o80_se0.25',
8#    'r3_k5_s11_e6_i80_o112_se0.25', 'r4_k5_s22_e6_i112_o192_se0.25',
9#    'r1_k3_s11_e6_i192_o320_se0.25',
10#]
11
12[net]
13# Training
14batch=120
15subdivisions=6
16height=288
17width=288
18channels=3
19momentum=0.9
20decay=0.0005
21max_crop=320
22
23cutmix=1
24mosaic=1
25label_smooth_eps=0.1
26
27burn_in=1000
28learning_rate=0.256
29policy=step
30step=10000
31scale=0.96
32max_batches=1600000
33momentum=0.9
34decay=0.00005
35
36angle=7
37hue=.1
38saturation=.75
39exposure=.75
40aspect=.75
41
42
43### CONV1 - 1 (1)
44# conv1
45[convolutional]
46filters=40	#32
47size=3
48pad=1
49stride=2
50batch_normalize=1
51activation=relu6
52
53
54### CONV2 - MBConv1 - 1 (2)
55# conv2_1_expand
56[convolutional]
57filters=40	#32
58size=1
59stride=1
60pad=0
61batch_normalize=1
62activation=relu6
63
64# conv2_1_dwise
65[convolutional]
66groups=40	#32
67filters=40	#32
68size=3
69stride=1
70pad=1
71batch_normalize=1
72activation=relu6
73
74# conv2_1_linear
75[convolutional]
76filters=16	#16
77size=1
78stride=1
79pad=0
80batch_normalize=1
81activation=linear
82
83
84### CONV2 - MBConv1 - 2 (2)
85# conv2_1_expand
86[convolutional]
87filters=40	#32
88size=1
89stride=1
90pad=0
91batch_normalize=1
92activation=relu6
93
94# conv2_1_dwise
95[convolutional]
96groups=40	#32
97filters=40	#32
98size=3
99stride=1
100pad=1
101batch_normalize=1
102activation=relu6
103
104# conv2_1_linear
105[convolutional]
106filters=16	#16
107size=1
108stride=1
109pad=0
110batch_normalize=1
111activation=linear
112
113
114### CONV3 - MBConv6 - 1 (3)
115# dropout only before residual connection
116[dropout]
117probability=.3
118
119# block_3_1
120[shortcut]
121from=-5
122activation=linear
123
124# conv2_2_expand
125[convolutional]
126filters=112	#96
127size=1
128stride=1
129pad=0
130batch_normalize=1
131activation=relu6
132
133# conv2_2_dwise
134[convolutional]
135groups=112	#96
136filters=112	#96
137size=3
138pad=1
139stride=2
140batch_normalize=1
141activation=relu6
142
143# conv2_2_linear
144[convolutional]
145filters=32	#24
146size=1
147stride=1
148pad=0
149batch_normalize=1
150activation=linear
151
152
153### CONV3 - MBConv6 - 2 (3)
154# conv3_1_expand
155[convolutional]
156filters=176	#144
157size=1
158stride=1
159pad=0
160batch_normalize=1
161activation=relu6
162
163# conv3_1_dwise
164[convolutional]
165groups=176	#144
166filters=176	#144
167size=3
168stride=1
169pad=1
170batch_normalize=1
171activation=relu6
172
173# conv3_1_linear
174[convolutional]
175filters=32	#24
176size=1
177stride=1
178pad=0
179batch_normalize=1
180activation=linear
181
182
183### CONV3 - MBConv6 - 3 (3)
184# dropout only before residual connection
185[dropout]
186probability=.3
187
188# block_3_1
189[shortcut]
190from=-5
191activation=linear
192
193# conv3_1_expand
194[convolutional]
195filters=176	#144
196size=1
197stride=1
198pad=0
199batch_normalize=1
200activation=relu6
201
202# conv3_1_dwise
203[convolutional]
204groups=176	#144
205filters=176	#144
206size=3
207stride=1
208pad=1
209batch_normalize=1
210activation=relu6
211
212# conv3_1_linear
213[convolutional]
214filters=32	#24
215size=1
216stride=1
217pad=0
218batch_normalize=1
219activation=linear
220
221
222
223### CONV4 - MBConv6 - 1 (3)
224# dropout only before residual connection
225[dropout]
226probability=.3
227
228# block_3_1
229[shortcut]
230from=-5
231activation=linear
232
233# conv_3_2_expand
234[convolutional]
235filters=176	#144
236size=1
237stride=1
238pad=0
239batch_normalize=1
240activation=relu6
241
242# conv_3_2_dwise
243[convolutional]
244groups=176	#144
245filters=176	#144
246size=5
247pad=1
248stride=2
249batch_normalize=1
250activation=relu6
251
252# conv_3_2_linear
253[convolutional]
254filters=48	#40
255size=1
256stride=1
257pad=0
258batch_normalize=1
259activation=linear
260
261
262### CONV4 - MBConv6 - 2 (3)
263# conv_4_1_expand
264[convolutional]
265filters=232	#192
266size=1
267stride=1
268pad=0
269batch_normalize=1
270activation=relu6
271
272# conv_4_1_dwise
273[convolutional]
274groups=232	#192
275filters=232	#192
276size=5
277stride=1
278pad=1
279batch_normalize=1
280activation=relu6
281
282# conv_4_1_linear
283[convolutional]
284filters=48	#40
285size=1
286stride=1
287pad=0
288batch_normalize=1
289activation=linear
290
291
292### CONV4 - MBConv6 - 3 (3)
293# dropout only before residual connection
294[dropout]
295probability=.3
296
297# block_4_2
298[shortcut]
299from=-5
300activation=linear
301
302# conv_4_1_expand
303[convolutional]
304filters=232	#192
305size=1
306stride=1
307pad=0
308batch_normalize=1
309activation=relu6
310
311# conv_4_1_dwise
312[convolutional]
313groups=232	#192
314filters=232	#192
315size=5
316stride=1
317pad=1
318batch_normalize=1
319activation=relu6
320
321# conv_4_1_linear
322[convolutional]
323filters=48	#40
324size=1
325stride=1
326pad=0
327batch_normalize=1
328activation=linear
329
330
331
332
333### CONV5 - MBConv6 - 1 (5)
334# dropout only before residual connection
335[dropout]
336probability=.3
337
338# block_4_2
339[shortcut]
340from=-5
341activation=linear
342
343# conv_4_3_expand
344[convolutional]
345filters=232	#192
346size=1
347stride=1
348pad=0
349batch_normalize=1
350activation=relu6
351
352# conv_4_3_dwise
353[convolutional]
354groups=232	#192
355filters=232	#192
356size=3
357stride=1
358pad=1
359batch_normalize=1
360activation=relu6
361
362# conv_4_3_linear
363[convolutional]
364filters=96	#80
365size=1
366stride=1
367pad=0
368batch_normalize=1
369activation=linear
370
371
372### CONV5 - MBConv6 - 2 (5)
373# conv_4_4_expand
374[convolutional]
375filters=464	#384
376size=1
377stride=1
378pad=0
379batch_normalize=1
380activation=relu6
381
382# conv_4_4_dwise
383[convolutional]
384groups=464	#384
385filters=464	#384
386size=3
387stride=1
388pad=1
389batch_normalize=1
390activation=relu6
391
392# conv_4_4_linear
393[convolutional]
394filters=96	#80
395size=1
396stride=1
397pad=0
398batch_normalize=1
399activation=linear
400
401
402### CONV5 - MBConv6 - 3 (5)
403# dropout only before residual connection
404[dropout]
405probability=.3
406
407# block_4_4
408[shortcut]
409from=-5
410activation=linear
411
412# conv_4_5_expand
413[convolutional]
414filters=464	#384
415size=1
416stride=1
417pad=0
418batch_normalize=1
419activation=relu6
420
421# conv_4_5_dwise
422[convolutional]
423groups=464	#384
424filters=464	#384
425size=3
426stride=1
427pad=1
428batch_normalize=1
429activation=relu6
430
431# conv_4_5_linear
432[convolutional]
433filters=96	#80
434size=1
435stride=1
436pad=0
437batch_normalize=1
438activation=linear
439
440
441### CONV5 - MBConv6 - 4 (5)
442# dropout only before residual connection
443[dropout]
444probability=.3
445
446# block_4_4
447[shortcut]
448from=-5
449activation=linear
450
451# conv_4_5_expand
452[convolutional]
453filters=464	#384
454size=1
455stride=1
456pad=0
457batch_normalize=1
458activation=relu6
459
460# conv_4_5_dwise
461[convolutional]
462groups=464	#384
463filters=464	#384
464size=3
465stride=1
466pad=1
467batch_normalize=1
468activation=relu6
469
470# conv_4_5_linear
471[convolutional]
472filters=96	#80
473size=1
474stride=1
475pad=0
476batch_normalize=1
477activation=linear
478
479
480
481### CONV5 - MBConv6 - 5 (5)
482# dropout only before residual connection
483[dropout]
484probability=.3
485
486# block_4_4
487[shortcut]
488from=-5
489activation=linear
490
491# conv_4_5_expand
492[convolutional]
493filters=464	#384
494size=1
495stride=1
496pad=0
497batch_normalize=1
498activation=relu6
499
500# conv_4_5_dwise
501[convolutional]
502groups=464	#384
503filters=464	#384
504size=3
505stride=1
506pad=1
507batch_normalize=1
508activation=relu6
509
510# conv_4_5_linear
511[convolutional]
512filters=96	#80
513size=1
514stride=1
515pad=0
516batch_normalize=1
517activation=linear
518
519
520
521### CONV6 - MBConv6 - 1 (5)
522# dropout only before residual connection
523[dropout]
524probability=.3
525
526# block_4_6
527[shortcut]
528from=-5
529activation=linear
530
531# conv_4_7_expand
532[convolutional]
533filters=464	#384
534size=1
535stride=1
536pad=0
537batch_normalize=1
538activation=relu6
539
540# conv_4_7_dwise
541[convolutional]
542groups=464	#384
543filters=464	#384
544size=5
545pad=1
546stride=2
547batch_normalize=1
548activation=relu6
549
550# conv_4_7_linear
551[convolutional]
552filters=136	#112
553size=1
554stride=1
555pad=0
556batch_normalize=1
557activation=linear
558
559
560### CONV6 - MBConv6 - 2 (5)
561# conv_5_1_expand
562[convolutional]
563filters=688	#576
564size=1
565stride=1
566pad=0
567batch_normalize=1
568activation=relu6
569
570# conv_5_1_dwise
571[convolutional]
572groups=688	#576
573filters=688	#576
574size=5
575stride=1
576pad=1
577batch_normalize=1
578activation=relu6
579
580# conv_5_1_linear
581[convolutional]
582filters=136	#112
583size=1
584stride=1
585pad=0
586batch_normalize=1
587activation=linear
588
589
590### CONV6 - MBConv6 - 3 (5)
591# dropout only before residual connection
592[dropout]
593probability=.3
594
595# block_5_1
596[shortcut]
597from=-5
598activation=linear
599
600# conv_5_2_expand
601[convolutional]
602filters=688	#576
603size=1
604stride=1
605pad=0
606batch_normalize=1
607activation=relu6
608
609# conv_5_2_dwise
610[convolutional]
611groups=688	#576
612filters=688	#576
613size=5
614stride=1
615pad=1
616batch_normalize=1
617activation=relu6
618
619# conv_5_2_linear
620[convolutional]
621filters=136	#112
622size=1
623stride=1
624pad=0
625batch_normalize=1
626activation=linear
627
628
629
630### CONV6 - MBConv6 - 4 (5)
631# dropout only before residual connection
632[dropout]
633probability=.3
634
635# block_5_1
636[shortcut]
637from=-5
638activation=linear
639
640# conv_5_2_expand
641[convolutional]
642filters=688	#576
643size=1
644stride=1
645pad=0
646batch_normalize=1
647activation=relu6
648
649# conv_5_2_dwise
650[convolutional]
651groups=688	#576
652filters=688	#576
653size=5
654stride=1
655pad=1
656batch_normalize=1
657activation=relu6
658
659# conv_5_2_linear
660[convolutional]
661filters=136	#112
662size=1
663stride=1
664pad=0
665batch_normalize=1
666activation=linear
667
668
669### CONV6 - MBConv6 - 5 (5)
670# dropout only before residual connection
671[dropout]
672probability=.3
673
674# block_5_1
675[shortcut]
676from=-5
677activation=linear
678
679# conv_5_2_expand
680[convolutional]
681filters=688	#576
682size=1
683stride=1
684pad=0
685batch_normalize=1
686activation=relu6
687
688# conv_5_2_dwise
689[convolutional]
690groups=688	#576
691filters=688	#576
692size=5
693stride=1
694pad=1
695batch_normalize=1
696activation=relu6
697
698# conv_5_2_linear
699[convolutional]
700filters=136	#112
701size=1
702stride=1
703pad=0
704batch_normalize=1
705activation=linear
706
707
708
709### CONV7 - MBConv6 - 1 (6)
710# dropout only before residual connection
711[dropout]
712probability=.3
713
714# block_5_2
715[shortcut]
716from=-5
717activation=linear
718
719# conv_5_3_expand
720[convolutional]
721filters=688	#576
722size=1
723stride=1
724pad=0
725batch_normalize=1
726activation=relu6
727
728# conv_5_3_dwise
729[convolutional]
730groups=688	#576
731filters=688	#576
732size=5
733pad=1
734stride=2
735batch_normalize=1
736activation=relu6
737
738
739# conv_5_3_linear
740[convolutional]
741filters=232	#192
742size=1
743stride=1
744pad=0
745batch_normalize=1
746activation=linear
747
748
749### CONV7 - MBConv6 - 2 (6)
750# conv_6_1_expand
751[convolutional]
752filters=1152	#960
753size=1
754stride=1
755pad=0
756batch_normalize=1
757activation=relu6
758
759# conv_6_1_dwise
760[convolutional]
761groups=1152		#960
762filters=1152	#960
763size=5
764stride=1
765pad=1
766batch_normalize=1
767activation=relu6
768
769# conv_6_1_linear
770[convolutional]
771filters=232	#192
772size=1
773stride=1
774pad=0
775batch_normalize=1
776activation=linear
777
778
779### CONV7 - MBConv6 - 3 (6)
780# dropout only before residual connection
781[dropout]
782probability=.3
783
784# block_6_1
785[shortcut]
786from=-5
787activation=linear
788
789# conv_6_2_expand
790[convolutional]
791filters=1152	#960
792size=1
793stride=1
794pad=0
795batch_normalize=1
796activation=relu6
797
798# conv_6_2_dwise
799[convolutional]
800groups=1152	#960
801filters=1152	#960
802size=5
803stride=1
804pad=1
805batch_normalize=1
806activation=relu6
807
808# conv_6_2_linear
809[convolutional]
810filters=232	#192
811size=1
812stride=1
813pad=0
814batch_normalize=1
815activation=linear
816
817
818### CONV7 - MBConv6 - 4 (6)
819# dropout only before residual connection
820[dropout]
821probability=.3
822
823# block_6_1
824[shortcut]
825from=-5
826activation=linear
827
828# conv_6_2_expand
829[convolutional]
830filters=1152	#960
831size=1
832stride=1
833pad=0
834batch_normalize=1
835activation=relu6
836
837# conv_6_2_dwise
838[convolutional]
839groups=1152	#960
840filters=1152	#960
841size=5
842stride=1
843pad=1
844batch_normalize=1
845activation=relu6
846
847# conv_6_2_linear
848[convolutional]
849filters=232	#192
850size=1
851stride=1
852pad=0
853batch_normalize=1
854activation=linear
855
856
857### CONV7 - MBConv6 - 5 (6)
858# dropout only before residual connection
859[dropout]
860probability=.3
861
862# block_6_1
863[shortcut]
864from=-5
865activation=linear
866
867# conv_6_2_expand
868[convolutional]
869filters=1152	#960
870size=1
871stride=1
872pad=0
873batch_normalize=1
874activation=relu6
875
876# conv_6_2_dwise
877[convolutional]
878groups=1152	#960
879filters=1152	#960
880size=5
881stride=1
882pad=1
883batch_normalize=1
884activation=relu6
885
886# conv_6_2_linear
887[convolutional]
888filters=232	#192
889size=1
890stride=1
891pad=0
892batch_normalize=1
893activation=linear
894
895
896### CONV7 - MBConv6 - 6 (6)
897# dropout only before residual connection
898[dropout]
899probability=.3
900
901# block_6_1
902[shortcut]
903from=-5
904activation=linear
905
906# conv_6_2_expand
907[convolutional]
908filters=1152	#960
909size=1
910stride=1
911pad=0
912batch_normalize=1
913activation=relu6
914
915# conv_6_2_dwise
916[convolutional]
917groups=1152	#960
918filters=1152	#960
919size=5
920stride=1
921pad=1
922batch_normalize=1
923activation=relu6
924
925
926
927# conv_6_2_linear
928[convolutional]
929filters=232	#192
930size=1
931stride=1
932pad=0
933batch_normalize=1
934activation=linear
935
936
937
938### CONV8 - MBConv6 - 1 (1)
939# dropout only before residual connection
940[dropout]
941probability=.3
942
943# block_6_2
944[shortcut]
945from=-5
946activation=linear
947
948# conv_6_3_expand
949[convolutional]
950filters=1152	#960
951size=1
952stride=1
953pad=0
954batch_normalize=1
955activation=relu6
956
957# conv_6_3_dwise
958[convolutional]
959groups=1152	#960
960filters=1152	#960
961size=3
962stride=1
963pad=1
964batch_normalize=1
965activation=relu6
966
967
968
969# conv_6_3_linear
970[convolutional]
971filters=384	#320
972size=1
973stride=1
974pad=0
975batch_normalize=1
976activation=linear
977
978
979
980
981### CONV9 - Conv2d 1x1
982# conv_6_4
983[convolutional]
984filters=1536	#1280
985size=1
986stride=1
987pad=0
988batch_normalize=1
989activation=relu6
990
991
992[avgpool]
993
994[dropout]
995probability=.3
996
997[convolutional]
998filters=1000
999size=1
1000stride=1
1001pad=0
1002activation=linear
1003
1004[softmax]
1005groups=1
1006
1007#[cost]
1008#type=sse
1009
1010