AlphaZero环境部署报错: `find_package_handle_standard_args` (CUDNN) does not match (Caffe2).

一. 最关键问题的解决

CMake Warning (dev) at /usr/local/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (CUDNN) does
  not match the name of the calling package (Caffe2).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /home/amax/AI_airfight/alphadog_MCTS/alphazero/libtorch-shared-with-deps-1.2.0/libtorch/share/cmake/Caffe2/public/cuda.cmake:128 (find_package_handle_standard_args)
  /home/amax/AI_airfight/alphadog_MCTS/alphazero/libtorch-shared-with-deps-1.2.0/libtorch/share/cmake/Caffe2/Caffe2Config.cmake:88 (include)
  /home/amax/AI_airfight/alphadog_MCTS/alphazero/libtorch-shared-with-deps-1.2.0/libtorch/share/cmake/Torch/TorchConfig.cmake:40 (find_package)
  CMakeLists.txt:25 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

在编译的时候有这行命令:
cmake -DCMAKE_PREFIX_PATH=`python -c 'import torch;print(torch.utils.cmake_prefix_path)'` ..
CmakeLists.txt 文件中有这行代码:

#gcc
set(CMAKE_PREFIX_PATH /home/amax/anaconda3/envs/AlphaDogfight/lib/python3.7/site-packages/torch/share/cmake)
if(CMAKE_COMPILER_IS_GNUCC)
    set(CMAKE_CXX_STANDARD 14)
endif()

其中CMAKE_PREFIX_PATH的路径就是torch.utils.cmake_prefix_path, 所以打印出torch.utils.cmake_prefix_path的路径,放进CmakeLists.txt中的上述代码中就可以了解决报错了。

二. 其他琐碎

cudnn 查询

1)比较新的cuDNN,使用命令:
cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2
2)比较旧的cuDNN,使用命令:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
3) XTIC 服务器
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

报错 cmake cannot find torch

在下面的代码操作前

mkdir build
cd build
cmake ..
make -j8
​#生成 demo 可执行程序
#执行 demo
./demo

输入 本地 libtorch 中torch文件夹路径

export Torch_DIR=/home/amax/AI_airfight/alphadog_MCTS/alphazero/libtorch-shared-with-deps-1.2.0/libtorch/share/cmake/Torch
export Torch_DIR=/home/loveecho/AIXT/alphadog_MCTS/alphazero/libtorch-shared-with-deps-1.2.0/libtorch/share/cmake/Torch

然后又报错 找不到 cudnn… 安装上cudnn ,然后报错如下,我的cudnn是满足大于7的要求(Caffe报错,但不用它)

CMake Error at /home/amax/AI_airfight/alphadog_MCTS/alphazero/libtorch-shared-with-deps-1.2.0/libtorch/share/cmake/Caffe2/public/cuda.cmake:180 (message):
  PyTorch requires cuDNN 7 and above.

为此,屏蔽掉了对应程序中大于7要求的代码。。(位置在Caffe2/public)

测试清华代码时,再次报错:

return _bootstrap._gcd_import(name[level:], package, level)
ImportError: /home/amax/AI_airfight/alphadog_MCTS/Alpha_Zero_DogFight/Alpha_Zero_DogFight/build/_library.so: undefined symbol: _ZN6caffe26detail37_typeMetaDataInstance_preallocated_10E
在 Ubuntu 20.04 上安装 GCC7.5

出现无法定位软件包的问题:
换源的解决方法,添加阿里源,并更新
GPG 错误导致没有公钥,无法验证签名”的问题解决,下载密钥
切换gcc版本,先赋予它们不同的优先度

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 90 --slave /usr/bin/g++ g++ /usr/bin/g++-7 --slave /usr/bin/gcov gcov /usr/bin/gcov-7
Cmke安装(家中电脑)

Cmake安装链接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值