Skip to main content

Tensorflow wavelet Layers

Project description

tensorflow-wavelets is an implementation of Custom Layers for Neural Networks:

  • Discrete Wavelets Transform Layer
  • Duel Tree Complex Wavelets Transform Layer
  • Multi Wavelets Transform Layer

Installation

pip install tensorflow-wavelets

Usage

import tensorflow_wavelets.Layers.DWT as DWT
import tensorflow_wavelets.Layers.DTCWT as DTCWT
import tensorflow_wavelets.Layers.DMWT as DMWT

# Custom Activation function Layer
import tensorflow_wavelets.Layers.Threshold as Threshold

Examples

DWT(name="haar", concat=0)

"name" can be found in pywt.wavelist(family)

concat = 0 means to split to 4 smaller layers

from tensorflow import keras
model = keras.Sequential()
model.add(keras.Input(shape=(28, 28, 1)))
model.add(DWT.DWT(name="haar",concat=0))
model.add(keras.layers.Flatten())
model.add(keras.layers.Dense(nb_classes, activation="softmax"))
model.summary()
_________________________________________________________________
Layer (type)                 Output Shape              Param #
=================================================================
dwt_9_haar (DWT)             (None, 14, 14, 4)         0
_________________________________________________________________
flatten_9 (Flatten)          (None, 784)               0
_________________________________________________________________
dense_9 (Dense)              (None, 10)                7850
=================================================================
Total params: 7,850
Trainable params: 7,850
Non-trainable params: 0
_________________________________________________________________

name = "db4" concat = 1


model = keras.Sequential()
model.add(layers.InputLayer(input_shape=(28, 28, 1)))
model.add(DWT(name="db4", concat=1))
model.summary()
Model: "sequential"
_________________________________________________________________
Layer (type)                 Output Shape              Param #
=================================================================
dwt_db4 (DWT)                (None, 34, 34, 1)         0
=================================================================
Total params: 0
Trainable params: 0
Non-trainable params: 0
_________________________________________________________________

DMWT

functional example with Sure Threshold

from tensorflow.keras import layers
x_inp = layers.Input(shape=(512, 512, 1))
x = DMWT("ghm")(x_inp)
x = Threshold.Threshold(algo='sure', mode='hard')(x) # use "soft" or "hard"
x = IDMWT("ghm")(x)
model = Model(x_inp, x, name="MyModel")
model.summary()
Model: "MyModel"
_________________________________________________________________
Layer (type)                 Output Shape              Param #
=================================================================
input_1 (InputLayer)         [(None, 512, 512, 1)]     0
_________________________________________________________________
dmwt (DMWT)                  (None, 1024, 1024, 1)     0
_________________________________________________________________
sure_threshold (SureThreshol (None, 1024, 1024, 1)     0
_________________________________________________________________
idmwt (IDMWT)                (None, 512, 512, 1)       0
=================================================================
Total params: 0
Trainable params: 0
Non-trainable params: 0
_________________________________________________________________

Free Software, Hell Yeah!

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

tensorflow-wavelets-1.0.28.tar.gz (19.6 kB view details)

Uploaded Source

Built Distribution

tensorflow_wavelets-1.0.28-py3-none-any.whl (25.3 kB view details)

Uploaded Python 3

File details

Details for the file tensorflow-wavelets-1.0.28.tar.gz.

File metadata

  • Download URL: tensorflow-wavelets-1.0.28.tar.gz
  • Upload date:
  • Size: 19.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.7.8

File hashes

Hashes for tensorflow-wavelets-1.0.28.tar.gz
Algorithm Hash digest
SHA256 9fbe68d364602e6d1f0b1f0d51aa02e5622df85f627f82ef20d0f68e8b04196a
MD5 58109ca019f92143ea79a766c5bbbe0b
BLAKE2b-256 ba3e0af7e6e1c74dc4a9499a8ffaa105f9f90a3354b781b6af7c1cfe04386bcd

See more details on using hashes here.

File details

Details for the file tensorflow_wavelets-1.0.28-py3-none-any.whl.

File metadata

  • Download URL: tensorflow_wavelets-1.0.28-py3-none-any.whl
  • Upload date:
  • Size: 25.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.7.8

File hashes

Hashes for tensorflow_wavelets-1.0.28-py3-none-any.whl
Algorithm Hash digest
SHA256 9fa845bae7a4d9cdf32e9c7c71fd79d8a96584d612e43ad813696389f0c54958
MD5 b06fe2a85cd1298e5bc49fc73876b870
BLAKE2b-256 590be02bdf43c90d493f036f73181cbfd0edd2a6e3820a1935b263de80064cae

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