tst = xse_resnext18()
x = torch.randn(64, 3, 128, 128)
y = tst(x)XResnet
init_cnn
def init_cnn(
m
):
Call self as a function.
XResNet
def XResNet(
block, expansion, layers, p:float=0.0, c_in:int=3, n_out:int=1000, stem_szs:tuple=(32, 32, 64), widen:float=1.0,
sa:bool=False, act_cls:type=ReLU, ndim:int=2, ks:int=3, stride:int=2, groups:int=1, reduction:NoneType=None,
nh1:NoneType=None, nh2:NoneType=None, dw:bool=False, g2:int=1, sym:bool=False,
norm_type:NormType=<NormType.Batch: 1>, pool:function=AvgPool, pool_first:bool=True, padding:NoneType=None,
bias:NoneType=None, bn_1st:bool=True, transpose:bool=False, init:str='auto', xtra:NoneType=None,
bias_std:float=0.01, dilation:Union=1, padding_mode:Literal='zeros', device:NoneType=None, dtype:NoneType=None
):
A sequential container.
Modules will be added to it in the order they are passed in the constructor. Alternatively, an OrderedDict of modules can be passed in. The forward() method of Sequential accepts any input and forwards it to the first module it contains. It then “chains” outputs to inputs sequentially for each subsequent module, finally returning the output of the last module.
The value a Sequential provides over manually calling a sequence of modules is that it allows treating the whole container as a single module, such that performing a transformation on the Sequential applies to each of the modules it stores (which are each a registered submodule of the Sequential).
What’s the difference between a Sequential and a :class:torch.nn.ModuleList? A ModuleList is exactly what it sounds like–a list for storing [Module](https://docs.fast.ai/torch_core.html#module) s! On the other hand, the layers in a Sequential are connected in a cascading way.
Example::
# Using Sequential to create a small model. When `model` is run,
# input will first be passed to `Conv2d(1,20,5)`. The output of
# `Conv2d(1,20,5)` will be used as the input to the first
# `ReLU`; the output of the first `ReLU` will become the input
# for `Conv2d(20,64,5)`. Finally, the output of
# `Conv2d(20,64,5)` will be used as input to the second `ReLU`
model = nn.Sequential(
nn.Conv2d(1, 20, 5), nn.ReLU(), nn.Conv2d(20, 64, 5), nn.ReLU()
)
# Using Sequential with OrderedDict. This is functionally the
# same as the above code
model = nn.Sequential(
OrderedDict(
[
("conv1", nn.Conv2d(1, 20, 5)),
("relu1", nn.ReLU()),
("conv2", nn.Conv2d(20, 64, 5)),
("relu2", nn.ReLU()),
]
)
)
xresnet50_deeper
def xresnet50_deeper(
pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xresnet34_deeper
def xresnet34_deeper(
pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xresnet18_deeper
def xresnet18_deeper(
pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xresnet50_deep
def xresnet50_deep(
pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xresnet34_deep
def xresnet34_deep(
pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xresnet18_deep
def xresnet18_deep(
pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xresnet152
def xresnet152(
pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xresnet101
def xresnet101(
pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xresnet50
def xresnet50(
pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xresnet34
def xresnet34(
pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xresnet18
def xresnet18(
pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xse_resnext50_deeper
def xse_resnext50_deeper(
n_out:int=1000, pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xse_resnext34_deeper
def xse_resnext34_deeper(
n_out:int=1000, pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xse_resnext18_deeper
def xse_resnext18_deeper(
n_out:int=1000, pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xse_resnext50_deep
def xse_resnext50_deep(
n_out:int=1000, pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xse_resnext34_deep
def xse_resnext34_deep(
n_out:int=1000, pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xse_resnext18_deep
def xse_resnext18_deep(
n_out:int=1000, pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xsenet154
def xsenet154(
n_out:int=1000, pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xse_resnet152
def xse_resnet152(
n_out:int=1000, pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xresnext101
def xresnext101(
n_out:int=1000, pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xse_resnext101
def xse_resnext101(
n_out:int=1000, pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xse_resnet101
def xse_resnet101(
n_out:int=1000, pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xresnext50
def xresnext50(
n_out:int=1000, pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xse_resnext50
def xse_resnext50(
n_out:int=1000, pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xse_resnet50
def xse_resnet50(
n_out:int=1000, pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xresnext34
def xresnext34(
n_out:int=1000, pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xse_resnext34
def xse_resnext34(
n_out:int=1000, pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xse_resnet34
def xse_resnet34(
n_out:int=1000, pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xresnext18
def xresnext18(
n_out:int=1000, pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xse_resnext18
def xse_resnext18(
n_out:int=1000, pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
xse_resnet18
def xse_resnet18(
n_out:int=1000, pretrained:bool=False, kwargs:VAR_KEYWORD
):
Call self as a function.
tst = xresnext18()
x = torch.randn(64, 3, 128, 128)
y = tst(x)tst = xse_resnet50()
x = torch.randn(8, 3, 64, 64)
y = tst(x)tst = xresnet18(ndim=1, c_in=1, ks=15)
x = torch.randn(64, 1, 128)
y = tst(x)tst = xresnext50(ndim=1, c_in=2, ks=31, stride=4)
x = torch.randn(8, 2, 128)
y = tst(x)tst = xresnet18(ndim=3, c_in=3, ks=3)
x = torch.randn(8, 3, 32, 32, 32)
y = tst(x)