tensorflow中常量(constant)、变量(Variable)、占位符(placeholder)和张量类型转换reshape()
常量 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中常量(constant)、变量(Variable)、占位符(placeholder)和张量类型转换reshape()的更多相关文章
- TensorFlow解析常量、变量和占位符
TensorFlow解析常量.变量和占位符 最基本的 TensorFlow 提供了一个库来定义和执行对张量的各种数学运算.张量,可理解为一个 n 维矩阵,所有类型的数据,包括标量.矢量和矩阵等都是特殊 ...
- tensorflow学习笔记(二)常量、变量、占位符、会话
常量.变量.占位符.会话是tensorflow编程的基础也是最常用到的东西,tensorflow中定义的变量.常量都是tensor(张量)类型. 常量tf.constant() tensorflow中 ...
- TensorFlow从0到1之常量、变量和占位符详解(6)
最基本的 TensorFlow 提供了一个库来定义和执行对张量的各种数学运算.张量,可理解为一个 n 维矩阵,所有类型的数据,包括标量.矢量和矩阵等都是特殊类型的张量. TensorFlow 支持 ...
- tensorflow中张量_常量_变量_占位符
1.tensor 在tensorflow中,数据是被封装在tensor对象中的.tensor是张量的意思,即包含从0到任意维度的张量.常数是0维度的张量,向量是1维度的张量,矩阵是二维度的张量,以及还 ...
- RunTime运行时在iOS中的应用之UITextField占位符placeholder
RunTime运行时机制 runtime是一套比较底层的纯C语言API, 属于1个C语言库, 包含了很多底层的C语言API. 在我们平时编写的Objective-C代码中, 程序运行过程时, 其实最终 ...
- SQL 引号中的问号在PrepareStatement 中不被看作是占位符
SQL 引号中的问号在PrepareStatement 中不被看作是占位符. 如:SELECT P.NAME, S.YEAR, S.QUANTITY FROM SALES S LEFT JOIN PR ...
- [Sass]占位符 %placeholder
[Sass]占位符 %placeholder Sass 中的占位符 %placeholder 功能是一个很强大,很实用的一个功能,这也是我非常喜欢的功能.他可以取代以前 CSS 中的基类造成的代码冗余 ...
- 占位符(placeholder text)
占位符(placeholder text)是用户在input(输入)框输入任何东西之前放置在input(输入)框中的预定义文本. 你可以用如下方式创建占位符: <input type=" ...
- 输入框占位符placeholder
占位符placeholder的益处不用多说,但是很不幸的是,在IE8之前的浏览器里是无法实现placeholder这一属性的,所以在需要兼容IE8之前的浏览器的情况下,我们不得不想办法模拟实现plac ...
随机推荐
- <button>标签也能提交表单问题
如何避免<button>标签也能提交表单的问题: 只需加上一个属性:type='button'即可:如<button type="button"> < ...
- 中国程序员如何去 Facebook 工作?
1.在Facebook,可以选择哪里工作? Facebook 在内地确实没有 Office ,但可以在https://www.facebook.com/careers/?ref=pf#location ...
- 使用CSDN CODE来存放OPENSTACK位于GITHUB上的源代码
use CSDN CODE to pull openstack codes 2014-11-20 Author:Hyphen 问题 直接从GITHUB上获代替码,常常是没保障,特别是用DEVSTACK ...
- I2C驱动详解
I2C讲解: 在JZ2440开发板上,I2C是由两条数据线构成的SCL,SDA:SCL作为时钟总线,SDA作为数据总线:两条线上可挂载I2C设备,如:AT24C08 两条线连接ARM9 I2C控制器, ...
- 什么是Mocking framework?它有什么用?(转)
今天我想讲下关于mocking frameworks,并且解释下他为什么有用处.我将给你们展示用和不用mocking framework两种测试方法. 假设我们已经有了一个Driver类: publi ...
- SpringBoot中的配置文件
http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
- csv .xlsx
def gen_file_data(fodir, fname, sheet_index=0, ): if fname.find('.xlsx') > -1: fname_open = '%s\\ ...
- iOS main函数讲解
int main(int argc, char * argv[]) { @autoreleasepool { //四个参数 主要讲解后面两个参数 /* 第三个参数:UIApplication或者其子类 ...
- 洛谷 P2051 [AHOI2009]中国象棋
题目描述 这次小可可想解决的难题和中国象棋有关,在一个N行M列的棋盘上,让你放若干个炮(可以是0个),使得没有一个炮可以攻击到另一个炮,请问有多少种放置方法.大家肯定很清楚,在中国象棋中炮的行走方式是 ...
- Bootstrap第3天
Bootstrap第3天 图片样式 .img-responsive:直接为图片添加该样式,可以实现响应式图片. .center-block:图片居中样式,而不能使用text-center样式. 图片形 ...