湖北建设厅网站安全员名单,wordpress 4.3.4下载,网站系统 深圳博域通讯,手机网站建设服务哪家好本系列文章md笔记#xff08;已分享#xff09;主要讨论深度学习相关知识。可以让大家熟练掌握机器学习基础,如分类、回归#xff08;含代码#xff09;#xff0c;熟练掌握numpy,pandas,sklearn等框架使用。在算法上#xff0c;掌握神经网络的数学原理#xff0c;手动实…
本系列文章md笔记已分享主要讨论深度学习相关知识。可以让大家熟练掌握机器学习基础,如分类、回归含代码熟练掌握numpy,pandas,sklearn等框架使用。在算法上掌握神经网络的数学原理手动实现简单的神经网络结构在应用上熟练掌握TensorFlow框架使用掌握神经网络图像相关案例。具体包括TensorFlow的数据流图结构神经网络与tf.keras卷积神经网络(CNN)商品物体检测项目介绍YOLO与SSD商品检测数据集训练和模型导出与部署。
全套笔记和代码自取移步gitee仓库 gitee仓库获取完整文档和代码
感兴趣的小伙伴可以自取哦欢迎大家点赞转发~ 共 9 章60 子模块 TensorFlow介绍
说明TensorFlow的数据流图结构
应用TensorFlow操作图
说明会话在TensorFlow程序中的作用
应用TensorFlow实现张量的创建、形状类型修改操作
应用Variable实现变量op的创建
应用Tensorboard实现图结构以及张量值的显示
应用tf.train.saver实现TensorFlow的模型保存以及加载
应用tf.app.flags实现命令行参数添加和使用
应用TensorFlow实现线性回归2.4 张量
学习目标 目标 知道常见的TensorFlow创建张量知道常见的张量数学运算操作说明numpy的数组和张量相同性说明张量的两种形状改变特点应用set_shape和tf.reshape实现张量形状的修改应用tf.matmul实现张量的矩阵运算修改应用tf.cast实现张量的类型 应用 无 内容预览 2.4.1 张量(Tensor) 1 张量的类型2 张量的阶 2.4.2 创建张量的指令 固定值张量随机值张量 2.4.3 张量的变换 1 类型改变2 形状改变 2.4.4 张量的数学运算
在编写 TensorFlow 程序时程序传递和运算的主要目标是tf.Tensor
2.4.1 张量(Tensor)
TensorFlow 的张量就是一个 n 维数组 类型为tf.Tensor。Tensor具有以下两个重要的属性
type:数据类型shape:形状(阶)
2.4.1.1 张量的类型 2.4.1.2 张量的阶 形状有0阶、1阶、2阶….
tensor1 tf.constant(4.0)
tensor2 tf.constant([1, 2, 3, 4])
linear_squares tf.constant([[4], [9], [16], [25]], dtypetf.int32)print(tensor1.shape)# 0维() 1维(10, ) 2维(3, 4) 3维(3, 4, 5)
2.4.2 创建张量的指令
固定值张量 随机值张量 其它特殊的创建张量的op tf.Variabletf.placeholder
2.4.3 张量的变换
1 类型改变 2 形状改变
TensorFlow的张量具有两种形状变换动态形状和静态形状
tf.reshapetf.set_shape
关于动态形状和静态形状必须符合以下规则 静态形状 转换静态形状的时候1-D到1-D2-D到2-D不能跨阶数改变形状对于已经固定的张量的静态形状的张量不能再次设置静态形状 动态形状 tf.reshape()动态创建新张量时张量的元素个数必须匹配
def tensor_demo():张量的介绍:return:a tf.constant(value30.0, dtypetf.float32, namea)b tf.constant([[1, 2], [3, 4]], dtypetf.int32, nameb)a2 tf.constant(value30.0, dtypetf.float32, namea2)c tf.placeholder(dtypetf.float32, shape[2, 3, 4], namec)sum tf.add(a, a2, namemy_add)print(a, a2, b, c)print(sum)# 获取张量属性print(a的图属性\n, a.graph)print(b的名字\n, b.name)print(a2的形状\n, a2.shape)print(c的数据类型\n, c.dtype)print(sum的op:\n, sum.op)# 获取静态形状print(b的静态形状\n, b.get_shape())# 定义占位符a_p tf.placeholder(dtypetf.float32, shape[None, None])b_p tf.placeholder(dtypetf.float32, shape[None, 10])c_p tf.placeholder(dtypetf.float32, shape[3, 2])# 获取静态形状print(a_p的静态形状为\n, a_p.get_shape())print(b_p的静态形状为\n, b_p.get_shape())print(c_p的静态形状为\n, c_p.get_shape())# 形状更新# a_p.set_shape([2, 3])# 静态形状已经固定部分就不能修改了# b_p.set_shape([10, 3])# c_p.set_shape([2, 3])# 静态形状已经固定的部分包括它的阶数如果阶数固定了就不能跨阶更新形状# 如果想要跨阶改变形状就要用动态形状# a_p.set_shape([1, 2, 3])# 获取静态形状print(a_p的静态形状为\n, a_p.get_shape())print(b_p的静态形状为\n, b_p.get_shape())print(c_p的静态形状为\n, c_p.get_shape())# 动态形状# c_p_r tf.reshape(c_p, [1, 2, 3])c_p_r tf.reshape(c_p, [2, 3])# 动态形状改变的时候不能改变元素的总个数# c_p_r2 tf.reshape(c_p, [3, 1])print(动态形状的结果\n, c_p_r)# print(动态形状的结果2\n, c_p_r2)return None2.4.4 张量的数学运算
算术运算符基本数学函数矩阵运算reduce操作序列索引操作
这些API使用我们在使用的时候介绍具体参考文档
2.5 变量OP 目标 说明变量op的特殊作用说明变量op的trainable参数的作用应用global_variables_initializer实现变量op的初始化 应用 无 内容预览 2.5.1 创建变量2.5.2 使用tf.variable_scope()修改变量的命名空间
TensorFlow变量是表示程序处理的共享持久状态的最佳方法。变量通过 tf.Variable OP类进行操作。变量的特点
存储持久化可修改值可指定被训练
2.5.1 创建变量 tf.Variable(initial_valueNone,trainableTrue,collectionsNone,nameNone) initial_value:初始化的值trainable:是否被训练collections新变量将添加到列出的图的集合中collections默认为[GraphKeys.GLOBAL_VARIABLES]如果trainable是True变量也被添加到图形集合 GraphKeys.TRAINABLE_VARIABLES 变量需要显式初始化才能运行值
def variable_demo():变量的演示:return:# 定义变量a tf.Variable(initial_value30)b tf.Variable(initial_value40)sum tf.add(a, b)# 初始化变量init tf.global_variables_initializer()# 开启会话with tf.Session() as sess:# 变量初始化sess.run(init)print(sum:\n, sess.run(sum))return None2.5.2 使用tf.variable_scope()修改变量的命名空间
会在OP的名字前面增加命名空间的指定名字
with tf.variable_scope(name):var tf.Variable(namevar, initial_value[4], dtypetf.float32)var_double tf.Variable(namevar, initial_value[4], dtypetf.float32)tf.Variable name/var:0 shape() dtypefloat32_ref
tf.Variable name/var_1:0 shape() dtypefloat32_ref请期待下一期
pe()修改变量的命名空间
会在OP的名字前面增加命名空间的指定名字
with tf.variable_scope(name):var tf.Variable(namevar, initial_value[4], dtypetf.float32)var_double tf.Variable(namevar, initial_value[4], dtypetf.float32)tf.Variable name/var:0 shape() dtypefloat32_ref
tf.Variable name/var_1:0 shape() dtypefloat32_ref请期待下一期