tensorflow中的一些语法问题

Posted flightless

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tensorflow中的一些语法问题相关的知识,希望对你有一定的参考价值。

一、tf.range()生成数字序列

range()函数用于创建数字序列变量,有以下两种形式:

range(limit, delta=1, dtype=None, name=range)
range(start, limit, delta=1, dtype=None, name=range)

该数字序列开始于 start 并且将以 delta 为增量扩展到不包括 limit 时的最大值结束,类似python的range函数。

二、tf.expand_dims()

TensorFlow中,想要维度增加一维,可以使用tf.expand_dims(input, dim, name=None)函数。当然,我们常用tf.reshape(input, shape=[])也可以达到相同效果,但是有些时候在构建图的过程中,placeholder没有被feed具体的值,这时就会包下面的错误:TypeError: Expected binary or unicode string, got 1

tf.expand_dims(x,[]) 列表的内容表示在第几个维度上增加

例子如下:

# ‘t‘ is a tensor of shape [2]
shape(expand_dims(t, 0)) ==> [1, 2]
shape(expand_dims(t, 1)) ==> [2, 1]
shape(expand_dims(t, -1)) ==> [2, 1]

# ‘t2‘ is a tensor of shape [2, 3, 5]
shape(expand_dims(t2, 0)) ==> [1, 2, 3, 5]
shape(expand_dims(t2, 2)) ==> [2, 3, 1, 5]
shape(expand_dims(t2, 3)) ==> [2, 3, 5, 1]

三、tf.tile()

tf.tile()在指定维度上复制tensor一定次数 [2,1]表示在第一个维度上(行)重复2次,列上重复1次 
import tensorflow as tf

with tf.Session() as sess:
    a = tf.constant([[15, 16], [17, 18]])
    b = tf.tile(a, [1, 3])
    c = tf.tile(a, [3, 2])
    print(------------------------------------)
    print(sess.run(a))
    print(------------------------------------)
    print(sess.run(b))
    print(------------------------------------)
    print(sess.run(c))

输出值如下:

[[15 16]
 [17 18]]
------------------------------------
[[15 16 15 16 15 16]
 [17 18 17 18 17 18]]
------------------------------------
[[15 16 15 16]
 [17 18 17 18]
 [15 16 15 16]
 [17 18 17 18]
 [15 16 15 16]
 [17 18 17 18]]

 

以上是关于tensorflow中的一些语法问题的主要内容,如果未能解决你的问题,请参考以下文章

在下面的代码片段中的剩余 ='passthrough' 处的代码中出现语法错误

为啥我从 tensorflow 网站收到此代码的语法错误? [关闭]

当 ViewPager 中的片段出现和消失时如何执行一些代码

如何理解这段代码片段中的两对括号?

JSP开发中的基础语法

如何创建片段以重复变量编号中的代码行