常量 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()的更多相关文章

  1. TensorFlow解析常量、变量和占位符

    TensorFlow解析常量.变量和占位符 最基本的 TensorFlow 提供了一个库来定义和执行对张量的各种数学运算.张量,可理解为一个 n 维矩阵,所有类型的数据,包括标量.矢量和矩阵等都是特殊 ...

  2. tensorflow学习笔记(二)常量、变量、占位符、会话

    常量.变量.占位符.会话是tensorflow编程的基础也是最常用到的东西,tensorflow中定义的变量.常量都是tensor(张量)类型. 常量tf.constant() tensorflow中 ...

  3. TensorFlow从0到1之常量、变量和占位符详解(6)

    最基本的 TensorFlow 提供了一个库来定义和执行对张量的各种数学运算.张量,可理解为一个 n 维矩阵,所有类型的数据,包括标量.矢量和矩阵等都是特殊类型的张量.   TensorFlow 支持 ...

  4. tensorflow中张量_常量_变量_占位符

    1.tensor 在tensorflow中,数据是被封装在tensor对象中的.tensor是张量的意思,即包含从0到任意维度的张量.常数是0维度的张量,向量是1维度的张量,矩阵是二维度的张量,以及还 ...

  5. RunTime运行时在iOS中的应用之UITextField占位符placeholder

    RunTime运行时机制 runtime是一套比较底层的纯C语言API, 属于1个C语言库, 包含了很多底层的C语言API. 在我们平时编写的Objective-C代码中, 程序运行过程时, 其实最终 ...

  6. SQL 引号中的问号在PrepareStatement 中不被看作是占位符

    SQL 引号中的问号在PrepareStatement 中不被看作是占位符. 如:SELECT P.NAME, S.YEAR, S.QUANTITY FROM SALES S LEFT JOIN PR ...

  7. [Sass]占位符 %placeholder

    [Sass]占位符 %placeholder Sass 中的占位符 %placeholder 功能是一个很强大,很实用的一个功能,这也是我非常喜欢的功能.他可以取代以前 CSS 中的基类造成的代码冗余 ...

  8. 占位符(placeholder text)

    占位符(placeholder text)是用户在input(输入)框输入任何东西之前放置在input(输入)框中的预定义文本. 你可以用如下方式创建占位符: <input type=" ...

  9. 输入框占位符placeholder

    占位符placeholder的益处不用多说,但是很不幸的是,在IE8之前的浏览器里是无法实现placeholder这一属性的,所以在需要兼容IE8之前的浏览器的情况下,我们不得不想办法模拟实现plac ...

随机推荐

  1. StartUML

      原著:Stephen Wong            翻译:火猴 http://blog.csdn.net/monkey_d_meng/article/details/5995610    Sta ...

  2. C#中Dictionary的作用及用法讲解

    Dictionary<string, string>是一个泛型 他本身有集合的功能有时候可以把它看成数组 他的结构是这样的:Dictionary<[key], [value]> ...

  3. 使用java命令运行class文件带包名时出错

    会出现classnotfound的错误. 如:文件x:/Test.java; package xx public class Test{} javac 编译后,java命令出错,需要手动构建包目录xx ...

  4. PHP-Manual的学习----【语言参考】----【类型】-----【string字符串型】

    1.一个字符串 string 就是由一系列的字符组成,其中每个字符等同于一个字节.这意味着 PHP 只能支持 256 的字符集,因此不支持 Unicode .2. string 最大可以达到 2GB. ...

  5. Lumen开发:lumen源码解读之初始化(3)——单例(singleton)与中间件(Middleware)

    版权声明:本文为博主原创文章,未经博主允许不得转载. 今天来讲讲Lumen的singleton和Middleware,先来看看起始文件bootstrap/app.php / * | --------- ...

  6. Cassandra数据库Java訪问

    针对的时Cassandra 2.0 数据库 Java本地client訪问Cassandra,首先建立Javaproject,使用Maven进行管理. 引入依赖: <dependency> ...

  7. python 深复制与浅复制------copy模块

    模块解读: 浅复制: x = copy.copy(y)深复制: x = copy.deepcopy(y)(注:模块特有的异常,copy.Error) 深copy与浅copy的差别主要体现在当有混合对象 ...

  8. Full卷积 Same卷积 Vaild卷积

  9. SDOI2017第一轮

    本蒟蒻表示终于$AC$了$SDOI2017\text{第一轮}$! 兴奋! 附上各个题的题解: $DAT1$: $T1$: BZOJ4816: [Sdoi2017]数字表格 $T2$: BZOJ481 ...

  10. ARDUINO使用GPRS发送GPS数据到OneNet测试

    功能: 测试把固定的GPS数据发送到OneNet平台 调试途中碰到的问题 ARDUINO不支持sprintf的double打印,只能转换为char字符串然后再%s打印 #include <Tim ...