1 def tensor_demo(): 2 """ 3 张量的演示 4 :return: 5 """ 6 tensor1 = tf.constant(4.0) 7 tensor2 = tf.constant([1, 2, 3, 4]) 8 linear_squares = tf.constant([[4], [9], [16], [25]], dtype=tf.int32) 9 print("tensor1: ", tensor1) 10 print("tensor2: ", tensor2) 11 print("linear_squares: ", linear_squares) 12 13 # 生成常用张量 14 tensor3 = tf.zeros(shape=(3, 4)) 15 print("tensor3: ", tensor3) 16 tensor4 = tf.ones(shape=(2, 3, 4)) 17 print("tensor4: ", tensor4) 18 tensor5 = tf.random_normal(shape=(2, 3), mean=1.75, stddev=0.2) 19 print("tensor5: ", tensor5) 20 21 with tf.compat.v1.Session() as sess: 22 print("tensor3_value: ", tensor3.eval()) 23 print("tensor4_value: ", tensor4.eval()) 24 print("tensor4_value: ", tensor5.eval()) 25 26 return None 27 28 29 def tensoredit_demo(): 30 """ 31 张量类型的修改 32 :return: 33 """ 34 linear_squares = tf.constant([[4], [9], [16], [25]], dtype=tf.int32) 35 print("linear_squares_before: ", linear_squares) 36 37 l_cast = tf.cast(linear_squares, dtype=tf.float32) 38 print("linear_squares_after: ", linear_squares) 39 print("l_cast: ", l_cast) 40 return None 41 42 43 def editstaticshape_demo(): 44 """ 45 更新/改变静态形状 46 :return: 47 """ 48 a = tf.compat.v1.placeholder(dtype=tf.float32, shape=[None, None]) 49 b = tf.compat.v1.placeholder(dtype=tf.float32, shape=[None, 10]) 50 c = tf.compat.v1.placeholder(dtype=tf.float32, shape=[3, 2]) 51 print("a: ", a) 52 print("b: ", b) 53 print("c: ", c) 54 55 # 更新形状未确定的部分 56 a.set_shape([2, 3]) 57 b.set_shape([2, 10]) 58 print("a: ", a) 59 print("b: ", b) 60 61 return None; 62 63 def editshape_demo(): 64 """ 65 更新/改变动态形状 66 不会改变原始的tensor 67 返回新的改变类型后的tensor 68 :return: 69 """ 70 a = tf.compat.v1.placeholder(dtype=tf.float32, shape=[None, None]) 71 print("a: ", a) 72 a.set_shape([2, 3]) 73 print("a_setShape: ", a) 74 # 元素个数没有变,还是2*3*1=6个 75 a_reshape = tf.reshape(a,shape=[2,3,1]) 76 print("a_reshape: ", a_reshape) 77 print("a: ", a) 78 79 return None; 80 81 def variable_demo(): 82 """ 83 变量的演示 84 变量需要显式初始化,才能运行值 85 :return: 86 """ 87 # 创建变量 88 # 使用命名空间可以使图的结构更加清晰 89 with tf.variable_scope("myscope"): 90 a = tf.Variable(initial_value=50) 91 b = tf.Variable(initial_value=40) 92 with tf.variable_scope("yourscope"): 93 c= tf.add(a,b) 94 print("a: ",a) 95 print("b: ",b) 96 print("c: ",c) 97 98 # 初始化变量 99 init = tf.global_variables_initializer() 100 101 # 开启会话 102 with tf.Session() as sess: 103 sess.run(init) 104 a_value,b_value,c_value=sess.run([a,b,c]) 105 print("a_value: ",a_value) 106 print("b_value: ",b_value) 107 print("c_value: ",c_value) 108 109 return None