tile 的含义:
n. 瓦 / 瓷砖 / 软木片 / 亚麻油地毡片v. 用瓦盖 / 贴砖于 / 铺以瓦 / 铺以瓷砖
函数定义:
def tile(input, multiples, name=None):
函数功能:
Constructs a tensor by tiling a given tensor.
即:通过“平铺”一个给定的 tensor 来构造一个新的 tensor。用人话讲就是:把输入的 tensor,在指定的维度上复制N遍(就像铺瓷砖一样),来创建出一个新的 tensor。
3个参数:
input:输入的tensor
multiples:在指定的维度上复制原tensor的次数
name:operation的名字
下面举例:
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))
文章来源:https://www.codelast.com/
输出:
[[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]]
解释一下:
输入的 a 是一个 2x2 的矩阵,tf.tile(a, [1, 3]) 里的 [1, 3] 表示在第一个维度上把输入的tensor重复1遍,在第二个维度上把输入的tensor重复3遍。在本例中,第一个维度就是行,第二个维度就是列,因此 b 就变成了 2x6 的矩阵。
文章来源:https://www.codelast.com/
注意:tf.tile() 里的第2个参数,例如 [1, 3],里面有两个元素,它必须与输入的 tensor 的维度一样(2维),如果输入的 tensor 是3维的,那么 tf.tile() 的第2个参数里也必须有3个元素,例如 [2, 3, 5],否则会报类似于下面的错:
输入的 a 是一个 2x2 的矩阵,tf.tile(a, [1, 3]) 里的 [1, 3] 表示在第一个维度上把输入的tensor重复1遍,在第二个维度上把输入的tensor重复3遍。在本例中,第一个维度就是行,第二个维度就是列,因此 b 就变成了 2x6 的矩阵。
文章来源:https://www.codelast.com/
注意:tf.tile() 里的第2个参数,例如 [1, 3],里面有两个元素,它必须与输入的 tensor 的维度一样(2维),如果输入的 tensor 是3维的,那么 tf.tile() 的第2个参数里也必须有3个元素,例如 [2, 3, 5],否则会报类似于下面的错:
ValueError: Shape must be rank 3 but is rank 1 for 'Tile_1' (op: 'Tile') with input shapes
文章来源:https://www.codelast.com/
➤➤ 版权声明 ➤➤
转载需注明出处:codelast.com
感谢关注我的微信公众号(微信扫一扫):
a 是一个 2*2 的矩阵吧
Fixed. 3x