2.1 anaconda
    python是深度学习领域的网红,几乎所有的深度学习框架都支持python,甚至仅支持python。python在给开发者带来各种便利的同时,其复杂的包管理与环境管理也一直困扰着开发者。本书推荐使用anaconda进行python环境的搭建,大量实践证明anaconda具有工业级的稳定性,同时使用便捷,下面我们详细介绍anaconda。
    anaconda是一个用于科学计算的python开发平台,支持linux、mac和windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。anaconda利用conda命令来进行包和环境的管理,并且已经包含了python和相关的配套工具。如图2-2所示,anaconda集成了大量的机器学习库以及数据处理必不可少的第三方库,比如numpy、scipy、scikit-learn以及tensorflow等。
    图2-2 anaconda框架
    anaconda的安装非常方便,如图2-3所示,从其官网的下载页面选择对应的安装包,以我的mac本为例,选择macos对应的图形化安装版本。
    图2-3 anaconda下载页面
    点击安装包,选择安装的硬盘,通常mac本也只有一块硬盘,使用默认安装即可,如图2-4所示。
    图2-4 anaconda安装界面
    使用默认配置进行安装,安装完成后出现如图2-5所示的界面。
    使用如下命令查看当前用户的profile文件的内容:
    cat ~/.bash_profile
    图2-5 anaconda安装结束界面
    我们可以发现,在当前用户的profile文件的最后增加了如下内容:
    # added by anaconda2 5.0.0 installer
    export path="/anaconda2/bin:$path"
    表明已经将anaconda的bin目录下的命令添加到了path变量中,可以像使用系统命令一样直接使用anaconda的命令行工具了。
    anaconda强大的包管理以及多种python环境并存使用主要依赖于conda命令,常用的conda命令如下:
    # 创建一个名为python27的环境,指定python版本是2.7
    conda create --name python27 python=2.7
    # 查看当前环境下已安装的包
    conda list
    # 查看某个指定环境的已安装包
    conda list -n python27
    # 查找package信息
    conda search numpy
    # 安装package
    conda install -n python27 numpy
    # 更新package
    conda update -n python27 numpy
    # 删除package
    conda remove -n python27 numpy
    假设我们已经创建一个名为python27的环境,指定python版本是2.7,激活该环境的方法如下:
    source activate python27
    如果要退出该环境,命令如下所示:
    source deactivate
    在python27的环境下查看python版本,果然是2.7版本:
    maidou:3book liu.yan$ source activate python27
    (python27) maidou:5book liu.yan$
    (python27) maidou:5book liu.yan$ python
    python 2.7.14 |anaconda, inc.| (default, oct 5 2017, 02:28:52)
    [gcc 4.2.1 compatible clang 4.0.1 (tags/release_401/final)] on darwin
    type "help", "copyright", "credits" or "license" for more information.
    >>>
    查看python27环境下默认安装了哪些包,为了避免显示内容过多,过滤前6行查看:
    conda list | head -6
    # packages in environment at /anaconda2/envs/python27:
    #
    ca-certificates 2017.08.26 ha1e5d58_0
    certifi 2017.7.27.1 py27h482ffc0_0
    libcxx 4.0.1 h579ed51_0
    libcxxabi 4.0.1 hebd6815_0
    统计包的个数,除去2行的无关内容,当前环境下有16个包:
    conda list | wc -l
    18
    查看目前一共有几个环境,发现除了系统默认的root环境,又多出了我们创建的python27环境:
    conda info --envs
    # conda environments:
    #
    python27 /anaconda2/envs/python27
    root * /anaconda2
    在python27环境下安装anaconda默认的全部安装包,整个安装过程会比较漫长,速度取决于你的网速:
    conda install anaconda
    fetching package metadata ...........
    solving package specifications: .
    package plan for installation in environment /anaconda2/envs/python27:
    继续统计包的个数,除去两行的无关内容,当前环境下已经有238个包了:
    conda list | wc -l
    240
    anaconda默认安装的第三方包里没有包含tensorflow和keras,需要使用命令手工安装。以tensorflow为例,可以使用conda命令直接安装:
    conda install tensorflow
    同时,也可以使用pip命令直接安装:
    pip install tensorflow
    本书一共创建了两个环境,分别是python27和python36,顾名思义,对应的python版本分别为2.7和3.6,用于满足不同案例对python版本的不同要求。

章节目录

智能系统与技术丛书·AI安全之对抗样本入门所有内容均来自互联网,一曲书屋只为原作者兜哥的小说进行宣传。欢迎各位书友支持兜哥并收藏智能系统与技术丛书·AI安全之对抗样本入门最新章节