09、TensorFlow张量、变量的区别及代码案例_笔记
- # -*- coding: utf-8 -*-
- __author__ = 'dongfangyao'
- __date__ = '2018/9/15 下午3:33'
- __product__ = 'PyCharm'
- __filename__ = 'tf03'
- import tensorflow as tf
- import os
- # 只显示 warning 和 Error
- os.environ["TF_CPP_MIN_LOG_LEVEL"] = '2'
- # 1、定义一个变量 必须给定初始值
- a = tf.Variable(initial_value=3.0, dtype=tf.float32)
- print(type(a))
- aa = 2
- print(type(aa))
- # 2、定义一个张量
- b = tf.constant(value=2.0, dtype=tf.float32)
- print(type(b))
- c = tf.add(a, b)
- # 3、变量的初始化(推荐:使用全局所有变量的初始化API)
- # 相当于在图中加入一个初始化全局所有变量的操作
- # init_op = tf.initialize_all_variables()
- init_op = tf.global_variables_initializer()
- print(type(init_op))
- # a.initialized_value()
- # 4、图的执行阶段
- with tf.Session(config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=True)) as sess:
- # 运行init_op进行变量初始化,一定要放到所有操作之前
- sess.run(init_op)
- # 这也是初始化运行操作的一种,但是要求明确给定当前代码块对应的默认Session是哪个?底层使用默认session(tf.get_default_session())
- # init_op.run()
- # 获取操作的结果
- print('result:\n{}'.format(sess.run(c)))
- print('result:\n{}'.format(c.eval()))
- pass
复制代码
- # -*- coding: utf-8 -*-
- __author__ = 'dongfangyao'
- __date__ = '2018/9/15 下午4:53'
- __product__ = 'PyCharm'
- __filename__ = 'tf04'
- import tensorflow as tf
- import os
- # 只显示 warning 和 Error
- os.environ["TF_CPP_MIN_LOG_LEVEL"] = '2'
- # 1、创建一个变量
- w1 = tf.Variable(initial_value=tf.random_normal(shape=[10], stddev=0.5, seed=10, dtype=tf.float32), name='w1')
- # 2、基于第一个变量创建第二个变量
- a = tf.constant(2, dtype=tf.float32)
- # 要进行变量之间依赖的初始化就一定用:initialized_value()
- w2 = tf.Variable(initial_value=w1.initialized_value()*a, name='w2')
- # 3、进行全局初始化操作
- # init_op = tf.initialize_all_variables()
- init_op = tf.global_variables_initializer()
- # 4、图的执行
- with tf.Session(config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=True)) as sess:
- sess.run(init_op)
- result = sess.run([w1, w2])
- print('w1={}\nw2={}'.format(result[0], result[1]))
- pass
复制代码
|