本文共 1335 字,大约阅读时间需要 4 分钟。
TensorFlow 是一个开源的深度学习框架,最初由 Google 开发,现由社区维护。它以灵活的计算图和易于使用的API著称,适用于机器学习和深度学习任务。
TensorFlow 中,常量和变量的定义有明确区别。常量使用 tf.constant() 定义,值在定义时就确定下来。变量则使用 tf.Variable() 定义,其值可以通过训练改变。
import tensorflow as tf# 定义常量data1 = tf.constant(2, dtype=tf.int32)# 定义变量data2 = tf.Variable(10, name='var')print(data1)print(data2)
tf.Tensor(2, shape=(), dtype=int32)tf.Variable 'var:0' shape=() dtype=int32, numpy=10
所有使用变量的操作都需要在 Session 中初始化。正确的做法是:
import tensorflow as tf# 定义变量data2 = tf.Variable(10, name='var')# 初始化变量sess = tf.Session()init = tf.global_variables_initializer()sess.run(init)# 使用变量print(sess.run(data2))
如果你使用的是 TensorFlow 2.1.0,可能会遇到 Session 未定义的错误。解决方法是切换到 TensorFlow 1.14.0:
conda install -n tensorflow tensorflow==1.14.0
确保在使用变量之前对其进行初始化,否则会抛出 FailedPreconditionError:
import tensorflow as tf# 定义变量data2 = tf.Variable(10, name='var')# 初始化变量sess = tf.Session()init = tf.global_variables_initializer()sess.run(init)print(sess.run(data2))
TensorFlow 的本质是张量 Tensor 加上计算图 Graph。张量是数据,图则是操作。通过 Session 执行计算图,实现数据操作。
记得在使用完 Session 后关闭它:
with sess: # 初始化变量 init = tf.global_variables_initializer() sess.run(init) # 打印变量值 print(sess.run(data2))
TensorFlow 的核心是张量和计算图。张量表示数据,图表示操作。通过定义计算图,TensorFlow 可以自动执行任务。
转载地址:http://dyfr.baihongyu.com/