张小白带你使用JupyterLab尝试体验“对抗示例生成”(使用MindSpore 1.4.1)

举报
张辉 发表于 2021/09/18 23:32:18 2021/09/18
【摘要】 蓝军出击!

MindSpore 1.4.1发布了吗?

并没有!

那么你题目的意思?

唉,别急,你往下看就知道了。

模型也会收到攻击?

对的。现在MindSpore就要表演坏人的角色了。

很多人应该看过《蓝军出击》吧?

蓝军,就是为了提高正规军的能力而出现的。那么,对抗网络,自然是为了加强正规网络的能力而出现的。一个不会对抗干扰的网络不是好网络。。。

so:

如何抵抗噪声样本,就成为了一个好神经网络的试金石了。。。

 这是后话,暂且不提。

本次试验只是为了证明,一个噪声,将会对训练结果的置信度产生多大的影响。

下面开始实操。

打开 https://www.mindspore.cn/tutorials/zh-CN/r1.3/intermediate/image_and_video/adversarial_example_generation.html 页面,

看样子似乎支持cpu下运行,而且支持MindSpore 1.3,而张小白在 《张小白带你跟着小Mi老师学习用Python操作Excel》 https://bbs.huaweicloud.com/blogs/300776 中刚好用过Jupyter,所以思路很简单,先下载这个Notebook,将其拷贝到 D:\ipynb目录下去,然后在jupyter lab中执行。。。

开始跑跑看吧:

首先,是《张小白带你跟着小Mi老师学习用Python操作Excel》提到的老错误。但是,验证能通过,所以这关应该算是过了吧。(后来发现并不算

然后下载数据集:

报了wget不存在,文件夹也不存在。张小白也没时间去安装个wget,就做了两件事:

手工建目录:

并将wget的内容统统在浏览器上打开,下载这四个数据集的文件:

然后将下载好的文件集放到相应的目录下:

训练集:

测试集:


攻击准备,将device_target改为CPU:


依次执行训练LeNet的脚本:

。。。


报了ds没定义的错。而ds应该是前面加载 _c_dataengine 模块失败导致ds没被import进去的吧。。。。


张小白感觉用现在的Mindspore 1.3版本是不行的。今天既然有专家说了mindspore 1.4解决了这个bug,那就装个1.4试试吧。

到Mindspore的官网 https://mindspore.cn/versions 

找到1.4.1 CPU版本的下载链接:https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.4.1/MindSpore/cpu/x86_64/mindspore-1.4.1-cp37-cp37m-win_amd64.whl 

将mindspore 1.3的安装指令对应的文件名换为刚才1.4.1的文件名:

pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.4.1/MindSpore/cpu/x86_64/mindspore-1.4.1-cp37-cp37m-win_amd64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple

好像报错了,需要加个--user参数安装:

这回安装成功了。

重新打开JupyterLab:jupyter lab --no-browser

打开浏览器,复制上图最后的两个链接之一,进入JupyterLab,打开前面下载好的 mindspore_adversarial_example_generation.ipynb 文件,依次执行:

这回mindspore的验证倒是没报错。专家说的都对。。。

下面需要重做除了下载数据集的所有步骤。

攻击准备:

依次执行脚本,直到开始训练LeNet网络:

这回顺利训练成功了1个epoch,看一下精度:0.9644.

checkpoint文件也生成了:


根据文档操作:继续运行实现FSGM攻击的相关脚本:

。。。

运行攻击:

eps=0时的效果:

eps设置成0.5:

此时,精度为0.469250。。。

看下实际的效果:

发现要装 matplotlib包:

!pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple

重新执行脚本看效果:

可见,上面生成了攻击后加入噪声的图。

最后附上修改后的ipynb文件(想用脚本试验的盆友们可以将ipynb.txt改名为ipynb文件,放入jupyterlab的目录下就可以运行了)

其实照着示例验证还算简单,有位华为的大大,直接将噪声放到极致,大家可以看看这个例子,感受下什么叫做找不到家的感觉:

https://bbs.huaweicloud.com/forum/thread-156092-1-1.html

(当然也可以知道 MindSpore爱好者张小白与MindSpore专家的区别。。。)

(全文完,谢谢阅读)

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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