GaborNet
Installation
GaborNet can be installed via pip from Python 3.7 and above:
pip install GaborNet
Getting started
import torch
import torch.nn as nn
from torch.nn import functional as F
from GaborNet import GaborConv2d
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
class GaborNN(nn.Module):
def __init__(self):
super(GaborNN, self).__init__()
self.g0 = GaborConv2d(in_channels=1, out_channels=96, kernel_size=(11, 11))
self.c1 = nn.Conv2d(96, 384, (3,3))
self.fc1 = nn.Linear(384*3*3, 64)
self.fc2 = nn.Linear(64, 2)
def forward(self, x):
x = F.leaky_relu(self.g0(x))
x = nn.MaxPool2d()(x)
x = F.leaky_relu(self.c1(x))
x = nn.MaxPool2d()(x)
x = x.view(-1, 384*3*3)
x = F.leaky_relu(self.fc1(x))
x = self.fc2(x)
return x
net = GaborNN().to(device)
Original research paper (preprint): https://arxiv.org/abs/1904.13204
This research on deep convolutional neural networks proposes a modified architecture that focuses on improving convergence and reducing training complexity. The filters in the first layer of network are constrained to fit the Gabor function. The parameters of Gabor functions are learnable and updated by standard backpropagation techniques. The proposed architecture was tested on several datasets and outperformed the common convolutional networks
Citation
Please use this bibtex if you want to cite this repository in your publications:
@misc{gabornet,
author = {Alekseev, Andrey},
title = {GaborNet: Gabor filters with learnable parameters in deep convolutional
neural networks},
year = {2019},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/iKintosh/GaborNet}},
}
Metadata
Release files for gabornet 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| GaborNet-0.2.0.tar.gz | 5.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| GaborNet-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.3 kB
Release files / GaborNet-0.2.0.tar.gz
| Download URL | GaborNet-0.2.0.tar.gz |
|---|---|
| Size | 5.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dff93d634433bbc72abe347caa954062795881b64a8105cf4264d3a88ba10b25
|
|
BLAKE2b-256 checksum How to use checksums |
0a1f302f6ccee14e0b0770c44d447e6e0ba1c402528cfce8d8c8a63f170ec7e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.10 CPython/3.8.5 Linux/5.4.0-42-generic
|
Release files / GaborNet-0.2.0-py3-none-any.whl
| Download URL | GaborNet-0.2.0-py3-none-any.whl |
|---|---|
| Size | 5.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aa55f4c5459c51e4bbd52837c10895b5cbe52898820bf3aed77b1aee2d35dacb
|
|
BLAKE2b-256 checksum How to use checksums |
08f0f7d4e44ab2b55d3d9bcfa883fa57ea9991bb25619bad73ba4489b21ea8c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.0.10 CPython/3.8.5 Linux/5.4.0-42-generic
|