"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 <package> -i https://pypi.tuna.tsinghua.edu.cn/simple/ 这样会快很多,也可以在ubuntu里面配置好,以后不用加-i,也会默认在清华的镜像里面去下载\n",
     "    \n",
     "阿里云 http://mirrors.aliyun.com/pypi/simple/\n",
     "中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/\n",
     "豆瓣(douban) http:///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.pyanaconda不包含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

出现如下说明安装成功

ubuntu卸载源码安装的python ubuntu卸载pytorch_ubuntu

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()的定义之类奇奇怪怪的问题