【已解决】ImportError: torch.utils.ffi is deprecated. Please use cpp extensions instead.

【已解决】ImportError: torch.utils.ffi is deprecated. Please use cpp extensions instead.本文记录了博主遇到问题 ImportError torch utils ffiisdepreca Pleaseusecpp 的解决方案 更新于 2019 03 12 背景 博主需要安装一个程序 该程序用到了 PyTorch 中的一个包 torch utils ffi 但是博主安装的 PyTorch 版本是 1 0 1 也就因此导致了上面的错误

本文记录了博主遇到问题“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。确实很坑~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/198712.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午2:38
下一篇 2026年3月26日 下午2:39


相关推荐

  • 全民“养龙虾”:OpenClaw如何重塑算力与芯片赛道?

    全民“养龙虾”:OpenClaw如何重塑算力与芯片赛道?

    2026年3月14日
    2
  • nacicat15 激活码_在线激活

    (nacicat15 激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~S32PGH0SQB-eyJsaWNlb…

    2022年3月26日
    47
  • LangChain Agent 原理剖析与实战:理解与驾驭 ReAct 智能体

    LangChain Agent 原理剖析与实战:理解与驾驭 ReAct 智能体

    2026年3月16日
    2
  • 关系数据库理论之最小函数依赖集「建议收藏」

    关系数据库理论之最小函数依赖集「建议收藏」前言在本文中,会介绍为什么要引入最小函数依赖集,最小函数依赖集是什么,以及如何求最小函数依赖集。为什么需要最小函数依赖集在关系数据模型中,一个关系通常由R(U,F)构成,U为属性的全集,F为函数依赖集。在实际生活中,我们可以根据语义来定义关系中属性的依赖关系,例如学号可以唯一确定一位学生的姓名、性别等等。但是,有时候给出的函数依赖集并不是最简的,这有时会拖累我们对关系的后续处理,例如关系的分…

    2022年6月17日
    26
  • Vue的axios封装

    Vue的axios封装Vue 的 axios 封装在 vue 项目中 经常需要封装 axios 文档又看不懂 所以总结一下方法 安装 npminstallax 安装 axios 引入在项目的 src 目录中 新建一个 request 文件夹 然后在里面新建一个 http js 和一个 api js 文件 http js 文件用来封装我们的 axios api js 用来统一管理我们的接口 在 http js 中引入 axiosimporta axios 引入 axiosimportQ

    2025年7月10日
    6
  • mysql数据库压缩备份_Mysql备份压缩及恢复数据库方法总结

    mysql数据库压缩备份_Mysql备份压缩及恢复数据库方法总结一般情况我们通过mysqldump来备份MySQL数据库,并上传至其它备份机器。如果数据库比较大,在备份传输的时候可能会慢,所以我们尽量让备份的文件小一些。在写自动备份脚本时,最好把备份结果直接压缩,恢复时也可以直接由压缩备份恢复。下面介绍如何使用bzip2和gzip进行压缩mysql备份文件。备份并用bzip压缩:代码如下mysqldump|bzip2>outputfile.sql…

    2022年6月21日
    64

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号