Skip to content

Commit 6165002

Browse files
authored
Merge pull request fastai#208 from PiotrCzapla/master
Add doc string for each available model in fastai library.
2 parents 4c2f4de + 00a363b commit 6165002

1 file changed

Lines changed: 47 additions & 3 deletions

File tree

fastai/torch_imports.py

Lines changed: 47 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,61 @@ def load_pre(pre, f, fn):
3131
if pre: load_model(m, f'{path}/weights/{fn}.pth')
3232
return m
3333

34-
def inception_4(pre):
35-
return children(load_pre(pre, InceptionV4, 'inceptionv4-97ef9c30'))[0]
34+
def _fastai_model(name, paper_title, paper_href):
35+
def add_docs_wrapper(f):
36+
f.__doc__ = f"""{name} model from
37+
`"{paper_title}" <{paper_href}>`_
38+
39+
Args:
40+
pre (bool): If True, returns a model pre-trained on ImageNet
41+
"""
42+
return f
43+
return add_docs_wrapper
44+
45+
@_fastai_model('Inception 4', 'Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning',
46+
'https://arxiv.org/pdf/1602.07261.pdf')
47+
def inception_4(pre): return children(load_pre(pre, InceptionV4, 'inceptionv4-97ef9c30'))[0]
48+
49+
@_fastai_model('Inception 4', 'Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning',
50+
'https://arxiv.org/pdf/1602.07261.pdf')
3651
def inceptionresnet_2(pre): return load_pre(pre, InceptionResnetV2, 'inceptionresnetv2-d579a627')
52+
53+
@_fastai_model('ResNeXt 50', 'Aggregated Residual Transformations for Deep Neural Networks',
54+
'https://arxiv.org/abs/1611.05431')
3755
def resnext50(pre): return load_pre(pre, resnext_50_32x4d, 'resnext_50_32x4d')
56+
57+
@_fastai_model('ResNeXt 101_32', 'Aggregated Residual Transformations for Deep Neural Networks',
58+
'https://arxiv.org/abs/1611.05431')
3859
def resnext101(pre): return load_pre(pre, resnext_101_32x4d, 'resnext_101_32x4d')
60+
61+
@_fastai_model('ResNeXt 101_64', 'Aggregated Residual Transformations for Deep Neural Networks',
62+
'https://arxiv.org/abs/1611.05431')
3963
def resnext101_64(pre): return load_pre(pre, resnext_101_64x4d, 'resnext_101_64x4d')
64+
65+
@_fastai_model('Inception 4', 'Wide Residual Networks',
66+
'https://arxiv.org/pdf/1605.07146.pdf')
4067
def wrn(pre): return load_pre(pre, wrn_50_2f, 'wrn_50_2f')
68+
69+
@_fastai_model('Densenet-121', 'Densely Connected Convolutional Networks',
70+
'https://arxiv.org/pdf/1608.06993.pdf')
4171
def dn121(pre): return children(densenet121(pre))[0]
72+
73+
@_fastai_model('Densenet-169', 'Densely Connected Convolutional Networks',
74+
'https://arxiv.org/pdf/1608.06993.pdf')
4275
def dn161(pre): return children(densenet161(pre))[0]
76+
77+
@_fastai_model('Densenet-161', 'Densely Connected Convolutional Networks',
78+
'https://arxiv.org/pdf/1608.06993.pdf')
4379
def dn169(pre): return children(densenet169(pre))[0]
80+
81+
@_fastai_model('Densenet-201', 'Densely Connected Convolutional Networks',
82+
'https://arxiv.org/pdf/1608.06993.pdf')
4483
def dn201(pre): return children(densenet201(pre))[0]
84+
85+
@_fastai_model('Vgg-16 with batch norm added', 'Very Deep Convolutional Networks for Large-Scale Image Recognition',
86+
'https://arxiv.org/pdf/1409.1556.pdf')
4587
def vgg16(pre): return children(vgg16_bn(pre))[0]
46-
def vgg19(pre): return children(vgg19_bn(pre))[0]
4788

89+
@_fastai_model('Vgg-19 with batch norm added', 'Very Deep Convolutional Networks for Large-Scale Image Recognition',
90+
'https://arxiv.org/pdf/1409.1556.pdf')
91+
def vgg19(pre): return children(vgg19_bn(pre))[0]

0 commit comments

Comments
 (0)