问题标签 [libtorch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 零维张量和项目有什么区别?
这段代码占用大量内存:
这不是(item()
在最后一个作业中注意)
为什么会这样?
c++ - 带有 Cuda 的 LibTorch(C++) 引发异常
我正在尝试使用 Cuda 10.1 和 Windows 10 使用 LibTorch 1.3 和 C++ 创建 NN。对于构建,我使用的是 Visual Studio 2019。
到目前为止,我尝试了基本示例和MNIST 示例,其中 CPU 正在工作。但是我不能用 CUDA 运行它。我试图将模型移动到 GPU,如此处所述,但它不起作用。
要将模型移动到 GPU 内存,您可以编写 model.to(at::kCUDA);。通过调用 tensor.to(at::kCUDA) 确保模型的输入也存在于 CUDA 内存中,这将在 CUDA 内存中返回一个新的张量。
所以我尝试了简单的
然后我尝试将简单的张量移动到 gpu 内存,但它也崩溃了。
我得到了:
KernelBase.dll
在调试模式下,它指向
使用torch::cuda::is_available()
显示它可以找到 cuda 设备。
我对异常没有太多经验。
visual-studio - 在 Windows 上的 C++ 应用程序中使用 PyTorch 模型
按照官方 PyTorch教程,我在 Python 中创建了模型,通过跟踪将其转换为 Torch 脚本,并将脚本模块保存到.pt
文件中。加载模型和 CMakeLists 的 C++ 代码与教程中的相同。
我下载了LibTorch 1.3(稳定,Windows,无CUDA,release)并解压,所以我的目录结构是:
我将 CMake 安装为组件的 Visual Studio 2019,因此我运行了 VS2019 的开发人员命令提示符并运行cd
到项目目录 (cmakeapp)。
根据指南,我运行了以下命令来构建应用程序:
CMake 似乎成功了,除了一些警告:
现在第一个问题,既不工作make
也不nmake
工作:
我错过了什么吗?
其次,我找到了生成的custom_ops.sln
文件,所以在 Visual Studio 中打开它。该项目提供 4 种不同的配置:Debug、MinSizeRel、Release 和 RelWithDebInfo。构建除 Release 之外的任何东西都会失败:
我对这个错误感到非常惊讶,因为指定了 libtorch 路径并且 CMake 成功找到了它。
第三,构建Release成功,但是跳过了ALL_BUILD项目:
不确定应该选择哪种解决方案配置来构建所有配置。
对于这些令人困惑的问题的澄清,我将不胜感激。
c++ - 如何在 LibTorch (C++) 中将 Torch::Torch 的类型从 Float 更改为 Long
我正在使用 LibTorch(PyTorch C++ API)在 C++ 中编码。在这里,我传递了 predict_value 和 target_value,它们都是大小为 {1, 1} 的 torch::Tensor。
当我尝试评估上述内容时,出现以下错误:
我尝试搜索如何将浮点类型张量转换为长类型张量,但只能找到 Python 的文档。非常感谢您提出解决此问题的建议!
android - 使用 Android 工具链构建时,CMake 找不到库和包
我正在开发一个算法库,为 Android 应用程序提供预编译的 .so 文件。我们想在我们的库中使用 PyTorch C++ API,所以我付出了一些努力。但是我在尝试使用 CMake 构建时遇到了一些问题。
在不使用 NDK 中提供的情况下,构建工作良好android.cmake.toolchain
,并且编译后的程序按预期运行。当我尝试使用android.cmake.toolchain
构建库时出现问题, TorchConfig.cmake
(此文件由 Torch 提供)中的以下两行奇怪地出错了:
尽管这些命令用于PATHS
指定绝对路径,但 CMake 坚持认为无法找到这些包和库。我尝试使用message
打印出这些路径并检查,CMaKe 应该寻找的文件(Caffe2Config.cmake
和libc10.so
)确实存在于指定的路径中。
我知道 android 工具链会更改要使用的编译器(捆绑的 clang),但我看不出 cmake 在我的情况下表现异常的原因。
c++ - 在 Torch C++ API 中,如何快速写入张量的内部数据?
我正在使用 Torch C++ 前端,并希望在其中有一个具有指定值的张量。要实现这一点,可以手动分配内存并设置值,然后使用torch::from_blob
在内存块上构建张量,但对我来说似乎不够干净。
在本文档的最底部,我发现可以使用下标直接访问和修改数据。但是,这种方法的运行时间开销很大,可能是因为下标访问会将张量的元素视为 0-d 张量。以下代码在我的机器上将花费超过 2 秒(-O3
优化级别),这对于现代 CPU 来说太长了。
有没有一种干净快速的方法来实现这个目标?
c++ - Libtorch:如何加载 ONNX 模型?
我需要在 Windows 10(Visual Studio 2015,v140)上使用 Libtorch 在 C++ 环境中加载和运行 ONNX 模型。在网上搜索,似乎几乎有关于如何在 Python 中执行此操作的独家说明。是否有一个有据可查的方式/有谁知道如何在 C++ 中做到这一点?
c++ - 如何将代码从 Python Pytorch 翻译或转换为 C++ Libtorch
对于我的 Python Pytorch代码,我在Libtorch ( Pytorch C++ Frontend ) 中找不到等效的 C++ 调用。
根据我的搜索(Pytorch Discuss),我的代码尚不存在文档。我想知道是否有人可以指导我使用以下作品(如下)。
我在 Libtorch C++ 发生更多崩溃(错误使用)的地方进行了删减。
c++ - Pytorch torch.cholesky 忽略异常
对于我的批次中的某些矩阵,由于矩阵是奇异的,我遇到了异常。
cholesky_cpu:对于批次 51100:U(22,22) 为零,单数 U
由于它们对于我的用例来说很少,我想忽略异常并进一步处理它们。我将结果计算设置为nan有可能以某种方式吗?
实际上,如果我仍然catch
使用异常并使用continue
它并没有完成其余批次的计算。
在带有 Pytorch libtorch 的 C++ 中也会发生同样的情况。