Skip to main content

PyTorch implementation of Depthwise Separable Convolution

Project description

Unofficial PyTorch Module - Depthwise Separable Convolution

An illustration of Depthwise Separable Convolution. Credit: Depthwise Convolution Is All You Need for Learning Multiple Visual Domains.

total downloads monthly downloads license pypi version ci testing package testing

PyTorch (unofficial) implementation of Depthwise Separable Convolution. This type of convolution is introduced by Chollet in Xception: Deep Learning With Depthwise Separable Convolutions. This package provides SeparableConv1d, SeparableConv2d, and SeparableConv3d.

Installation

Install separableconv-torch using pip (require: Python >=3.7).

pip install separableconv-torch

Parameters

Parameter Description Type
in_channels Number of channels in the input image int
out_channels Number of channels produced by the convolution int
kernel_size Size of the convolving kernel int or tuple
stride Stride of the convolution. Default: 1 int or tuple, optional
padding Padding added to all four sides of the input. Default: 0 int, tuple or str, optional
padding_mode 'zeros', 'reflect', 'replicate' or 'circular'. Default: 'zeros' string, optional
dilation Spacing between kernel elements. Default: 1 int or tuple, optional
depth_multiplier The number of depthwise convolution output channels for each input channel. The total number of depthwise convolution output channels will be equal to in_channels * depth_multiplier. Default: 1 int, optional
normalization_dw depthwise convolution normalization. Default: 'bn' str, optional
normalization_pw pointwise convolution normalization. Default: 'bn' str, optional
activation_dw depthwise convolution activation. Default: torch.nn.ReLU Callable[..., torch.nn.Module], optional
activation_pw pointwise convolution activation. Default: torch.nn.ReLU Callable[..., torch.nn.Module], optional
bias If True, adds a learnable bias to the output. Default: True bool, optional

Example Usage

For 1-dimensional case.
import torch
import separableconv.nn as nn

# set input
input = torch.randn(4, 10, 100)

# define model
m = nn.SeparableConv1d(10, 30, 3)

# process input through model
output = m(input)
For 2-dimensional case.
import torch
import separableconv.nn as nn

# set input
input = torch.randn(4, 10, 100, 100)

# define model
m = nn.SeparableConv2d(10, 30, 3)

# process input through model
output = m(input)
For 3-dimensional case.
import torch
import separableconv.nn as nn

# set input
input = torch.randn(4, 10, 100, 100, 100)

# define model
m = nn.SeparableConv3d(10, 30, 3)

# process input through model
output = m(input)
Stacked SeparableConv2d.
import torch
import separableconv.nn as nn

# set input
input = torch.randn(4, 3, 100, 100)

# define model
m = nn.Sequential(
        nn.SeparableConv2d(3, 32, 3),
        nn.SeparableConv2d(32, 64, 3),
        nn.SeparableConv2d(64, 96, 3))

# process input through model
output = m(input)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

separableconv-torch-0.0.2.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

separableconv_torch-0.0.2-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file separableconv-torch-0.0.2.tar.gz.

File metadata

  • Download URL: separableconv-torch-0.0.2.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for separableconv-torch-0.0.2.tar.gz
Algorithm Hash digest
SHA256 0231efdfd9b51f0aaade9ae01fd917e998d05c3f7e89d02023d745566584d321
MD5 be64a9ba78e632c56e0bc20a4988387f
BLAKE2b-256 57e825cc422c2fdfd70202c097305fb0a00c81ce4c0bd07575675ad27d9a88cb

See more details on using hashes here.

File details

Details for the file separableconv_torch-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for separableconv_torch-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d9b07462847dd0cc8271255026a0e8a14cf122ea9f8f8fe1471f3c7f219b0bc8
MD5 154a35cf54438d9c8984e41e484f9bb8
BLAKE2b-256 fce8e25e1d97f547135706ce4bee944a39cd06dd1d16c1367130ffb01189443e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page