import tensorflow as tf
input_value = tf.constant(0.5, name='input_value')
weight = tf.Variable(1.0, name='weight')
expected_output = tf.constant(0.0, name='expected_output')
model = tf.multiply(input_value, weight, 'model')
loss_function = tf.square(expected_output - model, name='loss_function')
optimizer = tf.train.GradientDescentOptimizer(0.0001).minimize(loss_function)
for value in [input_value, weight, expected_output, model, loss_function]:
    tf.summary.scalar(value.op.name, value)
summaries = tf.summary.merge_all()
sess = tf.Session()
summary_writer = tf.summary.FileWriter('logs/simple_test_logs', sess.graph)
sess.run(tf.global_variables_initializer())
for i in range(100):
    summary_writer.add_summary(sess.run(summaries), i)
    sess.run(optimizer)