import tensorflow as tf
from pylab import *

tf.reset_default_graph()

# build your graph
sess = tf.Session()

N1 = 11
N2 = 9
# use names for input and output layers
x = tf.placeholder("float", shape=[None, N1], name="input")
W = tf.Variable(tf.truncated_normal([N1, N2], stddev=0.05),name="w")
b = tf.Variable(tf.ones([N2]), name="b")
c = tf.Variable(tf.zeros([N2]), name="c") + b
y = tf.nn.softmax(tf.matmul(x, W) + b + c, name="output")

sess.run(tf.initialize_all_variables())

# ... training ...

test_input = randn(2,N1)
result = sess.run(y, feed_dict={x:test_input} )

import tfconvert as tf2e
import pprint

m = tf2e.Model(sess)
m.build( x, y )
#m.print_data()

m.output_numpy('test1_out_gen')
m.output_numpy_validation('test1_verify.py',test_input,result)

m.output_cpp('test1_out_gen','test')
m.output_cpp_validation('test1_verify.cpp','test',test_input,result)
