Skip to content

Commit 315e7bd

Browse files
author
ayasyrev
committed
rename models, change Net init, clear comments
1 parent f244392 commit 315e7bd

File tree

4 files changed

+38
-96
lines changed

4 files changed

+38
-96
lines changed

model_constructor/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "0.1.0"
1+
__version__ = "0.1.1"

model_constructor/_nbdev.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,14 @@
2727
"resnet34": "02_resnet.ipynb",
2828
"resnet50": "02_resnet.ipynb",
2929
"xresnet18": "03_xresnet.ipynb",
30-
"xresnet34": "04_Net.ipynb",
30+
"xresnet34": "03_xresnet.ipynb",
3131
"xresnet50": "81_Net.ipynb",
3232
"init_cnn": "81_Net.ipynb",
3333
"NewResBlock": "81_Net.ipynb",
34-
"me": "81_Net.ipynb",
35-
"NewConvLayer": "81_Net.ipynb"}
34+
"net34": "04_Net.ipynb",
35+
"net50": "04_Net.ipynb",
36+
"NewConvLayer": "81_Net.ipynb",
37+
"me": "81_Net.ipynb"}
3638

3739
modules = ["constructor.py",
3840
"layers.py",

model_constructor/net.py

Lines changed: 16 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# AUTOGENERATED! DO NOT EDIT! File to edit: nbs/04_Net.ipynb (unless otherwise specified).
22

3-
__all__ = ['init_cnn', 'act_fn', 'ResBlock', 'NewResBlock', 'Net', 'me', 'xresnet34', 'xresnet50']
3+
__all__ = ['init_cnn', 'act_fn', 'ResBlock', 'NewResBlock', 'Net', 'net34', 'net50']
44

55
# Cell
66
import torch.nn as nn
@@ -104,18 +104,19 @@ def _make_head(self):
104104
# Cell
105105
# v8
106106
class Net():
107-
def __init__(self, expansion=1, layers=[2,2,2,2], c_in=3, c_out=1000, name='Net'):
107+
def __init__(self, expansion=1, layers=[2,2,2,2], c_in=3, c_out=1000, name='Net',
108+
act_fn=nn.ReLU(inplace=True), pool = nn.AvgPool2d(2, ceil_mode=True), sa=0):
108109
super().__init__()
109110
self.name = name
110111
self.c_in, self.c_out,self.expansion,self.layers = c_in,c_out,expansion,layers # todo setter for expansion
112+
self.act_fn, self.pool, self.sa = act_fn, pool, sa
113+
114+
111115
self.stem_sizes = [c_in,32,32,64]
112116
self.stem_pool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1)
113117
self.stem_bn_end = False
114118
self.block = ResBlock
115119
self.norm = nn.BatchNorm2d
116-
self.act_fn=nn.ReLU(inplace=True)
117-
self.pool = nn.AvgPool2d(2, ceil_mode=True)
118-
self.sa=False
119120
self.bn_1st = True
120121
self.zero_bn=True
121122
self.conv_layer = ConvLayer
@@ -143,37 +144,6 @@ def head(self):
143144
def body(self):
144145
return self._make_body(self)
145146

