tensorflow中常量(constant)、变量(Variable)、占位符(placeholder)和张量类型转换reshape()
2018-01-09 21:52
435 查看
常量 constant
tf.constant()函数定义:
def constant(value, dtype=None, shape=None, name="Const", verify_shape=False)
value: 符合tf中定义的数据类型的常数值或者常数列表;
dtype:数据类型,可选;
shape:常量的形状,可选;
name:常量的名字,可选;
verify_shape:常量的形状是否可以被更改,默认不可更改;
constant()函数提供在tensorflow中定义常量(不可更改的张量)的方法。
例如:
tensor_constant1 = tf.constant([1,2,3,4])
得到常数张量[1,2,3,4]。
除了直接赋值以外,tf还提供使用tf.ones()、tf.zeros()等初始化张量的方法。
变量 Variable
tensorflow中的变量是通过Variable类来实现的,类初始化函数为tf.Variable():
def __init__(self, initial_value=None, trainable=True, collections=None, validate_shape=True, caching_device=None, name=None, variable_def=None, dtype=None, expected_shape=None, import_scope=None)
tensorflow中的可以改变的量包括训练过程中的输入数据,输出数据以及控制从输入到输出的学习机制(具体体现为网络参数),输入输出数据在tf中是用placeholder占位符定义的,tf的学习机制使用变量来表示。
TensorFlow中的变量特指深度学习机制中,控制输入到输出映射的可以变化的数据,这些变化数据随着训练迭代的进行,不断地改变数值,不断优化,使输出的结果越来越接近于正确的结果。
例如初始化一个含有100个值为0的一维常量的变量:
w_c1 = Variable(tf.zeros([100]))
占位变量 placeholder
tf.placeholder()函数定义:
def placeholder(dtype, shape=None, name=None)
dtype:表示tensorflow中的数据类型,如常用的tf.float32,tf.float64等数值类型;
shape:表示数据类型,默认的None是一个一维的数值,shape=[None,5],表示行不定,列是5;
name:张量名称;
placeholder()又叫占位符,用于声明一个张量的数据格式,告诉系统这里会有一个这种格式的张量,但是还没有给定具体数值,具体的数值要在正式运行的时候给到。占位变量是一种TensorFlow用来解决读取大量训练数据问题的机制,它允许你现在不用给它赋值,随着训练的开始,再把训练数据传送给训练网络学习。
例如:
X = tf.placeholder(tf.float32, shape = [None, 100 * 100])
以上声明一个张量并赋值给X,数据类型是tf.float32,大小是None*100*100,None表示数量不定,tensorflow会根据运行时候具体情况调整。
张量转换 reshape
tf.reshape()定义:
tf.reshape(tensor, shape, name=None)
tensor:张量
shape:目标张量的形式
name:名称,可选
reshape()的作用是将原始张量转换为参数中shape指定的形式。
其中shape为一个列表形式,特殊的一点是列表中可以存在-1。-1代表的含义是不用显式指定这一维的大小,函数会自动计算,但列表中只能存在一个-1。
例如:
lable = [1,2,3,4,5,6,7,8]
reshape1 = tf.reshape(lable,shape = [2,-1])
reshape2 = tf.reshape(lable,shape = [2,4])
reshape1和 reshape2等价。
相关文章推荐
- tensorflow之变量(Variable)与常量(constant)体会
- C#语言基础之转义字符、变量、常量、类型转换
- JAVA基础入门常量、变量、数据类型转换相关
- [TensorFlow学习手记] 3 - Variable变量和Placeholder简单运用
- 第二节 变量 、 基本类型 、 运算符 、 表达式 、 数据 、 类型转换 、 常量
- swift基础(一):常量和变量、数据类型、数据转换基础等
- PHP笔记2__变量/字符串/类型转换/常量/,,
- 注释/关键字/常量/变量/数据类型/标识符/类型转换/Eclipse快捷键
- 04 Tensorflow的中的常量、变量和数据类型
- Java基础语法(一)<注释,关键字,常量,变量,数据类型,标识符,数据类型转换>
- swift学习笔记1-常量变量、运算符、类型转换
- 黑马程序员_Java基础(环境搭建,常量变量,类型转换,运算符,控制语句)
- DeepLearning | Tensorflow编程基础:Session、Constant、Variable、Tensor、Placeholder、OP
- 数据类型、变量、常量、数据类型转换
- 黑马程序员—Java语言基础(关键字、标识符、注释、常量与变量、进制、数据类型、类型转换、代码示例)
- I学霸官方免费教程四:Java基础之数据类型 常量 变量 数据类型转换
- C# 入门(3) 变量(variable)、常量(constant)、只读(readonly)变量
- Java基础复习之一篇:关健字,标识符,注释,常量,进制转换,变量,数据类型,数据类型转换
- JavaSE_2th_标识符、关键字、基本数据类型、类型转换、变量和常量
- 智渔课堂官方免费教程四:Java基础之数据类型 常量 变量 数据类型转换