小编tri*_*ror的帖子

在 PyTorch C++ 扩展中,如何访问张量中的单个元素并将其转换为标准 C++ 数据类型?

我正在为 pytorch 编写一个 C++ 扩展,其中我需要通过索引访问张量的元素,并且还需要将元素转换为标准 C++ 类型。这是一个简短的例子。假设我有一个二维张量a,我需要访问a[i][j]它并将其转换为浮点数。

\n
#include <torch/extension.h>\n\nfloat get(torch::Tensor a, int i, int j) {\n    return a[i][j];\n}\n
Run Code Online (Sandbox Code Playgroud)\n

上面的内容被放入一个名为tensortest.cpp. 在另一个文件中setup.py我写

\n
from setuptools import setup, Extension\nfrom torch.utils import cpp_extension\n\nsetup(name=\'tensortest\',\n      ext_modules=[cpp_extension.CppExtension(\'tensortest_cpp\', [\'tensortest.cpp\'])],\n      cmdclass={\'build_ext\': cpp_extension.BuildExtension})\n
Run Code Online (Sandbox Code Playgroud)\n

当我运行python setup.py install编译器时报告以下错误

\n
running install\nrunning bdist_egg\nrunning egg_info\ncreating tensortest.egg-info\nwriting tensortest.egg-info/PKG-INFO\nwriting dependency_links to tensortest.egg-info/dependency_links.txt\nwriting top-level names to tensortest.egg-info/top_level.txt\nwriting manifest file \'tensortest.egg-info/SOURCES.txt\'\n/home/trisst/.local/lib/python3.8/site-packages/torch/utils/cpp_extension.py:335: UserWarning: Attempted to use ninja as the BuildExtension backend but we could not find …
Run Code Online (Sandbox Code Playgroud)

c++ python pytorch libtorch

1
推荐指数
1
解决办法
4168
查看次数

标签 统计

c++ ×1

libtorch ×1

python ×1

pytorch ×1