二者的主要区别在于:

  • tf.Variable:主要在于一些可训练变量(trainable variables),比如模型的权重(weights,W)或者偏执值(bias);

    • 声明时,必须提供初始值;
    • 名称的真实含义,在于变量,也即在真实训练时,其值是会改变的,自然事先需要指定初始值;
      weights = tf.Variable(tf.truncated_normal([IMAGE_PIXELS, hidden1_units],stddev=1./math.sqrt(float(IMAGE_PIXELS)), name='weights')
      )
      biases = tf.Variable(tf.zeros([hidden1_units]), name='biases')
  • tf.placeholder:用于得到传递进来的真实的训练样本:

    • 不必指定初始值,可在运行时,通过 Session.run 的函数的 feed_dict 参数指定;
    • 这也是其命名的原因所在,仅仅作为一种占位符;
    images_placeholder = tf.placeholder(tf.float32, shape=[batch_size, IMAGE_PIXELS])
    labels_placeholder = tf.placeholder(tf.int32, shape=[batch_size])

如下则是二者真实的使用场景:

for step in range(FLAGS.max_steps):feed_dict = {images_placeholder = images_feed,labels_placeholder = labels_feed}_, loss_value = sess.run([train_op, loss], feed_dict=feed_dict)

当执行这些操作时,tf.Variable 的值将会改变,也即被修改,这也是其名称的来源(variable,变量)。

What’s the difference between tf.placeholder and tf.Variable

TensorFlow 辨异 —— tf.placeholder 与 tf.Variable相关推荐

  1. TensorFlow 辨异 —— tf.add(a, b) 与 a+b(tf.assign 与 =)、tf.nn.bias_add 与 tf.add

    1. tf.add(a, b) 与 a+b 在神经网络前向传播的过程中,经常可见如下两种形式的代码: tf.add(tf.matmul(x, w), b) tf.matmul(x, w) + b 简而 ...

  2. 【TensorFlow】占位符:tf.placeholder,与feed_dict

    Tensorflow中的placeholder和feed_dict的使用_python_ https://www.jb51.net/article/143407.htm TensorFlow 支持占位 ...

  3. 【转】tensorflow中的batch_norm以及tf.control_dependencies和tf.GraphKeys.UPDATE_OPS的探究

    笔者近来在tensorflow中使用batch_norm时,由于事先不熟悉其内部的原理,因此将其错误使用,从而出现了结果与预想不一致的结果.事后对其进行了一定的调查与研究,在此进行一些总结. 一.错误 ...

  4. TensorFlow实践(15)——使用tf.device方法指定节点执行设备

    TensorFlow实践(15)--使用tf.device方法指定节点执行设备 (一)前 言 (二)tf.device方法指定节点执行设备 (三)总 结 (一)前 言 当我们调用sess.run()方 ...

  5. tf.placeholder函数的用法

    Tensorflow中的palceholder,中文翻译为占位符 在代码层面,每一个tensor值在graph上都是一个op,当我们将train数据分成一个个minibatch然后传入网络进行训练时, ...

  6. 深度学习框架tensorflow学习与应用6(防止过拟合dropout,keep_prob =tf.placeholder(tf.float32))

    import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data# In[3]:# 载入数据集 mn ...

  7. tensorflow使用tf.placeholder会报错

    tensorflow版本安装问题 原因是1版本的很多函数到2版本中没有了 比如使用tf.placeholder都会报错,显示不存在该函数 很多地方建议使用下面的方法,我试了之后发现也没法解决,原因是t ...

  8. TF:tensorflow框架中常用函数介绍—tf.Variable()和tf.get_variable()用法及其区别

    TF:tensorflow框架中常用函数介绍-tf.Variable()和tf.get_variable()用法及其区别 目录 tensorflow框架 tensorflow.Variable()函数 ...

  9. tensorflow tf.placeholder()(相当于创建变量分配内存空间,但不赋值)

    为什么要用placeholder? Tensorflow的设计理念称之为计算流图,在编写程序时,首先构筑整个系统的graph,代码并不会直接生效,这一点和python的其他数值计算库(如Numpy等) ...

最新文章

  1. Myeclipse优化设置,加速你的开发武器
  2. 【科技金融】某平台互金产品设计流程和运营策略
  3. 21 个非常有用的 .htaccess 提示和技巧
  4. 两数之和,输入有序数组 leetcode C++
  5. ASP.NET MVC基于标注特性的Model验证:一个Model,多种验证规则
  6. UI音乐播放之入门篇AudioSerVicesPlay
  7. 过滤器显示一个路径下特定的文件
  8. Android Studio 设置/更改 SDK 路径
  9. StringUtil和StringUtils的区别
  10. Java、JSP水费管理系统
  11. Wannacry蠕虫勒索软件“永恒之蓝”3种修复方案
  12. Rayson API 框架分析系列之7: 注解处理器(APT)原理
  13. 邮件发送超大附件,上传下载特别慢,怎么解决?
  14. 同步十进制加法计数器设计
  15. java 飞机 源码_Java 飞机游戏源码(带音乐)
  16. 以下11條小建議,幫助你們的異地戀一直保持活力
  17. 钉钉开放文档——JSAPI鉴权失败
  18. Markdown 新手指南
  19. jquery使用淘宝接口跨域查询手机号码归属地实例
  20. EOS系列 - EOSIO 2.0

热门文章

  1. Doris之物化视图
  2. Python 之 函数基础
  3. Spark集群试运行
  4. 一口气看完了蔡学镛的--爪哇夜未眠(第二版)
  5. ad19 导出step 没有pcb_PCB设计导出Gerber基本操作及注意事项(三)
  6. Linux 下 Tomcat Https
  7. [USACO10MAR]伟大的奶牛聚集
  8. bzoj 1217 [HNOI2003]消防局的设立 贪心
  9. 实现Mybatis接口模式下的数据库调用分离
  10. 遇到不可重现问题怎么办