1212#################################################
1313### THIS FILE WAS AUTOGENERATED! DO NOT EDIT! ###
1414#################################################
15- # file to edit: 00_constructor.ipynb
15+ # file to edit: nbs/ 00_constructor.ipynb
1616# command to build the docs after a change: nbdev_build_docs
1717
1818-->
@@ -80,8 +80,8 @@ <h2 id="Stem" class="doc_header"><code>class</code> <code>Stem</code><a href="ht
8080 sizes: [3, 64]
8181 (conv0): ConvLayer(
8282 (conv): Conv2d(3, 64, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
83- (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
8483 (act_fn): ReLU(inplace=True)
84+ (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
8585 )
8686 (pool): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
8787)</ pre >
@@ -279,6 +279,49 @@ <h2 id="Stem" class="doc_header"><code>class</code> <code>Stem</code><a href="ht
279279</ div >
280280</ div >
281281
282+ </ div >
283+ < div class ="cell border-box-sizing code_cell rendered ">
284+ < div class ="input ">
285+
286+ < div class ="inner_cell ">
287+ < div class ="input_area ">
288+ < div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="n "> stem</ span > < span class ="o "> =</ span > < span class ="n "> Stem</ span > < span class ="p "> (</ span > < span class ="n "> use_bn</ span > < span class ="o "> =</ span > < span class ="kc "> True</ span > < span class ="p "> ,</ span > < span class ="n "> stem_sizes</ span > < span class ="o "> =</ span > < span class ="p "> [</ span > < span class ="mi "> 32</ span > < span class ="p "> ],</ span > < span class ="n "> stride_on</ span > < span class ="o "> =</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="n "> bn_1st</ span > < span class ="o "> =</ span > < span class ="kc "> False</ span > < span class ="p "> )</ span >
289+ < span class ="n "> stem</ span >
290+ </ pre > </ div >
291+
292+ </ div >
293+ </ div >
294+ </ div >
295+
296+ < div class ="output_wrapper ">
297+ < div class ="output ">
298+
299+ < div class ="output_area ">
300+
301+
302+
303+ < div class ="output_text output_subarea output_execute_result ">
304+ < pre > Stem(
305+ sizes: [3, 32, 64]
306+ (conv0): ConvLayer(
307+ (conv): Conv2d(3, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)
308+ (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
309+ (act_fn): ReLU(inplace=True)
310+ )
311+ (conv1): ConvLayer(
312+ (conv): Conv2d(32, 64, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)
313+ (act_fn): ReLU(inplace=True)
314+ )
315+ (pool): MaxPool2d(kernel_size=3, stride=2, padding=1, dilation=1, ceil_mode=False)
316+ (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
317+ )</ pre >
318+ </ div >
319+
320+ </ div >
321+
322+ </ div >
323+ </ div >
324+
282325</ div >
283326< div class ="cell border-box-sizing text_cell rendered "> < div class ="inner_cell ">
284327< div class ="text_cell_render border-box-sizing rendered_html ">
@@ -304,7 +347,7 @@ <h2 id="BasicBlock">BasicBlock<a class="anchor-link" href="#BasicBlock">¶</
304347
305348
306349< div class ="output_markdown rendered_html output_subarea ">
307- < h2 id ="BasicBlock " class ="doc_header "> < code > class</ code > < code > BasicBlock</ code > < a href ="https://github.com/ayasyrev/model_constructor/tree/master/model_constructor/constructor.py#L30 " class ="source_link " style ="float:right "> [source]</ a > </ h2 > < blockquote > < p > < code > BasicBlock</ code > (< strong > < code > ni</ code > </ strong > , < strong > < code > nf</ code > </ strong > , < strong > < code > expansion</ code > </ strong > =< em > < code > 1</ code > </ em > , < strong > < code > stride</ code > </ strong > =< em > < code > 1</ code > </ em > , < strong > < code > bn_1st</ code > </ strong > =< em > < code > False</ code > </ em > , < strong > < code > zero_bn</ code > </ strong > =< em > < code > False</ code > </ em > , < strong > < code > conv_layer</ code > </ strong > =< em > < code > 'ConvLayer'</ code > </ em > , < strong > **< code > kwargs</ code > </ strong > ) :: < code > Module</ code > </ p >
350+ < h2 id ="BasicBlock " class ="doc_header "> < code > class</ code > < code > BasicBlock</ code > < a href ="https://github.com/ayasyrev/model_constructor/tree/master/model_constructor/constructor.py#L31 " class ="source_link " style ="float:right "> [source]</ a > </ h2 > < blockquote > < p > < code > BasicBlock</ code > (< strong > < code > ni</ code > </ strong > , < strong > < code > nf</ code > </ strong > , < strong > < code > expansion</ code > </ strong > =< em > < code > 1</ code > </ em > , < strong > < code > stride</ code > </ strong > =< em > < code > 1</ code > </ em > , < strong > < code > bn_1st</ code > </ strong > =< em > < code > False</ code > </ em > , < strong > < code > zero_bn</ code > </ strong > =< em > < code > False</ code > </ em > , < strong > < code > conv_layer</ code > </ strong > =< em > < code > 'ConvLayer'</ code > </ em > , < strong > **< code > kwargs</ code > </ strong > ) :: < code > Module</ code > </ p >
308351</ blockquote >
309352< p > Basic block (simplified) as in pytorch resnet</ p >
310353
@@ -526,34 +569,6 @@ <h2 id="BasicBlock" class="doc_header"><code>class</code> <code>BasicBlock</code
526569< h2 id ="Body-constructor "> Body constructor< a class ="anchor-link " href ="#Body-constructor "> ¶</ a > </ h2 >
527570</ div >
528571</ div >
529- </ div >
530- < div class ="cell border-box-sizing code_cell rendered ">
531- < div class ="input ">
532-
533- < div class ="inner_cell ">
534- < div class ="input_area ">
535- < div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="c1 "> # class Body(nn.Sequential): </ span >
536- < span class ="c1 "> # '''Constructor for body'''</ span >
537- < span class ="c1 "> # def __init__(self, block, </ span >
538- < span class ="c1 "> # body_in=64, body_out=512, </ span >
539- < span class ="c1 "> # layer_szs=[64,128,256,], blocks=[2,2,2,2],</ span >
540- < span class ="c1 "> # expansion=1, **kwargs): </ span >
541- < span class ="c1 "> # layer_szs = [body_in//expansion] + layer_szs + [body_out]</ span >
542- < span class ="c1 "> # num_layers = len(layer_szs)-1</ span >
543- < span class ="c1 "> # layers = [(f"layer_{i}", self._make_layer(block, layer_szs[i], layer_szs[i+1], blocks[i], 1 if i==0 else 2, **kwargs))</ span >
544- < span class ="c1 "> # for i in range(num_layers)]</ span >
545- < span class ="c1 "> # super().__init__(OrderedDict(layers))</ span >
546- < span class ="c1 "> # def _make_layer(self, block, ni, nf, blocks, stride, **kwargs):</ span >
547- < span class ="c1 "> # return nn.Sequential(OrderedDict(</ span >
548- < span class ="c1 "> # [(f'block_{i}', block(ni if i==0 else nf, nf, stride if i==0 else 1, **kwargs))</ span >
549- < span class ="c1 "> # for i in range(blocks)]))</ span >
550-
551- </ pre > </ div >
552-
553- </ div >
554- </ div >
555- </ div >
556-
557572</ div >
558573< div class ="cell border-box-sizing code_cell rendered ">
559574
@@ -567,7 +582,7 @@ <h2 id="Body-constructor">Body constructor<a class="anchor-link" href="#Body-con
567582
568583
569584< div class ="output_markdown rendered_html output_subarea ">
570- < h2 id ="BasicLayer " class ="doc_header "> < code > class</ code > < code > BasicLayer</ code > < a href ="https://github.com/ayasyrev/model_constructor/tree/master/model_constructor/constructor.py#L54 " class ="source_link " style ="float:right "> [source]</ a > </ h2 > < blockquote > < p > < code > BasicLayer</ code > (< strong > < code > block</ code > </ strong > , < strong > < code > blocks</ code > </ strong > , < strong > < code > ni</ code > </ strong > , < strong > < code > nf</ code > </ strong > , < strong > < code > expansion</ code > </ strong > , < strong > < code > stride</ code > </ strong > , < strong > **< code > kwargs</ code > </ strong > ) :: < code > Sequential</ code > </ p >
585+ < h2 id ="BasicLayer " class ="doc_header "> < code > class</ code > < code > BasicLayer</ code > < a href ="https://github.com/ayasyrev/model_constructor/tree/master/model_constructor/constructor.py#L55 " class ="source_link " style ="float:right "> [source]</ a > </ h2 > < blockquote > < p > < code > BasicLayer</ code > (< strong > < code > block</ code > </ strong > , < strong > < code > blocks</ code > </ strong > , < strong > < code > ni</ code > </ strong > , < strong > < code > nf</ code > </ strong > , < strong > < code > expansion</ code > </ strong > , < strong > < code > stride</ code > </ strong > , < strong > **< code > kwargs</ code > </ strong > ) :: < code > Sequential</ code > </ p >
571586</ blockquote >
572587< p > Layer from blocks</ p >
573588
@@ -588,7 +603,7 @@ <h2 id="BasicLayer" class="doc_header"><code>class</code> <code>BasicLayer</code
588603
589604
590605< div class ="output_markdown rendered_html output_subarea ">
591- < h2 id ="Body " class ="doc_header "> < code > class</ code > < code > Body</ code > < a href ="https://github.com/ayasyrev/model_constructor/tree/master/model_constructor/constructor.py#L68 " class ="source_link " style ="float:right "> [source]</ a > </ h2 > < blockquote > < p > < code > Body</ code > (< strong > < code > block</ code > </ strong > , < strong > < code > body_in</ code > </ strong > =< em > < code > 64</ code > </ em > , < strong > < code > body_out</ code > </ strong > =< em > < code > 512</ code > </ em > , < strong > < code > bodylayer</ code > </ strong > =< em > < code > 'BasicLayer'</ code > </ em > , < strong > < code > expansion</ code > </ strong > =< em > < code > 1</ code > </ em > , < strong > < code > layer_szs</ code > </ strong > =< em > < code > [64, 128, 256]</ code > </ em > , < strong > < code > blocks</ code > </ strong > =< em > < code > [2, 2, 2, 2]</ code > </ em > , < strong > **< code > kwargs</ code > </ strong > ) :: < code > Sequential</ code > </ p >
606+ < h2 id ="Body " class ="doc_header "> < code > class</ code > < code > Body</ code > < a href ="https://github.com/ayasyrev/model_constructor/tree/master/model_constructor/constructor.py#L69 " class ="source_link " style ="float:right "> [source]</ a > </ h2 > < blockquote > < p > < code > Body</ code > (< strong > < code > block</ code > </ strong > , < strong > < code > body_in</ code > </ strong > =< em > < code > 64</ code > </ em > , < strong > < code > body_out</ code > </ strong > =< em > < code > 512</ code > </ em > , < strong > < code > bodylayer</ code > </ strong > =< em > < code > 'BasicLayer'</ code > </ em > , < strong > < code > expansion</ code > </ strong > =< em > < code > 1</ code > </ em > , < strong > < code > layer_szs</ code > </ strong > =< em > < code > [64, 128, 256]</ code > </ em > , < strong > < code > blocks</ code > </ strong > =< em > < code > [2, 2, 2, 2]</ code > </ em > , < strong > **< code > kwargs</ code > </ strong > ) :: < code > Sequential</ code > </ p >
592607</ blockquote >
593608< p > Constructor for body</ p >
594609
@@ -846,7 +861,7 @@ <h1 id="Head">Head<a class="anchor-link" href="#Head">¶</a></h1>
846861
847862
848863< div class ="output_markdown rendered_html output_subarea ">
849- < h2 id ="Head " class ="doc_header "> < code > class</ code > < code > Head</ code > < a href ="https://github.com/ayasyrev/model_constructor/tree/master/model_constructor/constructor.py#L85 " class ="source_link " style ="float:right "> [source]</ a > </ h2 > < blockquote > < p > < code > Head</ code > (< strong > < code > ni</ code > </ strong > , < strong > < code > nf</ code > </ strong > , < strong > **< code > kwargs</ code > </ strong > ) :: < code > Sequential</ code > </ p >
864+ < h2 id ="Head " class ="doc_header "> < code > class</ code > < code > Head</ code > < a href ="https://github.com/ayasyrev/model_constructor/tree/master/model_constructor/constructor.py#L86 " class ="source_link " style ="float:right "> [source]</ a > </ h2 > < blockquote > < p > < code > Head</ code > (< strong > < code > ni</ code > </ strong > , < strong > < code > nf</ code > </ strong > , < strong > **< code > kwargs</ code > </ strong > ) :: < code > Sequential</ code > </ p >
850865</ blockquote >
851866< p > base head</ p >
852867
@@ -920,7 +935,7 @@ <h1 id="class-Net">class Net<a class="anchor-link" href="#class-Net">¶</a><
920935
921936
922937< div class ="output_markdown rendered_html output_subarea ">
923- < h4 id ="init_model " class ="doc_header "> < code > init_model</ code > < a href ="https://github.com/ayasyrev/model_constructor/tree/master/model_constructor/constructor.py#L95 " class ="source_link " style ="float:right "> [source]</ a > </ h4 > < blockquote > < p > < code > init_model</ code > (< strong > < code > model</ code > </ strong > , < strong > < code > zero_bn</ code > </ strong > =< em > < code > False</ code > </ em > )</ p >
938+ < h4 id ="init_model " class ="doc_header "> < code > init_model</ code > < a href ="https://github.com/ayasyrev/model_constructor/tree/master/model_constructor/constructor.py#L96 " class ="source_link " style ="float:right "> [source]</ a > </ h4 > < blockquote > < p > < code > init_model</ code > (< strong > < code > model</ code > </ strong > , < strong > < code > zero_bn</ code > </ strong > =< em > < code > False</ code > </ em > )</ p >
924939</ blockquote >
925940< p > Init model</ p >
926941
@@ -944,7 +959,7 @@ <h4 id="init_model" class="doc_header"><code>init_model</code><a href="https://g
944959
945960
946961< div class ="output_markdown rendered_html output_subarea ">
947- < h2 id ="Net " class ="doc_header "> < code > class</ code > < code > Net</ code > < a href ="https://github.com/ayasyrev/model_constructor/tree/master/model_constructor/constructor.py#L102 " class ="source_link " style ="float:right "> [source]</ a > </ h2 > < blockquote > < p > < code > Net</ code > (< strong > < code > stem</ code > </ strong > =< em > < code > 'Stem'</ code > </ em > , < strong > < code > body</ code > </ strong > =< em > < code > 'Body'</ code > </ em > , < strong > < code > block</ code > </ strong > =< em > < code > 'BasicBlock'</ code > </ em > , < strong > < code > layer_szs</ code > </ strong > =< em > < code > [64, 128, 256]</ code > </ em > , < strong > < code > blocks</ code > </ strong > =< em > < code > [2, 2, 2, 2]</ code > </ em > , < strong > < code > head</ code > </ strong > =< em > < code > 'Head'</ code > </ em > , < strong > < code > c_in</ code > </ strong > =< em > < code > 3</ code > </ em > , < strong > < code > num_classes</ code > </ strong > =< em > < code > 1000</ code > </ em > , < strong > < code > body_in</ code > </ strong > =< em > < code > 64</ code > </ em > , < strong > < code > body_out</ code > </ strong > =< em > < code > 512</ code > </ em > , < strong > < code > expansion</ code > </ strong > =< em > < code > 1</ code > </ em > , < strong > < code > bn_1st</ code > </ strong > =< em > < code > False</ code > </ em > , < strong > < code > init_type</ code > </ strong > =< em > < code > 'normal'</ code > </ em > , < strong > **< code > kwargs</ code > </ strong > ) :: < code > Sequential</ code > </ p >
962+ < h2 id ="Net " class ="doc_header "> < code > class</ code > < code > Net</ code > < a href ="https://github.com/ayasyrev/model_constructor/tree/master/model_constructor/constructor.py#L103 " class ="source_link " style ="float:right "> [source]</ a > </ h2 > < blockquote > < p > < code > Net</ code > (< strong > < code > stem</ code > </ strong > =< em > < code > 'Stem'</ code > </ em > , < strong > < code > body</ code > </ strong > =< em > < code > 'Body'</ code > </ em > , < strong > < code > block</ code > </ strong > =< em > < code > 'BasicBlock'</ code > </ em > , < strong > < code > layer_szs</ code > </ strong > =< em > < code > [64, 128, 256]</ code > </ em > , < strong > < code > blocks</ code > </ strong > =< em > < code > [2, 2, 2, 2]</ code > </ em > , < strong > < code > head</ code > </ strong > =< em > < code > 'Head'</ code > </ em > , < strong > < code > c_in</ code > </ strong > =< em > < code > 3</ code > </ em > , < strong > < code > num_classes</ code > </ strong > =< em > < code > 1000</ code > </ em > , < strong > < code > body_in</ code > </ strong > =< em > < code > 64</ code > </ em > , < strong > < code > body_out</ code > </ strong > =< em > < code > 512</ code > </ em > , < strong > < code > expansion</ code > </ strong > =< em > < code > 1</ code > </ em > , < strong > < code > bn_1st</ code > </ strong > =< em > < code > False</ code > </ em > , < strong > < code > init_type</ code > </ strong > =< em > < code > 'normal'</ code > </ em > , < strong > **< code > kwargs</ code > </ strong > ) :: < code > Sequential</ code > </ p >
948963</ blockquote >
949964< p > Constructor for model</ p >
950965
@@ -1182,6 +1197,22 @@ <h2 id="Net" class="doc_header"><code>class</code> <code>Net</code><a href="http
11821197</ div >
11831198</ div >
11841199
1200+ </ div >
1201+ < div class ="cell border-box-sizing code_cell rendered ">
1202+ < div class ="input ">
1203+
1204+ < div class ="inner_cell ">
1205+ < div class ="input_area ">
1206+ < div class =" highlight hl-ipython3 "> < pre > < span > </ span > < span class ="n "> bs_test</ span > < span class ="o "> =</ span > < span class ="mi "> 16</ span >
1207+ < span class ="n "> xb</ span > < span class ="o "> =</ span > < span class ="n "> torch</ span > < span class ="o "> .</ span > < span class ="n "> randn</ span > < span class ="p "> (</ span > < span class ="n "> bs_test</ span > < span class ="p "> ,</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="mi "> 128</ span > < span class ="p "> ,</ span > < span class ="mi "> 128</ span > < span class ="p "> )</ span >
1208+ < span class ="n "> y</ span > < span class ="o "> =</ span > < span class ="n "> model</ span > < span class ="p "> (</ span > < span class ="n "> xb</ span > < span class ="p "> )</ span >
1209+ < span class ="n "> y</ span > < span class ="o "> .</ span > < span class ="n "> shape</ span >
1210+ </ pre > </ div >
1211+
1212+ </ div >
1213+ </ div >
1214+ </ div >
1215+
11851216< div class ="output_wrapper ">
11861217< div class ="output ">
11871218
0 commit comments