《Python深度学习实战:基于TensorFlow和Keras的聊天机器人》 —1.4 占位符
【摘要】 本节书摘来自华章计算机《Python深度学习实战:基于TensorFlow和Keras的聊天机器人》 一书中第1章,第1.4节,作者是[印] 纳温·库马尔·马纳西(Navin Kumar Manaswi),刘毅冰 薛 明 译。
1.4 占位符
占位符是一个可以在之后赋给它数据的变量。它是用来接收外部输入的。占位符可以是一维或者多维,用来存储n维数组。
以下是对上述代码的解释:
1.导入tensorflow模块并用tf来调用它。
2.创建占位符x,指定为float类型。
3.创建张量y,它是x乘以10并加500的操作。注意x的初始值并未给定。
4.创建一个会话用于计算值。
5.在feed_dict中给定x的值以运行y。
6.输出y的值。
在下面这个例子中,创建一个2×4的矩阵(一个二维数组)用于存放一些数。然后使用和之前相同的操作来实现逐元素地乘以10并加1的操作。占位符的第一个维度是None,这意味着任何行数都可以。
也可以考虑一个二维数组而非一维数组。代码如下:
这是一个2×4的矩阵。因此,如果把None替换为2,也可以得到相同的输出。
但是如果创建一个形状为[3,4]的占位符(注意之后你将输入一个2×4的矩阵),将会报错如下:
当调用tf.constant的时候,常量会被初始化,而且其值将不会再变化。而变量在你调用tf.Variable的时候并不会被初始化。想在TensorFlow程序里面初始化所有的变量,必须显式地调用如下的特殊操作。
认识到init是TensorFlow子图的一个句柄很重要,它用来初始化所有的全局变量。在你调用sess.run之前,变量是没有被初始化的。
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)