Ubuntu18配置与ROS兼容的深度学习环境(Anaconda3+PyTorch1.10+python3.8+cuda10.2)

之前在Window下安装了Anaconda,熟悉了一下安装过程,Ubuntu下最难的应该就是和ROS的兼容问题。ROS是基于Python2.7的,而Anaconda3则是python3。

看有的博文说需要先安装Ros,再安装Anaconda,刚好我也是这个顺序,所以没遇到太多问题。

为了和Windows下的保持一致,我这次选择安装的是Anaconda3-2021.05-Linux-x86_64.sh,是自带python3.8的

Anaconda的官网:https://www.anaconda.com/products/individual
过往版本:https://repo.anaconda.com/archive/


01 安装Anaconda

  • S1:下载安装包

下载Anaconda3-2021.05-Linux-x86_64.sh,下载后的目录为/home/guyue/下载在此目录下打开终端


  • S2:运行安装包(.sh文件)

运行.sh文件:

bash Anaconda3-2021.05-Linux-x86_64.sh

接下来就是一路回车,遇到需要 yes/no 的地方选择 yes

安装完成后,.bashrc里面加入了conda

Ubuntu18配置与ROS兼容的深度学习环境(Anaconda3+PyTorch1.10+python3.8+cuda10.2)_第1张图片


  • S3:测试是否安装成功

打开终端,python的版本是3.8,conda为4.10,显示如下的版本信息,就说明anaconda已经安装好了

(base) guyue@guyue:~$ python
Python 3.8.8 (default, Apr 13 2021, 19:58:26) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.


(base) guyue@guyue:~$ conda --version
conda 4.10.1

02 Anaconda与ROS的兼容问题

参考:

  • Anaconda 和ROS 联合使用注意事项:
    https://blog.csdn.net/m0_37579176/article/details/86536411
  • Ubuntu16.04安装anaconda并且设置不与ros产生冲突:
    https://www.jianshu.com/p/a5418864a416
  • 汇总Anaconda与ROS冲突解决方法:
    https://www.cnblogs.com/hgl0417/p/11562580.html
  • Ubuntu16.04中 Anaconda 与 ROS 使用Python 问题:
    https://blog.csdn.net/caiguanhong/article/details/111247472

  • S1:打开.bashrc文件
sudo gedit ~/.bashrc

  • S2:将环境变量中有关anaconda的部分注释了

效果如图:

Ubuntu18配置与ROS兼容的深度学习环境(Anaconda3+PyTorch1.10+python3.8+cuda10.2)_第2张图片


  • S3:重新打开终端,输入以下指令,启动anaconda环境(注意:每次打开新的终端,都要执行)
source ~/anaconda3/bin/activate

效果:

guyue@guyue:~$ source ~/anaconda3/bin/activate


(base) guyue@guyue:~$ python
Python 3.8.8 (default, Apr 13 2021, 19:58:26) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.

  • S4:输入以下指令,关闭anaconda环境
conda deactivate

效果:
此时输入python,版本为2.7;输入python3,版本为3.6

(base) guyue@guyue:~$ conda deactivate


guyue@guyue:~$ python
Python 2.7.17 (default, Feb 27 2021, 15:10:58) 
[GCC 7.5.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
[1]+  已停止               python


guyue@guyue:~$ python3
Python 3.6.9 (default, Jan 26 2021, 15:33:00) 
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

03 在Anaconda下配置PyTorch

参考:

  • Ubuntu18.04 ROS 使用ANACONDA创建虚拟环境 OPENCV安装:
    https://www.freesion.com/article/29561041580/
  • yolov5环境配置-Anaconda3 + Pytorch1.8 + Cuda10.2 + cuDnn8.2.0 + opencv3.2.0:
    https://blog.csdn.net/qq_38766208/article/details/121442446

首先进入Anaconda环境:source ~/anaconda3/bin/activate

  • S1:创建虚拟环境
conda create -n mytorch python=3.8

  • S2:激活虚拟环境
conda activate mytorch

  • S3:创建pytorch环境(1.10版本)
conda install pytorch torchvision cudatoolkit=10.2 -c pytorch

安装指令可以进入PyTorch官网https://pytorch.org/查找
Ubuntu18配置与ROS兼容的深度学习环境(Anaconda3+PyTorch1.10+python3.8+cuda10.2)_第3张图片


  • S4:测试是否安装成功

在终端激活环境后,输入python,输入下列指令:

import torch
import torchvision

# 该指令显示pytorch版本
print(torch.__version__)

# 若cuda已安装,将显示true
torch.cuda.is_available()

我的cuda是否可用显示false,猜测可能是ubuntu环境下还没有安装显卡的驱动造成的。

补充:确实是因为显卡驱动没安装造成的,显卡驱动安装过程可参考:https://blog.csdn.net/gyxx1998/article/details/121757581

04 简化指令:为命令设置别名

参考:

  • Anaconda 和ROS 联合使用注意事项:https://blog.csdn.net/m0_37579176/article/details/86536411

激活Anaconda环境都需要输入一堆命令,为简化这些指令,可以在~/.bashrc 中加入以下命令:

alias torch='source activate mytorch'
alias start_anaconda='source ~/anaconda3/bin/activate'
alias close_anaconda='conda deactivate'

此后输入torch即为输入source activate mytorch命令,上述命令是为命令设置别名

如果在~/.bashrc文件直接加入source activate mytorch,则每次打开终端都会运行source activate mytorch命令,默认每次打开新终端都会激活此环境。


说明:

  • alias close_anaconda='source deactivate'这条指令现在已经不能用了;
    alias close_anaconda='source conda deactivate'这种质量更是个错误;
    现在应该使用的是alias close_anaconda='conda deactivate'

05 总结

  • 开启anaconda环境
source ~/anaconda3/bin/activate

注意:每次打开新的终端,都要重新执行指令开启anaconda环境


  • 关闭anaconda环境
conda deactivate

  • Anaconda虚拟环境相关指令
# 创建新的环境
conda create -n mytorch python==3.8
# 激活环境
conda activate mytorch
# 删除环境
conda remove -n mytorch --all
# 退出当前环境
conda deactivate
# 查看有那些虚拟环境
conda env list
# 查看有某个虚拟环境有那些包
conda list

你可能感兴趣的:(ubuntu,ros,anaconda)