《AI安全之对抗样本入门》—2 打造对抗样本工具箱

举报
华章计算机 发表于 2019/06/17 17:47:40 2019/06/17
【摘要】 本节书摘来自华章计算机《AI安全之对抗样本入门》一书中的第2章,第2.1节,作者是兜哥。

第2章

打造对抗样本工具箱

对抗样本是深度学习领域一个新兴的热点内容,非常强调理论和工程相结合。在开启新的学习旅途之前,我们先介绍一下对抗样本环境的搭建过程,强烈建议读者在Linux或者Mac环境下进行搭建,因为深度学习的常用工具几乎都是基于Python开发的,但是Python相关的库都是在Linux或者Mac环境下经过多年验证的,Windows下的功能和稳定性难以保证。为了避免不必要的麻烦,同时能与工业界的生产环境进行无缝迁移,默认情况下,本书都是基于Mac+Python 2.7环境进行介绍的,Linux和Python 3.*环境几乎也可以直接使用。

2018年3月,Keras作者、谷歌研究科学家Fran

 image.png

图2-1 ArXiv上提到的深度学习框架排行

TensorFlow排名第一,Keras排名第二,之后依次是Caffe、PyTorch、Theano、MXNet、Chainer,以及CNTK。Chollet在推文中补充,Keras的使用在产业界和整个数据科学圈中占据主流地位,产业既包括大公司也包括创业公司。不过,在研究社区,Keras的份额要小很多。本章也将介绍主流的深度学习框架的安装方法,读者可以针对自己的情况,安装其中一到两种即可。

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等。

 image.png

图2-2 Anaconda框架

Anaconda的安装非常方便,如图2-3所示,从其官网的下载页面选择对应的安装包,以我的Mac本为例,选择macOS对应的图形化安装版本。

 image.png

图2-3 Anaconda下载页面

点击安装包,选择安装的硬盘,通常Mac本也只有一块硬盘,使用默认安装即可,如图2-4所示。

 image.png

图2-4 Anaconda安装界面

使用默认配置进行安装,安装完成后出现如图2-5所示的界面。

使用如下命令查看当前用户的profile文件的内容:

cat ~/.bash_profile

 image.png

图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版本的不同要求。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。