网站域名过期未续费怎么办,seo外链专员,wordpress 首页伪静态,找培训机构的app简介#xff1a;本文从Graph讲到Session#xff0c;同时讲解了tf.constant创建tensor的用法和variable需要初始化的知识点#xff0c;可以给你打好一个学习Tensorflow的基础。本文都是基于TensorFlow1.14.0的版本下运行。 本专栏将会系统的讲解TensorFlow在1.14.0版本下的各… 简介本文从Graph讲到Session同时讲解了tf.constant创建tensor的用法和variable需要初始化的知识点可以给你打好一个学习Tensorflow的基础。本文都是基于TensorFlow1.14.0的版本下运行。 本专栏将会系统的讲解TensorFlow在1.14.0版本下的各种用法并且会讲解各种常用的神经网络模型希望能给大家带来一定的帮助我也需要大家的关注 Tensorflow基本概念 1.1使用图Graphs表示计算任务1.2 在被称之为会话Session的上下文Context中执行图1.3 使用tensor表示数据1.3.1 tf.constant的用法 1.4 通过变量vaiable维护状态1.5 使用feed和fetch可以为任意的操作赋值或者从其中获取数据 沟通致谢 1.1使用图Graphs表示计算任务
as_default是一种方便、规范地管理和使用自定义计算图将相关操作准确添加到期望的计算图中的重要手段。
import tensorflow as tf
Graph_mean tf.Graph()
with Graph_mean.as_default():# 在这个自定义图中定义两个常量a tf.constant(5, namea)b tf.constant(3, nameb)# 定义一个加法操作c tf.add(a, b, namec)# 查看计算图中的操作
print(Graph_mean.get_operations())在上述代码中 首先通过 tf.Graph() 创建了一个新的计算图对象 graph。 然后使用 with graph.as_default() 上下文管理器确保后续定义的操作都添加到这个自定义的计算图中。这里定义了两个常量 a 和 b并通过 tf.add 操作将它们相加得到 c。 最后通过 graph.get_operations() 打印出这个计算图中的操作信息可以看到包含了定义的常量和加法操作相关内容。
1.2 在被称之为会话Session的上下文Context中执行图
在下面这段代码中 通过tf.compat.v1.Session 定义一个会话使用run来进行定义好的加法操作
import tensorflow as tf
Graph_mean tf.Graph()
with Graph_mean.as_default():# 在这个自定义图中定义两个常量a tf.constant(5, namea)b tf.constant(3, nameb)# 定义一个加法操作c tf.add(a, b, namec)with tf.compat.v1.Session(graph Graph_mean) as cacluate:result cacluate.run(c)print(计算结果:, result) 注意网上跟TensorFlow的代码有很多因为版本不同有的时候会遇到warnings 一些老版本的代码使用的是tf.Session但是在1.14.0的版本中对于老版本代码不再维护推荐使用tf.compat.v1.Session来避免warnings提醒大家是怕大家在阅读一些Github中找到的项目复制代码到自己的项目中。
1.3 使用tensor表示数据
1.3.1 tf.constant的用法
tf.constant(value, dtypeNone, shapeNone, name‘constant’) dtype这是可选参数用于指定张量的数据类型。 shape也是可选参数用于指定张量的形状。如果指定了形状value的元素个数必须与形状所定义的元素个数一致。 name同样是可选参数用于给这个常量张量一个名字。 下面的代码展示了不同参数的作用
import tensorflow as tf
# 这是一个标量也可以叫做零维张量
zero_dim_scalar tf.constant(10,dtypetf.float32)
# 创建一个一维张量
one_dim_tensor tf.constant([1,2,3])
# 创建一个二维张量
two_dim_tensor tf.constant([[1,2],[3,4]])
# 创建一个三维张量
tf.constant([[[1, 2], [3, 4]], [[5, 6], [7, 8]]],namethree_dim_tensor)with tf.compat.v1.Session()as cacluate:print(f常量:{cacluate.run(zero_dim_scalar)})print(f一维张量:{cacluate.run(one_dim_tensor)})print(f二维张量:{cacluate.run(two_dim_tensor)})print(f三维张量:{cacluate.run(three_dim_tensor)}) 1.4 通过变量vaiable维护状态
在下面这段代码中使用tf.Variable定义一个变量variable_element给他定义了一个自增1 操作add_one_option在会话中初始化以后用for循环重复执行查看变量变化情况
import tensorflow as tf
# 定义一个Variable 变量叫做 variable_element
variable_element tf.Variable(0, dtypetf.int32)
# 定义一个使 variable_element自增1的操作
add_one_option variable_element.assign_add(1)
# 使用variable需要先初始化
init_option tf.global_variables_initializer()with tf.compat.v1.Session() as cacluate:cacluate.run(init_option)for i in range(5):cacluate.run(add_one_option)print(变量当前值:, cacluate.run(variable_element)) 1.5 使用feed和fetch可以为任意的操作赋值或者从其中获取数据
在下面的代码实例中定义了占位符并且定义了平方操作然后传入需要处理的数据
import tensorflow as tf
# 创建占位符
place tf.compat.v1.placeholder(dtype tf.int32,shape [None])# 创建一个操作计算向量中元素的平方
square_option tf.square(place)with tf.compat.v1.Session() as sess:# 使用feed机制将实际的数据传入占位符并执行操作获取结果fetchinput_data [1, 2, 3]result sess.run(square_option, feed_dict{place: input_data})print(计算结果:, result)沟通
如果你们哪里有看不懂的地方可以积极和我沟通我哪里讲的不够全了哪里讲的不太对了万事万物都是发展的当你们有经验了以后你们也会发现我的不足希望我们能共同进步。
致谢
本文参考了一些博主的文章博取了他们的长处也结合了我的一些经验对他们表达诚挚的感谢使我对 TensorFlow的使用有更深入的了解也推荐大家去阅读一下他们的文章。纸上学来终觉浅明知此事要躬行 TensorFlow创建常量(tf.constant)详解 tf.compat.v1.placeholder