本文记录了博主遇到问题“ImportError: torch.utils.ffi is deprecated. Please use cpp extensions instead.”
的解决方案。更新于2019.05.30。
背景: 博主需要安装一个程序,该程序用到了PyTorch中的一个包(torch.utils.ffi
),但是博主安装的PyTorch版本是1.0.1,也就因此导致了上面的错误。
原因: 在PyTorch 1.0.1中,torch.utils.ffi
被弃用了,需要用其他包来替代。
解决办法: 对于博主遇到的问题,将原语句
from torch.utils.ffi import create_extension
修改成
from torch.utils.cpp_extension import BuildExtension
再将文件下面的调用
ffi = create_extension(...)
改成
ffi = BuildExtension(...)
就可以了。
2019.05.30分割线
博主后面又遇到了这个问题,但是用相同的方法只能解决BuildExtension模块,却无法解决_wrap_function等其他模块的问题。为了不造成歧义,在这里补充一下:
对于这个问题,如果直接修改可以,那么恭喜你,是个幸运宝宝;但是对于大多数模块,是没有办法直接转换的。
解决办法可以参考这里和这里的说明,博主认为比较详细。但是总结起来,是需要重新写代码的,没有办法直接替换,适用高级版本。所以如果不想改代码,最简单的方式就是回退到0.4.X。确实很坑~
今天的文章【已解决】ImportError: torch.utils.ffi is deprecated. Please use cpp extensions instead.分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/72275.html