|
18 | 18 | "outputs": [], |
19 | 19 | "source": [ |
20 | 20 | "#hide\n", |
21 | | - "import torch\n", |
22 | 21 | "from torch import nn" |
23 | 22 | ] |
24 | 23 | }, |
|
143 | 142 | "name": "stdout", |
144 | 143 | "output_type": "stream", |
145 | 144 | "text": [ |
146 | | - "ModelConstructor\n", |
147 | | - " in_chans: 3, num_classes: 1000\n", |
148 | | - " expansion: 1, groups: 1, dw: False, div_groups: None\n", |
149 | | - " act_fn: ReLU, sa: False, se: False\n", |
150 | | - " stem sizes: [64], stride on 0\n", |
151 | | - " body sizes [64, 128, 256, 512]\n", |
152 | | - " layers: [2, 2, 2, 2]\n" |
| 145 | + "ModelConstructor(\n", |
| 146 | + " in_chans=3\n", |
| 147 | + " num_classes=1000\n", |
| 148 | + " block='BasicBlock'\n", |
| 149 | + " conv_layer='ConvBnAct'\n", |
| 150 | + " block_sizes=[64, 128, 256, 512]\n", |
| 151 | + " layers=[2, 2, 2, 2]\n", |
| 152 | + " norm='BatchNorm2d'\n", |
| 153 | + " act_fn='ReLU'\n", |
| 154 | + " expansion=1\n", |
| 155 | + " groups=1\n", |
| 156 | + " bn_1st=True\n", |
| 157 | + " zero_bn=True\n", |
| 158 | + " stem_sizes=[64]\n", |
| 159 | + " stem_pool=\"MaxPool2d {'kernel_size': 3, 'stride': 2, 'padding': 1}\"\n", |
| 160 | + " init_cnn='init_cnn'\n", |
| 161 | + " make_stem='make_stem'\n", |
| 162 | + " make_layer='make_layer'\n", |
| 163 | + " make_body='make_body'\n", |
| 164 | + " make_head='make_head')\n" |
153 | 165 | ] |
154 | 166 | } |
155 | 167 | ], |
|
404 | 416 | "mc.print_changed_fields()" |
405 | 417 | ] |
406 | 418 | }, |
| 419 | + { |
| 420 | + "cell_type": "markdown", |
| 421 | + "metadata": {}, |
| 422 | + "source": [ |
| 423 | + "We can compare changed with defaults." |
| 424 | + ] |
| 425 | + }, |
| 426 | + { |
| 427 | + "cell_type": "code", |
| 428 | + "execution_count": null, |
| 429 | + "metadata": {}, |
| 430 | + "outputs": [ |
| 431 | + { |
| 432 | + "name": "stdout", |
| 433 | + "output_type": "stream", |
| 434 | + "text": [ |
| 435 | + "Changed fields:\n", |
| 436 | + "layers: [3, 4, 6, 3] | [2, 2, 2, 2]\n", |
| 437 | + "expansion: 4 | 1\n" |
| 438 | + ] |
| 439 | + } |
| 440 | + ], |
| 441 | + "source": [ |
| 442 | + "mc.print_changed_fields(show_default=True)" |
| 443 | + ] |
| 444 | + }, |
407 | 445 | { |
408 | 446 | "cell_type": "markdown", |
409 | 447 | "metadata": {}, |
|
715 | 753 | "name": "stdout", |
716 | 754 | "output_type": "stream", |
717 | 755 | "text": [ |
718 | | - "in_chans=3 num_classes=10 block='BasicBlock' conv_layer='ConvBnAct' block_sizes=[64, 128, 256, 512] layers=[2, 2, 2, 2] norm='BatchNorm2d' act_fn='Mish' expansion=1 groups=1 bn_1st=True zero_bn=True stem_sizes=[64] stem_pool=\"MaxPool2d {'kernel_size': 3, 'stride': 2, 'padding': 1}\"\n" |
| 756 | + "ModelCfg(\n", |
| 757 | + " in_chans=3\n", |
| 758 | + " num_classes=10\n", |
| 759 | + " block='BasicBlock'\n", |
| 760 | + " conv_layer='ConvBnAct'\n", |
| 761 | + " block_sizes=[64, 128, 256, 512]\n", |
| 762 | + " layers=[2, 2, 2, 2]\n", |
| 763 | + " norm='BatchNorm2d'\n", |
| 764 | + " act_fn='Mish'\n", |
| 765 | + " expansion=1\n", |
| 766 | + " groups=1\n", |
| 767 | + " bn_1st=True\n", |
| 768 | + " zero_bn=True\n", |
| 769 | + " stem_sizes=[64]\n", |
| 770 | + " stem_pool=\"MaxPool2d {'kernel_size': 3, 'stride': 2, 'padding': 1}\")\n" |
719 | 771 | ] |
720 | 772 | } |
721 | 773 | ], |
|
767 | 819 | "execution_count": null, |
768 | 820 | "metadata": {}, |
769 | 821 | "outputs": [ |
770 | | - { |
771 | | - "name": "stdout", |
772 | | - "output_type": "stream", |
773 | | - "text": [ |
774 | | - "Deprecated. Pass se_module as se argument, se_reduction as arg to se.\n", |
775 | | - "Deprecated. Pass se_module as se argument, se_reduction as arg to se.\n" |
776 | | - ] |
777 | | - }, |
778 | 822 | { |
779 | 823 | "data": { |
780 | 824 | "text/plain": [ |
781 | 825 | "ModelConstructor\n", |
782 | 826 | " in_chans: 3, num_classes: 10\n", |
783 | 827 | " expansion: 1, groups: 1, dw: False, div_groups: None\n", |
784 | | - " act_fn: ReLU, sa: <class 'model_constructor.layers.SimpleSelfAttention'>, se: SEModule\n", |
| 828 | + " act_fn: SELU, sa: <class 'model_constructor.layers.SimpleSelfAttention'>, se: SEModule\n", |
785 | 829 | " stem sizes: [64], stride on 0\n", |
786 | 830 | " body sizes [64, 128, 256, 512]\n", |
787 | 831 | " layers: [2, 2, 2, 2]" |
|
1383 | 1427 | "name": "stdout", |
1384 | 1428 | "output_type": "stream", |
1385 | 1429 | "text": [ |
1386 | | - "YaResNet\n", |
1387 | | - " in_chans: 3, num_classes: 1000\n", |
1388 | | - " expansion: 1, groups: 1, dw: False, div_groups: None\n", |
1389 | | - " act_fn: ReLU, sa: False, se: False\n", |
1390 | | - " stem sizes: [64], stride on 0\n", |
1391 | | - " body sizes [64, 128, 256, 512]\n", |
1392 | | - " layers: [2, 2, 2, 2]\n" |
| 1430 | + "ModelConstructor(\n", |
| 1431 | + " name='YaResNet'\n", |
| 1432 | + " in_chans=3\n", |
| 1433 | + " num_classes=1000\n", |
| 1434 | + " block='YaBasicBlock'\n", |
| 1435 | + " conv_layer='ConvBnAct'\n", |
| 1436 | + " block_sizes=[64, 128, 256, 512]\n", |
| 1437 | + " layers=[2, 2, 2, 2]\n", |
| 1438 | + " norm='BatchNorm2d'\n", |
| 1439 | + " act_fn='ReLU'\n", |
| 1440 | + " expansion=1\n", |
| 1441 | + " groups=1\n", |
| 1442 | + " bn_1st=True\n", |
| 1443 | + " zero_bn=True\n", |
| 1444 | + " stem_sizes=[64]\n", |
| 1445 | + " stem_pool=\"MaxPool2d {'kernel_size': 3, 'stride': 2, 'padding': 1}\"\n", |
| 1446 | + " init_cnn='init_cnn'\n", |
| 1447 | + " make_stem='make_stem'\n", |
| 1448 | + " make_layer='make_layer'\n", |
| 1449 | + " make_body='make_body'\n", |
| 1450 | + " make_head='make_head')\n" |
1393 | 1451 | ] |
1394 | 1452 | } |
1395 | 1453 | ], |
|
1482 | 1540 | "name": "stdout", |
1483 | 1541 | "output_type": "stream", |
1484 | 1542 | "text": [ |
1485 | | - "YaResnet34\n", |
1486 | | - " in_chans: 3, num_classes: 1000\n", |
1487 | | - " expansion: 1, groups: 1, dw: False, div_groups: None\n", |
1488 | | - " act_fn: ReLU, sa: False, se: False\n", |
1489 | | - " stem sizes: [64], stride on 0\n", |
1490 | | - " body sizes [64, 128, 256, 512]\n", |
1491 | | - " layers: [3, 4, 6, 3]\n" |
| 1543 | + "YaResnet34(\n", |
| 1544 | + " in_chans=3\n", |
| 1545 | + " num_classes=1000\n", |
| 1546 | + " block='YaBasicBlock'\n", |
| 1547 | + " conv_layer='ConvBnAct'\n", |
| 1548 | + " block_sizes=[64, 128, 256, 512]\n", |
| 1549 | + " layers=[3, 4, 6, 3]\n", |
| 1550 | + " norm='BatchNorm2d'\n", |
| 1551 | + " act_fn='ReLU'\n", |
| 1552 | + " expansion=1\n", |
| 1553 | + " groups=1\n", |
| 1554 | + " bn_1st=True\n", |
| 1555 | + " zero_bn=True\n", |
| 1556 | + " stem_sizes=[64]\n", |
| 1557 | + " stem_pool=\"MaxPool2d {'kernel_size': 3, 'stride': 2, 'padding': 1}\"\n", |
| 1558 | + " init_cnn='init_cnn'\n", |
| 1559 | + " make_stem='xresnet_stem'\n", |
| 1560 | + " make_layer='make_layer'\n", |
| 1561 | + " make_body='make_body'\n", |
| 1562 | + " make_head='make_head')\n" |
1492 | 1563 | ] |
1493 | 1564 | } |
1494 | 1565 | ], |
|
1541 | 1612 | "mc = YaResnet50()\n", |
1542 | 1613 | "mc" |
1543 | 1614 | ] |
| 1615 | + }, |
| 1616 | + { |
| 1617 | + "cell_type": "code", |
| 1618 | + "execution_count": null, |
| 1619 | + "metadata": {}, |
| 1620 | + "outputs": [], |
| 1621 | + "source": [] |
1544 | 1622 | } |
1545 | 1623 | ], |
1546 | 1624 | "metadata": { |
|
0 commit comments