如何使用省略符逆向重新排列? 例如, "b ... -> b(…)"
作者: drscotthawley创建于 2022年10月29日更新于 2024年9月17日
标签question
Francois Fleuret 建议(https://twitter.com/francoisfleuret/status/1586376947818323968?s=20&t=lF5Qs1gA5nKV6nWZlZk9Kg)如果有个函数,可以轻松地“反转”`einops.rearrange`,即撤销或“反向转换”。 我回复(https://twitter.com/drscotthawley/status/1586427057545748480)说,一个“包装”函数或类应该不难,并在以下链接上写了一个,其中包含了一些示例: https://gist.GitHub.com/drscotthawley/81865a5c5e729b769486efb9c3f2249d 这种功能是否仅仅作为用户可以添加的“外部包装”,或者以某种方式被添加到`einops`代码库中(可能不是这个类,而是类似的东西)取决于你,但我想在这里分享它来补充对话! 将其添加到现有代码库的一种方法是将`einops.rearrange`重命名为`einops._rearrange`,然后定义新的`einops.rearrange =RearrangeWrapper()`,其中RearrangeWrapper的子方法调用`_rearrange`(如我在gist示例中所示)。 如果这听起来很有趣,那么我可以提交一个 PR。
内容来源: arogozhnikov/einops