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:\n", tensor1)
10 print("tensor2:\n", tensor2)
11 print("linear_squares:\n", linear_squares)
12
13 # 生成常用张量
14 tensor3 = tf.zeros(shape=(3, 4))
15 print("tensor3:\n", tensor3)
16 tensor4 = tf.ones(shape=(2, 3, 4))
17 print("tensor4:\n", tensor4)
18 tensor5 = tf.random_normal(shape=(2, 3), mean=1.75, stddev=0.2)
19 print("tensor5:\n", tensor5)
20
21 with tf.compat.v1.Session() as sess:
22 print("tensor3_value:\n", tensor3.eval())
23 print("tensor4_value:\n", tensor4.eval())
24 print("tensor4_value:\n", 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:\n", linear_squares)
36
37 l_cast = tf.cast(linear_squares, dtype=tf.float32)
38 print("linear_squares_after:\n", linear_squares)
39 print("l_cast:\n", 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:\n", a)
52 print("b:\n", b)
53 print("c:\n", c)
54
55 # 更新形状未确定的部分
56 a.set_shape([2, 3])
57 b.set_shape([2, 10])
58 print("a:\n", a)
59 print("b:\n", 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:\n", a)
72 a.set_shape([2, 3])
73 print("a_setShape:\n", a)
74 # 元素个数没有变,还是2*3*1=6个
75 a_reshape = tf.reshape(a,shape=[2,3,1])
76 print("a_reshape:\n", a_reshape)
77 print("a:\n", 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:\n",a)
95 print("b:\n",b)
96 print("c:\n",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:\n",a_value)
106 print("b_value:\n",b_value)
107 print("c_value:\n",c_value)
108
109 return None