146-
# def _make_stem(self):
147-
# stem = [(f"conv_{i}", self.conv_layer(self.stem_sizes[i], self.stem_sizes[i+1],
148-
# stride=2 if i==0 else 1,
149-
# bn_layer=(not self.stem_bn_end) if i==(len(self.stem_sizes)-2) else True,
150-
# act_fn=self.act_fn, bn_1st=self.bn_1st))
151-
# for i in range(len(self.stem_sizes)-1)]
152-
# stem.append(('stem_pool', self.stem_pool))
153-
# if self.stem_bn_end: stem.append(('norm', self.norm(self.stem_sizes[-1])))
154-
# return nn.Sequential(OrderedDict(stem))
155-
156-
# def _make_head(self):
157-
# head = [('pool', nn.AdaptiveAvgPool2d(1)),
158-
# ('flat', Flatten()),
159-
# ('fc', nn.Linear(self.block_szs[-1]*self.expansion, self.c_out))]
160-
# return nn.Sequential(OrderedDict(head))
161-
162-
# def _make_body(self):
163-
# blocks = [(f"l_{i}", self._make_layer(self.expansion,
164-
# self.block_szs[i], self.block_szs[i+1], l,
165-
# 1 if i==0 else 2, self.sa if i==0 else False))
166-
# for i,l in enumerate(self.layers)]
167-
# return nn.Sequential(OrderedDict(blocks))
168-
169-
# def _make_layer(self,expansion,ni,nf,blocks,stride,sa):
170-
# return nn.Sequential(OrderedDict(
171-
# [(f"bl_{i}", self.block(expansion, ni if i==0 else nf, nf,
172-
# stride if i==0 else 1, sa=sa if i==blocks-1 else False,
173-
# conv_layer=self.conv_layer, act_fn=self.act_fn, pool=self.pool,
174-
# zero_bn=self.zero_bn, bn_1st=self.bn_1st))
175-
# for i in range(blocks)]))
176-
177147
def __call__(self):
178148
model = nn.Sequential(OrderedDict([
179149
('stem', self.stem),
@@ -187,13 +157,13 @@ def __repr__(self):
187157
return f" constr {self.name}"
188158

189159
# Cell
190-
me = sys.modules[__name__]
191-
for n,e,l in [[ 18 , 1, [2,2,2 ,2] ],
192-
[ 34 , 1, [3,4,6 ,3] ],
193-
[ 50 , 4, [3,4,6 ,3] ],
194-
[ 101, 4, [3,4,23,3] ],
195-
[ 152, 4, [3,8,36,3] ],]:
196-
name = f'net{n}'
197-
setattr(me, name, partial(Net, expansion=e, layers=l, name=name))
198-
xresnet34 = partial(Net, expansion=1, layers=[3, 4, 6, 3], name='xresnet34')
199-
xresnet50 = partial(Net, expansion=4, layers=[3, 4, 6, 3], name='xresnet50')
160+
# me = sys.modules[__name__]
161+
# for n,e,l in [[ 18 , 1, [2,2,2 ,2] ],
162+
# [ 34 , 1, [3,4,6 ,3] ],
163+
# [ 50 , 4, [3,4,6 ,3] ],
164+
# [ 101, 4, [3,4,23,3] ],
165+
# [ 152, 4, [3,8,36,3] ],]:
166+
# name = f'net{n}'
167+
# setattr(me, name, partial(Net, expansion=e, layers=l, name=name))
168+
net34 = partial(Net, expansion=1, layers=[3, 4, 6, 3], name='xresnet34')
169+
net50 = partial(Net, expansion=4, layers=[3, 4, 6, 3], name='xresnet50')

nbs/04_Net.ipynb

Lines changed: 16 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -428,18 +428,19 @@
428428
"# export\n",
429429
"# v8\n",
430430
"class Net():\n",
431-
" def __init__(self, expansion=1, layers=[2,2,2,2], c_in=3, c_out=1000, name='Net'):\n",
431+
" def __init__(self, expansion=1, layers=[2,2,2,2], c_in=3, c_out=1000, name='Net',\n",
432+
" act_fn=nn.ReLU(inplace=True), pool = nn.AvgPool2d(2, ceil_mode=True), sa=0):\n",
432433
" super().__init__()\n",
433434
" self.name = name\n",
434435
" self.c_in, self.c_out,self.expansion,self.layers = c_in,c_out,expansion,layers # todo setter for expansion\n",
436+
" self.act_fn, self.pool, self.sa = act_fn, pool, sa\n",
437+
" \n",
438+
" \n",
435439
" self.stem_sizes = [c_in,32,32,64]\n",
436440
" self.stem_pool = nn.MaxPool2d(kernel_size=3, stride=2, padding=1)\n",
437441
" self.stem_bn_end = False\n",
438442
" self.block = ResBlock\n",
439443
" self.norm = nn.BatchNorm2d\n",
440-
" self.act_fn=nn.ReLU(inplace=True)\n",
441-
" self.pool = nn.AvgPool2d(2, ceil_mode=True)\n",
442-
" self.sa=False\n",
443444
" self.bn_1st = True\n",
444445
" self.zero_bn=True\n",
445446
" self.conv_layer = ConvLayer\n",
@@ -467,37 +468,6 @@
467468
" def body(self):\n",
468469
" return self._make_body(self)\n",
469470
" \n",
470-
"# def _make_stem(self):\n",
471-
"# stem = [(f\"conv_{i}\", self.conv_layer(self.stem_sizes[i], self.stem_sizes[i+1], \n",
472-
"# stride=2 if i==0 else 1, \n",
473-
"# bn_layer=(not self.stem_bn_end) if i==(len(self.stem_sizes)-2) else True,\n",
474-
"# act_fn=self.act_fn, bn_1st=self.bn_1st))\n",
475-
"# for i in range(len(self.stem_sizes)-1)]\n",
476-
"# stem.append(('stem_pool', self.stem_pool))\n",
477-
"# if self.stem_bn_end: stem.append(('norm', self.norm(self.stem_sizes[-1])))\n",
478-
"# return nn.Sequential(OrderedDict(stem))\n",
479-
" \n",
480-
"# def _make_head(self):\n",
481-
"# head = [('pool', nn.AdaptiveAvgPool2d(1)),\n",
482-
"# ('flat', Flatten()),\n",
483-
"# ('fc', nn.Linear(self.block_szs[-1]*self.expansion, self.c_out))]\n",
484-
"# return nn.Sequential(OrderedDict(head))\n",
485-
" \n",
486-
"# def _make_body(self):\n",
487-
"# blocks = [(f\"l_{i}\", self._make_layer(self.expansion, \n",
488-
"# self.block_szs[i], self.block_szs[i+1], l, \n",
489-
"# 1 if i==0 else 2, self.sa if i==0 else False))\n",
490-
"# for i,l in enumerate(self.layers)]\n",
491-
"# return nn.Sequential(OrderedDict(blocks))\n",
492-
" \n",
493-
"# def _make_layer(self,expansion,ni,nf,blocks,stride,sa):\n",
494-
"# return nn.Sequential(OrderedDict(\n",
495-
"# [(f\"bl_{i}\", self.block(expansion, ni if i==0 else nf, nf, \n",
496-
"# stride if i==0 else 1, sa=sa if i==blocks-1 else False,\n",
497-
"# conv_layer=self.conv_layer, act_fn=self.act_fn, pool=self.pool,\n",
498-
"# zero_bn=self.zero_bn, bn_1st=self.bn_1st))\n",
499-
"# for i in range(blocks)]))\n",
500-
" \n",
501471
" def __call__(self):\n",
502472
" model = nn.Sequential(OrderedDict([\n",
503473
" ('stem', self.stem),\n",
@@ -1266,16 +1236,16 @@
12661236
"outputs": [],
12671237
"source": [
12681238
"# export\n",
1269-
"me = sys.modules[__name__]\n",
1270-
"for n,e,l in [[ 18 , 1, [2,2,2 ,2] ],\n",
1271-
" [ 34 , 1, [3,4,6 ,3] ],\n",
1272-
" [ 50 , 4, [3,4,6 ,3] ],\n",
1273-
" [ 101, 4, [3,4,23,3] ],\n",
1274-
" [ 152, 4, [3,8,36,3] ],]:\n",
1275-
" name = f'net{n}'\n",
1276-
" setattr(me, name, partial(Net, expansion=e, layers=l, name=name))\n",
1277-
"xresnet34 = partial(Net, expansion=1, layers=[3, 4, 6, 3], name='xresnet34')\n",
1278-
"xresnet50 = partial(Net, expansion=4, layers=[3, 4, 6, 3], name='xresnet50')"
1239+
"# me = sys.modules[__name__]\n",
1240+
"# for n,e,l in [[ 18 , 1, [2,2,2 ,2] ],\n",
1241+
"# [ 34 , 1, [3,4,6 ,3] ],\n",
1242+
"# [ 50 , 4, [3,4,6 ,3] ],\n",
1243+
"# [ 101, 4, [3,4,23,3] ],\n",
1244+
"# [ 152, 4, [3,8,36,3] ],]:\n",
1245+
"# name = f'net{n}'\n",
1246+
"# setattr(me, name, partial(Net, expansion=e, layers=l, name=name))\n",
1247+
"net34 = partial(Net, expansion=1, layers=[3, 4, 6, 3], name='xresnet34')\n",
1248+
"net50 = partial(Net, expansion=4, layers=[3, 4, 6, 3], name='xresnet50')"
12791249
]
12801250
},
12811251
{
@@ -1284,7 +1254,7 @@
12841254
"metadata": {},
12851255
"outputs": [],
12861256
"source": [
1287-
"m = xresnet50(c_out=10)"
1257+
"m = net50(c_out=10)"
12881258
]
12891259
},
12901260
{

0 commit comments

Comments
 (0)