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

网友投稿 731 2022-05-30

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,就做了两件事:

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

手工建目录:

并将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专家的区别。。。)

(全文完,谢谢阅读)

附件: mindspore_adversarial_example_generation.ipynb.txt 65.10KB 下载次数:1次

AI MindSpore 昇腾 深度学习

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Kubernetes学习必备-awesome-kubernetes-notes
下一篇:AST实战|AST入门与实战星球高频问题汇总
相关文章