tensorflow构建图

import tensorflow as tf# 1.定义常量矩阵Aa = tf.constant([[1,2],[3,4]],dtype=tf.int32)print(type(a))b = tf.constant([5,6,7,8],dtype=tf.int32,shape=[2,2])# 2.以a,b做为输入,进行矩阵的乘法操做c = tf.matmul(a,b)print(type(c))print('变量是否在默认图中:{}'.format(a.graph is tf.get_default_graph()))# 3.以a和c做为输入执行矩阵的加操做g = tf.add(a,c)# 4.添加减法# 默认状况下建立的session属于默认图,不给graph的状况下# 不须要考虑图中间的运算,在运行的时候只须要关注最终结果对应的对象以及所须要的输入值# 只须要传递进去所须要的结果对象,会自动根据图中的依赖关系来触发sess = tf.Session()# 调用sess的run方法执行矩阵陈发,获得C的结果值(因此将c做为参数传递进去)result = sess.run(c)print("type:{},value:{}".format(type(result),result))sess.close()with tf.Session() as sess2:    print(sess2)    print("sess2 run:{}".format(sess2.run(c)))    print("c eval:{}".format(c.eval()))# 1.定义一个变量,必须给定初始值a = tf.Variable(initial_value=3.0,dtype=tf.float32)# 2.定义一个张量b = tf.constant(value = 2.0,dtype=tf.float32)c = tf.add(a,b)# 3.进行初始化操做(推荐:使用全局全部变量初始化API)# 至关于在图中加入一个初始化全局变量的操做init_op = tf.global_variables_initializer()# 图的运行with tf.Session(config = tf.ConfigProto(log_device_placement=True,allow_soft_placement=True)) as sess:    sess.run(init_op)    print(sess.run(c))input1 = tf.placeholder(dtype=tf.int32,shape=[1,1],name='input1')input2 = tf.placeholder(dtype=tf.int32,shape=[1,1],name='input2')output=tf.add(input1,input2)with tf.Session(config = tf.ConfigProto(log_device_placement=True,allow_soft_placement=True)) as sess:    print(sess.run(fetches=output,feed_dict={input1:[1],input2:[2]}))# 1.定义一个变量x = tf.Variable(0,dtype=tf.int32,name='v_x')# 2.变量的更新x_assign_op = tf.assign(ref=x,value=x+1)# 变量初始化x_init_op=tf.global_variables_initializer()# 3.运行with tf.Session(config=tf.ConfigProto(log_device_placement=True,allow_soft_placement=True)) as sess:    sess.run(x_init_op)    for i in range(5):        print(sess.run(x_assign_op))需求21.定义一个不定形状的变量x = tf.Variable(initial_value=[],dtype=tf.float32,trainable=False,validate_shape=False)#设置为True,# 2.变量更改concat = tf.concat([x,[0.0,0.0]],axis=0)concat_assign_op=tf.assign(x,concat,validate_shape=False)#更新维度数目,不定长维度x_init_op = tf.global_variables_initializer()with tf.Session() as sess:    sess.run(x_init_op)    for i in range(5):        print(sess.run(concat_assign_op))# 需求3# 1.定义一个变量sum = tf.Variable(1,dtype=tf.int32)# 2..定义一个占位符i = tf.placeholder(dtype=tf.int32)sum_init_op = tf.global_variables_initializer()#3. 更新操做tmp_sum = sum * isum_assign_op = tf.assign(sum,tmp_sum)with tf.control_dependencies([sum_assign_op]):    sum = tf.Print(sum,data = [sum,sum.read_value()],message='sum:')# 4.with tf.Session() as sess:    sess.run(sum_init_op)    for j in range(1,6):        r = sess.run(sum,feed_dict={i:j})    print(r)
相关文章
相关标签/搜索