返回输入张量的大小,注意不是 shape而是元素个数,0 维张量默认为 tf.int32 类型
input:张量或稀疏张量
name:可选参数,操作的名称
out_type:可选参数操作的指定非量化数字输出类型,默认是 tf.int32 类型
tensorflow变量接受了Python自己的原生数据类型例如Python中的布尔值类型,数值数据类型(整数浮点数)和字符串类型。单一值将转换为0维张量(标量)列表值将转换为1维张量(向量),列表套列表将被转换成2维张量(矩阵)
你可能已经注意到了Numpy和tensorflow变量有很多相似之处tensorflow变量在设计之初就希望能够与Numpy有着很好的集成效果。Numpy软件包现在已经成为数据科学的通用语言
请记得,我们的好朋友会话tf.Session.run()要求的输入对象是一个Tensor但是它的输出是一个Numpy数组。事实上茬绝大多数场合,你可以同时混合使用tensorflow变量类型和Numpy类型
张量使用可以归结为两大类。
1.第一类对中间计算结果的引用提升代码的可读性
使用张量和不使用张量的对比
#不使用张量,简洁但是可读性降低
2.第二类情况是计算图构造完成后张量可以用来获取计算结果
会话管理tensorflow变量程序运行时的所有资源,并在运行结束后释放所有的资源
会话机制类似于计算图机制:
计算图:在一开始就有一个默认的计算图存在,并且没有特别指定运算会自动加入到这个默认的计算图中
会话:会要手动创建,张量自动添加
tensorflow变量使用会话模式有两种方式
# 加入了┅个异常处理机制,确保释放资源这才是pythonic的写法极力推荐
#运行到这个位置会自动释放sess的资源,优雅尼克这是2.2程序的引用会话的写法多種多样,我们应用最优雅、最pythinc的代码去阐述
变量是tensorflow变量中的核心概念,创建一个类使用tf.Variable,具体格式如下:
1.现在让我们使用tf.Variable()创建变量,这是最简单的、最常用的变量创建方法用的最多的两个参数initial_value和name
2.除了使用tf.Variable()创建变量,还有一个孪生兄弟tf.get_variable(),他两的业务逻辑还是很不一样的使用的唯┅标识符不一样,前者使用实例名作为唯一标志后者使用name参数作为唯一标志。
具体用法可以参考这篇博客
按照习惯get开头的函数都是“查询”、“获取”的意思,但是tf.get_variable()是创建变量get取的是“创建”的意思
tensorflow变量中,程序存在变量在使用前必须初始化
返回输入张量的大小,注意不是 shape而是元素个数,0 维张量默认为 tf.int32 类型
input:张量或稀疏张量
name:可选参数,操作的名称
out_type:可选参数操作的指定非量化数字输出类型,默认是 tf.int32 类型
获取变量维度是一个使用频繁的操作在tensorflow变量中获取变量维度主要用到的操作有以下三种:
对上面三种操作做一下简单分析:(这三种操作先记作A、B、C)
另外,补充从TenaorShape变量中获取具体维度数值的方法
下面给出全部的示例程序: