You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从源码编译libtorch得到非预期目录结构问题求助

编译出标准libtorch目录结构的解决方案

你当前得到的是编译中间工作目录,而非官方下载的libtorch那样的分发结构,需要执行cmake的安装步骤来生成干净的标准目录。以下是具体操作:

方法1:基于现有编译产物生成标准结构

进入你现在看到的满是中间文件的编译目录,执行cmake安装命令,指定输出路径:

# 替换<目标路径>为你想要存放标准libtorch的目录,比如../libtorch_official
cmake --install . --prefix <目标路径>

执行完成后,<目标路径>下就会生成bin/、include/、lib/、share/的标准结构,且包含所有必要的头文件(包括torch/csrc/autograd/下的内容)。

方法2:编译时直接指定安装路径(一步到位)

放弃直接用build_libtorch.py,手动创建单独的编译目录并指定安装前缀,避免中间文件干扰:

# 创建编译目录和最终输出目录
mkdir build_libtorch && mkdir libtorch_final
cd build_libtorch

# 执行cmake配置,替换<>中的路径为你的实际路径
cmake ../pytorch -DCMAKE_INSTALL_PREFIX=../libtorch_final \
  -DBUILD_LIBTORCH=ON \
  -DBUILD_TORCH=ON \
  -DBUILD_CAFFE2=1 \
  -DBUILD_TEST=0 \
  -DCMAKE_PREFIX_PATH=${CONDA_PREFIX:-"$(dirname $(which conda))/../"} \
  -DDEBUG=0 \
  -DMAX_JOBS=16 \
  -DUSE_CUDA=1 \
  -DUSE_CUDNN=1 \
  -DCUDA_HOME=<你的CUDA根目录> \
  -DNVCC_EXECUTABLE=<你的NVCC可执行文件路径> \
  -DCUDNN_LIB_DIR=<你的CUDNN库目录> \
  -DCUDNN_INCLUDE_DIR=<你的CUDNN头文件目录> \
  -DCUDNN_LIBRARY=<你的CUDNN库文件路径>

# 编译并安装
make -j16
make install

完成后,../libtorch_final就是和官网下载一致的libtorch结构。

关键说明

  • build_libtorch.py生成的是编译工作目录,包含所有中间编译产物、cmake临时文件,并非分发用的libtorch包,必须执行install步骤才能提取出干净的头文件、库和工具。
  • 添加BUILD_LIBTORCH=ON和BUILD_TORCH=ON会确保编译并安装完整的libtorch组件,包括torch/csrc下的头文件,解决你遇到的头文件缺失问题。

内容的提问来源于stack exchange,提问作者mwlon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 19:10:32