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