tensorflow - 复制张量 N 次
问题描述
我想复制 tf.eye(4) N 次,但我不知道该怎么做。例如:tf.eye(4)
[[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]]
我需要将这 4 个张量(4x4 矩阵)复制 N 次。
[[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.],
[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.],
[1., 0., 0., 0.],...
有什么想法可以在 tensorflow 中轻松做到这一点吗?
非常感谢。
解决方案
您可以使用tf.tile来实现。您将长度列表传递给它,该列表等于要复制的张量中的维数。此列表中的每个值对应于您要沿特定维度复制的次数。这是一个例子:
# tesnosr of size [4, 4]
a = tf.constant([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]],)
# replicate 2 times along first dimension
multiples = [2, 1]
b = tf.tile(a, multiples)
sess = tf.InteractiveSession()
print(sess.run(b))
# [[1. 0. 0. 0.]
# [0. 1. 0. 0.]
# [0. 0. 1. 0.]
# [0. 0. 0. 1.]
# [1. 0. 0. 0.]
# [0. 1. 0. 0.]
# [0. 0. 1. 0.]
# [0. 0. 0. 1.]]
推荐阅读
- c++ - #include .h 文件时编译失败,但 #include .cpp 文件时编译成功
- python-2.7 - 使用Python向二叉树中的缺失节点添加值
- python - 获取变量 pandas 可接受值的函数
- python - 如何从具有特定属性的字典中打印键列表
- sql - SQL 协助 - STUFF 和 XML 路径连接数据
- bash - 为什么我要创建一个别名来创建一个函数?
- java - 如何在 Hazelcast 配置中以编程方式减少 RAM?
- hadoop - 无法启动 Yarn 进程
- javascript - axios 自动将 base url 添加到 json 响应中的 urls 问题
- laravel - 如果用户在 URL Laravel 中键入 POST 路由,中间件会重定向用户