张量流中的可微四元数实现。

tfquaternion的Python项目详细描述


#张量流四元数 张量流四元数的一种实现。完全可微的。

tfquaternion模块提供四元数作为 张量流图。 tfquaternion提供基本四元数算法的模块函数 操作以及支持相关魔术的Quaternion类 方法。这类似于tensorflow api,例如tfq.quaternion_multiplytf.multiplytfq.Quaterniontf.Tensor。注意所有功能 从tf.quaternion_...开始假设它的参数是tf.Tensor`s (or `tfq.Quaternion`s) that can be casted to `tfq.Quaternion,即形状 必须是(…,4)。

此实现主要与 [moble的四元数实现](https://github.com/moble/quaternion/) (通过使用稍微修改过的测试版本来保证)。但是,有 至少有两个主要区别:首先,tfquaternion按原样是类型特定的 张量流,即两个不同数据类型的四元数不能相乘。 其次,tfquaternion支持对四元数数组的操作。

###安装 你可以使用pypi ` pip install tfquaternion ` 或者从git安装最新版本作为开发包: ` git clone https://github.com/PhilJd/tf-quaternion.git cd tf-quaternion pip install -e . ` -e选项只将工作副本链接到python站点包, 所以要升级,只需要运行git pull

###用法

在开始之前,关于部门的一个重要注意事项是: 这个图书馆类似于 [莫布尔四元数](https://github.com/moble/quaternion/)。而在 一般来说,除法运算符没有定义(从符号q1/q2可以 如果q1/q2=q1*q2^-1或q1/q2=q2^-1*q1,我们不会得出结论 实现,即tfq.quaternion_divideQuaternion.__truediv__ 计算q1/q2 = q1 * 1/q2

####示例 四元数的简单旋转可以如下所示: ` >>> import tfquaternion as tfq >>> import tensorflow as tf >>> s = tf.Session() >>> points = tf.constant([[1, 0, 0], [0, 1, 0], [0, 0, 1]], dtype=tf.float32) >>> quat = tfq.Quaternion([0, 1, 0, 0])  rotate by 180 degrees around x axis >>> s.run(tf.matmul(quat.as_rotation_matrix(), points)) array([[ 1.,  0.,  0.], [ 0., -1.,0.], [ 0.,  0., -1.]], dtype=float32) `

####API

#####类四元数 *运算符的用法取决于乘数。如果乘数是 四元数,四元数乘法是在与 张量使用tf.multiply。除法的行为是相似的,除非 股息是标量,然后计算四元数的逆。 ` tfq.Quaternion([1, 0, 0, 0]) * tfq.Quaternion([0, 4, 0, 0]) >>> tfq.Quaternion([0, 4, 0, 0) tfq.Quaternion([1, 0, 0, 0]) * tf.Tensor([0, 4, 0, 0]) >>> tf.Quaternion([0, 0, 0, 0) `

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何从通知中获取图像?   java按住按钮将循环一个动作,直到它被释放   JavaJavassist:如何将动态生成的类添加到特定的包中?   java我需要获取一个字符串并输出字符串中出现最多的单词   java合并排序堆栈溢出错误   java如何使用spring boot配置hibernate   Android中带选择器的Java TCP服务器NIO   java对于长度急剧变化的输入,什么是最佳的StringBuffer初始容量?   java SpringBoot:REST endpint中@RequestParam参数的自定义验证   JavaJPaQuery。fetchResults()已弃用,应如何替换它?   JavaJNA结构创建带来麻烦   java创建只包含响应中某些元素的POJO   java巨大的Perm Gen与应用程序大小相比,是否正常?   JavalibgdxMoveToAction。将setPosition()设置为负坐标,以将演员移出舞台