如何将 PyTorch 张量转换为 C++ torch::Tensor 反之亦然?

2023-12-26

我想使用 pybind11 在 C++ 模块中接收包含 PyTorch Tensor 的字典,并返回经过一些修改的结果字典,其中包含 C++ torch::Tensor 返回。据我所知,似乎没有明确的方法将 PyTorch Tensor 转换为 C++ Tensor,以及将 C++ Tensor 转换为 PyTorch Tensor。在最后一次试验中,我尝试将 PyObject 转换为 torch::Tensor 但似乎效果不佳。 (https://discuss.pytorch.org/t/is-it-possible-to-get-pyobject-from-a-torch-tensor/85980/2 https://discuss.pytorch.org/t/is-it-possible-to-get-pyobject-from-a-torch-tensor/85980/2)我想知道它是否正确以及是否有任何解决方法。我在下面分享我的代码片段。

py::dict quantize(py::dict target) {
    ...
    for (auto item: target) {
        py::str key(item.first);
        torch::Tensor test = item.second.ptr(); // it fails to compile
    }
    ...
    return py::dict("name"_a="test", "tensor"_a=torch::rand({3, 3, 3})); // it fails on runtime
}

PyObject * THPVariable_Wrap(at::Tensor t);

at::Tensor& THPVariable_Unpack(PyObject* obj);

我猜这两个就是你要找的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 PyTorch 张量转换为 C++ torch::Tensor 反之亦然? 的相关文章

  • Python 属性和 Swig

    我正在尝试使用 swig 为一些 C 代码创建 python 绑定 我似乎遇到了一个问题 试图从我拥有的一些访问器函数创建 python 属性 方法如下 class Player public void entity Entity enti
  • 告诉 Nancy 将枚举序列化为字符串

    Nancy 默认情况下在生成 JSON 响应时将枚举序列化为整数 我需要将枚举序列化为字符串 有一种方法可以通过创建来自定义 Nancy 的 JSON 序列化JavaScript 原始转换器 https github com NancyFx
  • 使用valgrind进行GDB远程调试

    如果我使用远程调试gdb我连接到gdbserver using target remote host 2345 如果我使用 valgrind 和 gdb 调试内存错误 以中断无效内存访问 我会使用 target remote vgdb 启动
  • 在视口中查找 WPF 控件

    Updated 这可能是一个简单或复杂的问题 但在 wpf 中 我有一个列表框 我用一个填充数据模板从列表中 有没有办法找出特定的数据模板项位于视口中 即我已滚动到其位置并且可以查看 目前我连接到了 listbox ScrollChange
  • 如何在 C 中安全地声明 16 位字符串文字?

    我知道已经有一个标准方法 前缀为L wchar t test literal L Test 问题是wchar t不保证是16位 但是对于我的项目 我需要16位wchar t 我还想避免通过的要求 fshort wchar 那么 C 不是 C
  • 为什么 Collections.counter 这么慢?

    我正在尝试解决罗莎琳德的基本问题 即计算给定序列中的核苷酸 并在列表中返回结果 对于那些不熟悉生物信息学的人来说 它只是计算字符串中 4 个不同字符 A C G T 出现的次数 我期望collections Counter是最快的方法 首先
  • 如何按 pandas 中的值对系列进行分组?

    我现在有一只熊猫Series与数据类型Timestamp 我想按日期对其进行分组 并且每组中有许多行具有不同的时间 看似显而易见的方法类似于 grouped s groupby lambda x x date 然而 熊猫的groupby按索
  • 如何在matplotlib中调整x轴

    I have a graph like this x轴上的数据表示小时 所以我希望x轴设置为0 24 48 72 而不是现在的值 很难看到 0 100 之间的数据 fig1 plt figure ax fig1 add subplot 11
  • 保护 APK 中的字符串

    我正在使用 Xamarin 的 Mono for Android 开发一个 Android 应用程序 我目前正在努力使用 Google Play API 添加应用内购买功能 为此 我需要从我的应用程序内向 Google 发送公共许可证密钥
  • C++ 中的双精度型数字

    尽管内部表示有 17 位 但 IEE754 64 位 浮点应该正确表示 15 位有效数字 有没有办法强制第 16 位和第 17 位为零 Ref http msdn microsoft com en us library system dou
  • 从 wxPython 事件处理程序中调用函数

    我正在努力寻找一种在 wxPython 事件处理函数中使用函数的方法 假设我有一个按钮 单击该按钮时 它会使用事件处理程序运行一个名为 OnRun 的函数 但是 用户忘记单击 OnRun 按钮之前的 RadionButton 我想弹出一个
  • 打印大型 WPF 用户控件

    我有一个巨大的数据 我想使用 WPF 打印 我发现WPF提供了一个PrintDialog PrintVisual用于打印派生的任何 WPF 控件的方法Visual class PrintVisual只会打印一页 因此我需要缩放控件以适合页面
  • Unity:通过拦截将两个接口注册为一个单例

    我有一个实现两个接口的类 我想对该类的方法应用拦截 我正在遵循中的建议Unity 将两个接口注册为一个单例 https stackoverflow com questions 1394650 unity register two inter
  • C++ new * char 不为空

    我有一个问题 我在 ASIO 中开发服务器 数据包采用尖头字符 当我创建新字符时 例如char buffer new char 128 我必须手动将其清理为空 By for int i 0 i lt 128 i buffer i 0x00
  • OpenGL:仅获取模板缓冲区而没有深度缓冲区?

    我想获取一个模板缓冲区 但如果可能的话 不要承受附加深度缓冲区的开销 因为我不会使用它 我发现的大多数资源表明 虽然模板缓冲区是可选的 例如 排除它以利于获得更高的深度缓冲区精度 但我还没有看到任何请求并成功获取仅 8 位模板缓冲区的代码
  • Python 相当于 Scala 案例类

    Python 中是否有与 Scala 的 Case Class 等效的东西 就像自动生成分配给字段而无需编写样板的构造函数一样 当前执行此操作的现代方法 从 Python 3 7 开始 是使用数据类 https www python org
  • 两种 ODE 求解器之间的差异

    我想知道 两者之间有什么区别ODEINT and solve ivp用于求解微分方程 它们之间有什么优点和缺点 f1 solve ivp f 0 1 y0 y0 is the initial point f2 odeint f y0 0 1
  • 如何减少具有多个单元的 PdfPTable 的内存消耗

    我正在使用 ITextSharp 创建一个 PDF 它由单个 PdfTable 组成 不幸的是 对于特定的数据集 由于创建了大量 PdfPCell 我遇到了内存不足异常 我已经分析了内存使用情况 我有近百万个单元格的 1 2 在这种情况下有
  • 灵气序列解析问题

    我在使用 Spirit Qi 2 4 编写解析器时遇到一些问题 我有一系列键值对以以下格式解析
  • 在Python中停止ThreadPool中的进程

    我一直在尝试为控制某些硬件的库编写一个交互式包装器 用于 ipython 有些调用对 IO 的影响很大 因此并行执行任务是有意义的 使用 ThreadPool 几乎 效果很好 from multiprocessing pool import

随机推荐

  • Visual Studio 2012 中的 .NET 4.5.1 预览支持

    首先让我为我得到的错误添加一些上下文 我已经安装了 NET 4 5 1 预览版 我在 VS 2012 中注意到的第一件事是 NET 4 5 1 没有在可用框架中列出 我不确定这是否是正确的行为 因为这只是 4 5 的升级 所以我想 VS 2
  • 带 Lattice 和 panel.bpplot 的垂直箱百分位数图

    我正在 R 中使用 box percentile panel 函数绘制 box percentile 图Hmisc panel bpplot with bwplot from lattice 我有一个数字向量 Length 并希望显示其在因
  • 在散点图中显示置信限和预测限

    我有两个身高和体重数据数组 import numpy as np matplotlib pyplot as plt heights np array 50 52 53 54 58 60 62 64 66 67 68 70 72 74 76
  • 比较将整数值转换为字符串的 3 种现代 C++ 方法

    我试图选择一个将积分转换为字符串的标准方法 http codexpert ro blog 2014 04 14 standard way of converting between numbers and strings in cpp11
  • 如何解决这些 Git GC 问题?

    我有一个反复出现的问题 我的 git 存储库 我认为 将决定它需要垃圾收集 此过程需要半个多小时 然后将在每次拉 推操作时触发 手动运行 Git GC 需要半个小时 但似乎并不能解决问题 我找到的唯一解决方案是删除我的存储库并重新克隆 由于
  • Bigquery sql:将 json 的键替换为列中存在的新值

    我在 Big Query 中有两个表 如图所示 table 1 有 id json 格式的属性 集合列 table 2 有 collection property key property name 列 我想将 table 1 中的属性列中
  • 使用 JSON 响应自动完成文本字段

    我想要的是 我想在我的应用程序中使用文本字段的自动完成 由于我的数据来自网络服务 我想使用 JSON 响应执行 自动完成 我知道的 我知道首先我必须从网络服务获取数据 然后我需要解析它并用解析后的数据填充数组 然后我可以使用该数组执行自动完
  • web.api 的 404 选项

    我已按照在 web api 中启用 cors 的常规步骤进行操作 但在 Chrome 和 Firefox 中收到对 OPTIONS 请求的 404 响应Cross Origin Request Blocked The Same Origin
  • 多对多关系以确定用户是否喜欢某个帖子

    我有一个包含所有帖子的表 我还有一个表 当用户喜欢带有外键 user id 和 post id 的帖子时 会在其中添加一行 我想检索一个列表ALL帖子的数量以及特定用户是否喜欢该帖子 使用外部连接 我最终得到了一些帖子两次 一次用于用户 1
  • 如何在 GitHub 上拥有带有公共问题跟踪器的私有存储库?

    我将向社区发布我的应用程序的一些测试版 项目存储在 GitHub 上的私有存储库中 我希望允许该社区报告错误并将其直接放在 GitHub 问题选项卡上 GitHub 目前尚未提供该选项 您知道如何覆盖此流程吗 截至 2019 年 9 月 不
  • Android ListView 不展开整个屏幕?

    我有以下活动
  • 如何更改导航视图项目文本大小?

    Google 最近发布 http android developers blogspot com au 2015 05 android design support library html the android support desi
  • 整数类型的最大值是否有常数?

    我正在为 VBA 代码寻找 c 中像 MAXINT 这样的常量 我只找到了其他语言的参考资料 找不到 VBA 的参考资料 如果没有这样的常量 VBA 中 int 可以容纳的最大数字是多少 我尝试了 2147483647 但出现溢出错误 VB
  • Firebase 自定义声明未在规则中更新[重复]

    这个问题在这里已经有答案了 我试图防止存储滥用 我的目标是限制每天的用户上传操作 因此 我部署了一个存储 onFinalize 触发器 一旦文件上传 该函数就会检测到使用 firestore 是否达到限制的计数器 如果是 将毫秒存储到 Cu
  • 基元/对象声明,默认初始化值

    声明基元 对象时 它们是否已初始化 哪些是默认值 行为是什么班级成员 and 当地领域 类成员的对象声明怎么样 如下回答 这些是默认值 Data Type Default Value for fields byte 0 short 0 in
  • 使用双值识别 SwiftUI TextField 中的更改

    我正在使用 TextField 让用户添加某物的价格 为了防止用户添加其他值作为数字 我将键盘类型更改为 decimalPad The stringValue每次角色更改时都会正确更新绑定 我现在的问题是doubleValue仅当用户按下回
  • JSP 中的美元大括号 ${} 是什么意思?

    什么是 在JSP中意味着什么 例如
  • ASP.NET动态添加列到Gridview

    如何根据条件动态向 GridView 添加一些列
  • 学习 HTML5 和 CSS3 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 想象一下今天 即 2011 年 3 月 1 日 某人从未编写过网页 并且想知道他们应该阅读哪些内容才能
  • 如何将 PyTorch 张量转换为 C++ torch::Tensor 反之亦然?

    我想使用 pybind11 在 C 模块中接收包含 PyTorch Tensor 的字典 并返回经过一些修改的结果字典 其中包含 C torch Tensor 返回 据我所知 似乎没有明确的方法将 PyTorch Tensor 转换为 C