Skip to content

Instantly share code, notes, and snippets.

@ceshine
Created April 2, 2018 02:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save ceshine/af2d9d49437832bbe0586dc2b7979778 to your computer and use it in GitHub Desktop.
Save ceshine/af2d9d49437832bbe0586dc2b7979778 to your computer and use it in GitHub Desktop.
Temporal Convolutional Networks
class TemporalConvNet(tf.layers.Layer):
def __init__(self, num_channels, kernel_size=2, dropout=0.2,
trainable=True, name=None, dtype=None,
activity_regularizer=None, **kwargs):
super(TemporalConvNet, self).__init__(
trainable=trainable, dtype=dtype,
activity_regularizer=activity_regularizer,
name=name, **kwargs
)
self.layers = []
num_levels = len(num_channels)
for i in range(num_levels):
dilation_size = 2 ** i
out_channels = num_channels[i]
self.layers.append(
TemporalBlock(out_channels, kernel_size, strides=1, dilation_rate=dilation_size,
dropout=dropout, name="tblock_{}".format(i))
)
def call(self, inputs, training=True):
outputs = inputs
for layer in self.layers:
outputs = layer(outputs, training=training)
return outputs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment