我在 Rust 中安装了 tch 但它不起作用

问题描述 投票:0回答:1

我创建了一个简单的 Rust 项目并导入了 tch,但它不起作用,即使程序不使用它。

use tch::nn;
fn main() {
    println!("Hello, world!");
}

虽然程序可以编译,但运行它会产生错误: 无法在动态链接库 C:\libtorch 中找到过程入口点 __kmpc_masked orch_cpu.dll 我尝试重新安装 cuda 以适应 torch 版本(12.4),我尝试使用依赖项。当前的toml文件有以下内容:

[package]
name = "tch_test"
version = "0.1.0"
edition = "2021"

[dependencies]
tch = {version="0.17.0", path="tch-rs"}

[dev-dependencies]
torch-sys = {version="0.17.0", path="tch-rs/torch-sys"}

但是,当我使用cargo add安装tch时,我也尝试仅使用依赖项(将tch更改为tch =“0.17.0”,但这也不起作用。 我尝试设置环境变量,如 github 页面所示,甚至尝试添加 LIBTORCH_USE_PYTORCH 变量,因为 pytorch 可以在我的机器上的 python 上运行。 我使用的是带有 RTX4060 的 Windows 10 机器。非常感谢您的帮助。

谢谢您!

很少的澄清:首先,当我说“它不起作用”时,我的意思是发生了与上面指定的完全相同的结果,即程序编译但运行它给出了上面的消息。需要明确的是:这是运行时问题而不是编译时问题。

此外,我想澄清一下,当我手动运行exe时,会发生上述错误。当我从cmd运行它时,它显示以下错误:进程未成功退出:

target\debug\tch_test.exe
(退出代码:0xc0000139,STATUS_ENTRYPOINT_NOT_FOUND)

其次,这是一个最小的可重现示例。这是我从头开始创建的一个新项目,试图解决这个问题。这只是一个新项目,按照指定导入了 tch(我尝试了 2 种方法,通过 Cargo add 和通过克隆 github 存储库)。除此之外没有任何额外的文件,只有默认情况下克隆的 tch-rs、gitignore、lock 文件和上面的 toml 文件(我也尝试了默认的,但它不起作用),没有其他文件。

我尝试遵循 github 页面上的指南 https://github.com/LaurentMazare/tch-rs 和本教程 https://www.swiftdiaries.com/rust/pytorch/ 没有任何效果。我什至尝试运行我克隆的 tch-rs 中的示例文件(不对文件夹进行任何修改),它产生了相同的结果。

rust pytorch
1个回答
0
投票

我找到了解决办法!我安装了错误的 torch 版本(2.4.1 而不是 2.4.0) 不幸的是,该网站不允许您下载 libtorch 的过去版本,除非您手动将 URL 编辑为正确的版本。

© www.soinside.com 2019 - 2024. All rights reserved.