深度学习之tensorflow框架(下)

Posted quxiangjia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习之tensorflow框架(下)相关的知识,希望对你有一定的参考价值。

  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

 

以上是关于深度学习之tensorflow框架(下)的主要内容,如果未能解决你的问题,请参考以下文章

深度学习之tensorflow框架(中)

深度学习之 Keras vs Tensorflow vs Pytorch 三种深度学习框架

深度学习之 Keras vs Tensorflow vs Pytorch 三种深度学习框架

深度学习之 Keras vs Tensorflow vs Pytorch 三种深度学习框架的差异

深度学习之TensorFlow——基本使用

分享《深度学习之TensorFlow:入门原理与进阶实战》PDF+源代码