TensorFlow学习笔记(二):基础练习

使用tensoflow表示以下数据流图:

import tensorflow as tf

graph=tf.Graph()

with graph.as_default():
    # transformation对象
    with tf.name_scope("transformation"):
        # 输入
        input=tf.placeholder(dtype=tf.float32,shape=[None],name="input")
        # op
        b=tf.reduce_prod(input,name='b_prod')
        c=tf.reduce_sum(input,name='c_sum')
        d=tf.add(b,c,name='d_add')

    # variables对象
    with tf.name_scope('Variables'):
        step=tf.Variable(0,name='step',trainable=False,dtype=tf.int32)
        total_output=tf.Variable(0,name='total_output',trainable=False,dtype=tf.float32)
        # update对象
    with tf.name_scope("update"):
        update_output = total_output.assign_add(d)
        update_step=step.assign_add(1)

    with tf.name_scope("tf_summary"):
        #均值
        average=tf.div(update_output,tf.cast(update_step,tf.float32),name='average')

        #汇总数据
        tf.summary.scalar('output',d)
        tf.summary.scalar('average',average)
        tf.summary.scalar('sum of outputs',update_output)
    # 全局Variable对象和op
    with tf.name_scope('global_ops'):
        init=tf.initialize_all_variables()
        merged_summaries=tf.summary.merge_all()


    sess=tf.Session(graph=graph)

    writer=tf.summary.FileWriter('./improvedgraph',graph)

    sess.run(init)


def run_graph(input_tensor):
    feed_dict={input:input_tensor}
    _,step_,summary=sess.run([d,update_step,merged_summaries],feed_dict=feed_dict)
    writer.add_summary(summary,global_step=step_)

run_graph([2,8])
run_graph([3,1,3,3])
writer.flush()
writer.close()
sess.close()

结果如图

猜你喜欢

转载自blog.csdn.net/weixin_38047275/article/details/81429832
今日推荐