TensorFlow学习之CS20SI 之二

1. 先来一个TensorFlow的“Hello World”

import tensorflow as tf
a = tf.constant(2)
b = tf.constant(3)
x = tf.add(a, b)
with tf.Session() as sess:
     print sess.run(x)
这就是一个最简单的tensorflow小程序啦,做的事情就是把a和b加起来,a是一个值为2的常数,b是一个值为3的常数,说白了就是计算2+3

前面说到Graph,TensorFlow提供了一个可以可视化它的工具,叫TensorBoard,它的用法是下面这样

import tensorflow as tf
a = tf.constant(2)
b = tf.constant(3)
x = tf.add(a, b)
with tf.Session() as sess:
    # add this line to use TensorBoard.
    writer = tf.summary.FileWriter('./graphs, sess.graph)
    print sess.run(x)
writer.close() # close the writer when you’re done using it
这个比起上面就是加了这一句
writer = tf.summary.FileWriter('./graphs, sess.graph)

意思就是把当前的图存到./graphs这个路径下面,然后在命令行里面输入下面,会出来一个网址,在浏览器中打开那个网址看graphs就可以看到图啦

tensorboard --logdir="./graphs" --port 6006


2. 小栗子跑完了就开始认真学习每个函数是啥意思吧,先从constant开始

tf.constant(value, dtype=None, shape=None,name='Const', verify_shape=False)

它和numpy中的constants类似,可以定义它的值,数据类型、形状、名字、是否检查value和shape一致(不检查会用value自动填shape的形状)

再看几个特殊的constant

tf.zeros(shape, dtype=tf.float32, name=None)

这个是生成全是0的constant,类似于numpy.zeros

tf.zeros_like(input_tensor, dtype=None, name=None, optimize=True)

这个是生成和input_tensor形状一样的全是0的constant,类似于numpy.zeros_like

类似的还有下面这两个,和上面用法一样,就是全生成1

tf.ones(shape, dtype=tf.float32, name=None)
tf.ones_like(input_tensor, dtype=None, name=None, optimize=True)

如果不想填0或者1咋办?那就用下面这个

tf.fill(dims, value, name=None)

它的用法举个栗子就明白了:tf.fill([2, 3], 8) ==> [[8, 8, 8], [8, 8, 8]]

还有其他固定步长的线性增加,统统举栗子带过

tf.linspace(start, stop, num, name=None) # slightly different from np.linspace
tf.linspace(10.0, 13.0, 4) ==> [10.0 11.0 12.0 13.0]
tf.range(start, limit=None, delta=1, dtype=None, name='range')
# 'start' is 3, 'limit' is 18, 'delta' is 3
tf.range(start, limit, delta) ==> [3, 6, 9, 12, 15]
# 'limit' is 5
tf.range(limit) ==> [0, 1, 2, 3, 4]
然后,正态分布,这个初始化用的还挺多的

tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)

至于下面这个,也是正态分布,不一样的地方是大于两倍标准差的都不要啦
tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None,name=None)

剩下几个,就是uniform分布,随机打乱,随机crop,multinomial,和随机gamma,不展开说了

tf.random_uniform(shape, minval=0, maxval=None, dtype=tf.float32, seed=None,
name=None)
tf.random_shuffle(value, seed=None, name=None)
tf.random_crop(value, size, seed=None, name=None)
tf.multinomial(logits, num_samples, seed=None, name=None)
tf.random_gamma(shape, alpha, beta=None, dtype=tf.float32, seed=None, name=None)

此外,随机数每次产生都不一样,我咋debug?没关系,设个seed就每次产生的一样了,用法如下

tf.set_random_seed(seed)


看看TensorFlow支持的operation有哪些?


数据类型






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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值