tensorflow 占位符

38 篇文章 2 订阅
37 篇文章 0 订阅

 

tensorflow的占位符本质就是先声明数据类型,以便建立模型时申请内存。

在这里声明的:https://github.com/tensorflow/tensorflow/blob/r1.13/tensorflow/python/ops/array_ops.py

tf.placeholder(
    dtype,
    shape=None,
    name=None
)

需要知道下面这些:

tensorflow 的基本原理hin简单,他是静态图的激活:

建立一个空的架子,就像很多个有关节的管道。然后等你的数据进来,不断地优化这个管道,有的节点被砍掉,有的被变粗。所以tensorflow其实就是tensor的流动。tensor可以理解为多维数据,比如7*7*14

很多的教程都说model就是一张静态的GRAPH,tensorflow提供的方法init 一个session,sess = tf.Session()  然后sess.run()就是一个指针,指到图的哪里,就激活哪里。

那么图的建立,数据的输入,激活,目前看来是这三个部分的。你可以任意建立一个静态的模型,而不需要给他数据,而他也不会被唤醒运行,除非你sess.run()

那么,想过一个问题没有,静态图也是需要知道你的数据有多大的,毕竟你得先把架子真的搭建起来数据才能进来,那就需要我们先用占位符在模型静态图这样我们的程序(底层)才能和去申请排队占用内存。很多高级的语言在声明变量的时候不需要指明类型,比如python a=[],但是在c里面我们需要指明变量类型的,int a = 1.这就是因为C语言需要跟你的操作系统沟通。这就是tensorflow占位符的作用

import tensorflow as tf
#built model
a = tf.placeholder(dtype = np.float32)
b = tf.constant(3.3333)
c = tf.add(a,b)
with tf.Session() as sess:
    print(sess.run(c,feed_dict={a:1.111,b:4.4444}))

这里sess.run()是方法,feed_dict是他的参数。是一个字典。

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值