Very very simple example of TensorFlow conv1d.

import tensorflow as tf
import numpy as np

X = np.zeros((10,10)) + 1
filter = np.zeros((5,),dtype=np.float32) + 1

x = tf.placeholder(tf.float32, shape=[None, 10, 1])
f = tf.placeholder(tf.float32, shape = [5, 1, 1])

conv = tf.nn.conv1d(x, f, 1,'SAME')

session = tf.Session()
result = session.run(conv, feed_dict={x:X.reshape((10,10,1)), f:filter.reshape((5,1,1))})
result.reshape((10,10))

result

array([[ 3.,  4.,  5.,  5.,  5.,  5.,  5.,  5.,  4.,  3.],
       [ 3.,  4.,  5.,  5.,  5.,  5.,  5.,  5.,  4.,  3.],
       [ 3.,  4.,  5.,  5.,  5.,  5.,  5.,  5.,  4.,  3.],
       [ 3.,  4.,  5.,  5.,  5.,  5.,  5.,  5.,  4.,  3.],
       [ 3.,  4.,  5.,  5.,  5.,  5.,  5.,  5.,  4.,  3.],
       [ 3.,  4.,  5.,  5.,  5.,  5.,  5.,  5.,  4.,  3.],
       [ 3.,  4.,  5.,  5.,  5.,  5.,  5.,  5.,  4.,  3.],
       [ 3.,  4.,  5.,  5.,  5.,  5.,  5.,  5.,  4.,  3.],
       [ 3.,  4.,  5.,  5.,  5.,  5.,  5.,  5.,  4.,  3.],
       [ 3.,  4.,  5.,  5.,  5.,  5.,  5.,  5.,  4.,  3.]], dtype=float32)
You need to change 10x10 input to 10x10x1 array. (last 1 is for channel, and I only have one channel.)
Also 5 linear filter to 5x1x1 array. (middle 1 for input channel and last 1 for output channel.)

Comments

Popular posts from this blog

Calling OpenCV functions via Cython from Python 3.X.

How to update lookup fileld of Kintone using pykintone

Android's VideoView doesn't always stretch video.