tensorflow接口学习

似乎每个Tensor对应底层的一个值
似乎每个OP都必须由sees.run触发
Tensor对应一个高维空间,比如
(1,2,3)对应一个三维空间,每一维的长度分别为1,2,3. (0,0,0)标示了其中一个元素的坐标。
(4,5,6,7)对应一个四维空间,每一维的长度分别为4,5,6,7. (3,3,3,3)标示了其中一个元素的坐标。
一个样本有n个属性,集合有m个样本,则表达这个集合需要2维Tensor,即(m,n)矩阵。
似乎可以这么理解,Tensor的第一维对应样本数量,最后一维对应具体的属性值,中间维只是进行嵌套。

tf.Variable 变量,添加一些OP到graph。Tensor类型variables,也可能是trainable_variables,可训练的变量
tf.random_normal([784, 200], stddev=0.35) 一种OP,返回一个张量
tf.zeros([200]) 一种OP,返回一个张量
tf.initialize_all_variables() 返回一个OP,初始化所有tf.Variable,即执行tf.Variable内部的OP。sees.run可以触发此OP
tf.summary.scalar(‘loss’, loss) 返回一个Tensor,但是在内部已经把这个Tensor加入ops._collections下的某一组。似乎所有的Tensor都有对应的分组类型,方便统一处理。Tensor类型summaries
tf.merge_all_summaries() 返回一个OP,对所有summaries类型的Tensor执行初始化。

tf.Variable 一定会创建一个变量
tf.get_variable 先试图找变量,找不到再创建变量,主要是为了参数共享。比如训练出来一组参数,想在不同的地方使用,就需要参数共享
tf.name_scope 主要结合 tf.Variable() 来使用,方便参数命名管理
tf.variable_scope 主要结合 tf.get_variable 来使用,实现 变量共享
tf.name_scope 并不会对 tf.get_variable 创建的变量有任何影响

首先我们要确立一种 Graph 的思想。在 TensorFlow 中,我们定义一个变量,相当于往 Graph 中添加了一个节点。和普通的 python 函数不一样,在一般的函数中,我们对输入进行处理,然后返回一个结果,而函数里边定义的一些局部变量我们就不管了。但是在 TensorFlow 中,我们在函数里边创建了一个变量,就是往 Graph 中添加了一个节点。出了这个函数后,这个节点还是存在于 Graph 中的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值