"1.查明ptorch需要的python版本,目前还不支持3.8,ubuntu自带了2.7和3.5.我们选择3.6版本。切忌不要删自带的版本,如果删了,在命令界面重新安装python3 \n",
"sudo apt-get install python3(这里会默认安装3.5)",
"sudo apt-get install ubuntu-minimal ubuntu-standard ubuntu-desktop(安装桌面)\n",
"sudo reboot",
"2.使用anaconda安装python3.6, 注意我们要找到对应python3.6的anaconda版本,在清华的镜像源上下载下来会快很多。安装anaconda,就是执行一个.sh,这时python3.6就安装成了,(还有很多包也安装成功了比如jupter notebook),但python3.6的可执行文件在/home/ai/anaconda3/bin/里面,我们需要建立软链接,让输入python执行的就是python3.6 \n",
"ln -s /home/ai/anaconda3/bin/python3.6 /usr/local/bin 即可\n",
"这时python命令对应的就是python3.6,我们需要针对python3.6更新它的pip,\n",
"python -m pip updategrade pip (python -m 一定要加上,表明是装给python3.6版本的)\n",
"在用pip安装其他包时使用\n",
"python -m pip
" \n",
"阿里云 http://mirrors.aliyun.com/pypi/simple/\n",
"中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/\n",
"豆瓣(douban) http://pypi.douban.com/simple/\n",
"清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/\n",
"中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/\n",
"我们在国外下载根本下不下来,所有的东西最好在这几个镜像里面去找。\n",
"3.安装cuda ,在官网选择第四种安装方式,cluster ,严格按照readme 安装即可。就是需要卸载ubuntu自带的nvidia驱动,这样电脑会无法显示桌面,进入命令界面,安装cluster里面的nvidia驱动即可。(里面要选CPU架构,intel的就是x86)\n",
cuda新的安装方法:
先在soft&update安装附加驱动(nvidia 的驱动),然后使用filerun这个去安装,里面有界面,选择不安装驱动即可(x是安装,去掉x是不安装),非常的方便
"4.cuda和python安装成功后,就可以安装pytorch了.我是用pip安装成功的,记住加上python -m 和镜像源\n",
如果用pip报错cannot import name formatControl
是pip损坏
1.首先执行命令: python -m ensurepip --default-pip
2.下载 get-pip.py 文件 地址为 https://bootstrap.pypa.io/get-pip.py
复制网页上全部代码,粘贴到新建文件get-pip.py
3.转到文件夹下面,执行命令 : python get-pip.py
anaconda不包含opencv
会出现ModuleNotFoundError: No module named 'cv2'
pip install opencv-python (如果只用主模块,使用这个命令安装)
pip install opencv-contrib-python (如果需要用主模块和contrib模块,使用这个命令安装)
安装完成后记得把cuda路径写入环境变量
# add nvcc compiler to path
export PATH=$PATH:/usr/local/cuda-10.2/bin
# add cuBLAS, cuSPARSE, cuRAND, cuSOLVER, cuFFT to path
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.2/lib64:/usr/lib/x86_64-linux-gnu
安装cudnn
在官网下载对应版本的cudnn
在任意位置解压后:
sudo cp cuda/include/cudnn* /usr/local/cuda-10.2/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.2/lib64
sudo chmod a+r /usr/local/cuda-10.2/include/cudnn.h /usr/local/cuda-10.2/lib64/libcudnn*
验证安装是否成功
cat /usr/local/cuda-10.2/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
出现如下说明安装成功
c++使用pytorch,需要用到libtorch,libtorch是pytorch的c++接口库,只需要下载libtorch文件即可,在cmakelists.txt里面
set(Torch_DIR /home/aipan/anaconda3/libtorch/share/cmake/Torch)
set(CUDA_TOOLKIT_ROOT_DIR /usr/local/cuda-10.2)
find_package(Torch REQUIRED)
list(APPEND CMAKE_PREFIX_PATH /home/aipan/anaconda3/libtorch)
include_directories(${Torch_DIR})
就可以在c++代码里面调用pytorch里面的函数了。
但是如果libtorch的版本不对,就会带来很多奇奇怪怪的问题,比如编译vslam时,会出现找不到ros::init()的定义, cv::imread()的定义之类奇奇怪怪的问题