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)