tensorflow - 在TensorFlow中将旋转变换应用于矩形的一组四个坐标
问题描述
我想旋转一个矩形,我有四个顶点的坐标。我通过从旋转角度创建一个旋转矩阵并使用它来转换原始矩形坐标来做到这一点。但是,我不只有一个旋转矩阵和一个矩形,而是很多。
我的旋转张量 R 看起来像 [n,2,2] (n [2,2] 旋转矩阵),我的矩形张量 B 看起来像 [n,4,2] (n [4,2] 矩形)。如果 n 只是 1,我可以做正常的 tf.matmul(R,B),但在这里我不知道该怎么做。我想我可以用 tf.einsum 做到这一点,但我不知道如何形成方程。任何帮助,将不胜感激。
解决方案
您可以使用 tf.matmul 进行批量乘法。但你必须重塑:
a = tf.random.uniform([10, 2, 2])
b = tf.random.uniform([10, 4, 2])
a = a[:, tf.newaxis, ...]
b = b[..., tf.newaxis]
c = tf.matmul(a, b)
c = tf.squeeze(c)
推荐阅读
- python - 嵌套的 for 循环在第二次迭代后停止并要求用户输入(python 代码中未使用输入函数)
- javascript - 在 HTML 日期输入上强制使用英语
- docker - 如何从同一个 Docker 映像将各种输入写入不同容器中的同一个文件?
- ios - 找不到 -lyoga 的库
- c# - 从 SqlConnection.Execute 存储过程中获取插入的 ID
- apache-spark-sql - spark sql如何在databricks中创建表
- css - CSS 多列结合标签和输入的拆分(在 HTML 中)
- c++ - Win32 查找所有分配的内存
- c# - 无法将 json 对象发布到 asp.net webapi
- kubernetes - 如何使用 kubernetes 中的大使在子路径下映射包含静态网页的服务?