美文网首页TensorFlow技术帖ROS · 机器人笔记
使用anaconda在ubuntu16.04下安装TensorF

使用anaconda在ubuntu16.04下安装TensorF

作者: DIO哒 | 来源:发表于2018-10-30 11:39 被阅读1次

    由于ubuntu16.04+ROS-kinetic使用的是python2,所以如果直接安装anaconda的话会出现ROS包不能用的情况。所以这篇文章是解决这个问题的办法,此外,使用conda安装TensorFlow-GPU会自动安装cudnn和cudatoolkit这两个装起来很烦人的东西,可以说非常方便了。装错了卸载的时候也只需要把bashrc里的内容删除,并删除home下的anaconda3目录就行了,干净卫生。
    第一步,下载anaconda。


    选择3.7的版本

    为该文件添加可执行后,直接使用sh运行。
    安装目录选择默认的就行了,如有需要也可以自行更改。
    然后问你是否要添加环境变量,这个会配置在bashrc里,选择是,然后一会儿修改。
    最后会问你要不要装vscode。

    完成之后,打开terminal,输入python,会发现python的版本已经由2变3了,然后ros相关的内容都已经不能正常使用了。
    所以打开bashrc,将anaconda添加的内容全部注释掉.这样一来新开一个terminal之后就又回到了没有安装前的状态。可以正常使用ROS和Python2.等到需要用anaconda环境的时候再把注释解除,这个办法是ROSwiki上提供的,显然不是非常方便,还需要改进。

    bashrc在home下,使用ctrl+h就能显示出来编辑。

    在刚刚注释掉的内容中发现这句话

     if [ -f "/home/tom/anaconda3/etc/profile.d/conda.sh" ]; then
             . "/home/tom/anaconda3/etc/profile.d/conda.sh"
              CONDA_CHANGEPS1=false conda activate base
    

    我们把它改造一下。

    alias condapy3='. /home/tom/anaconda3/etc/profile.d/conda.sh && conda activate tensorflow_gpuenv'
    

    其中tensorflow_gpuenv环境我们还没有建立,可以先改成base,conda activate <环境名字>就是激活这个环境用的,但没有前面那句就无法使用。
    要建立这个环境,首先我把注释解除,检查一下是不是进入了Python3,是的话ctrl+D退出Python。

    conda create -n tensorflow_gpuenv tensorflow-gpu
    conda activate tensorflow_gpuenv
    

    如果不需要gpu的话就直接把后面的-gpu去掉就行了。
    如果嫌速度太慢的话就换清华的channel,目前还是能用的,但是网上有些文章说它挂了,现在应该是复活了。

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
    conda config --set show_channel_urls yes
    

    这样以来不但tensorflow-gpu安装好了,就连cudnn和cudatoolkit也一并好了,用pip的话就很不方便了。
    安装好之后,bashrc里注释掉刚刚那些内容,把刚刚提到的alias condapy3='. /home/tom/anaconda3/etc/profile.d/conda.sh && conda activate tensorflow_gpuenv'这句话加上去。
    新开一个terminal,输入我们自己设置的condapy3,当然这个其实你起什么名字都可以。


    image.png
    image.png
    image.png

    然后就可以正常使用了,新开一个terminal还是原来的Python2,想使用tensorflow环境的话就在终端输入刚刚的condapy3.如果想在anaconda环境下使用ros包的话,那就新建一个Python2的环境,再用pip安装那些ros包。同理,其他无法用conda安装的包也都可以试着用pip,反过来pip无法安装的包用conda说不定就能安装。但tensorflow-gpu一定要用conda安装。
    如果安装完成后用测试代码发现报错,比如

    Error: CUDA driver version is insufficient for CUDA runtime version
    问题极有可能出在显卡驱动上,可能有不止一个显卡驱动,这个时候建议手动重新安装显卡驱动。

    相关文章

      网友评论

        本文标题:使用anaconda在ubuntu16.04下安装TensorF

        本文链接:https://www.haomeiwen.com/subject/uuowtqtx.html