*重新部署app
今天的主要任务是将自己训练出来的.h5文件转换成pb文件,替换Android包中原来的pb文件,重新生成app。这样就可以看到训练的效果是怎样的。在转换的过程中先要生成一个.pb文件,在生成一个.ckpt文件。根据我的理解,.pb文件只保存graph,.ckpt文件只保留weights,要两个文件合二为一才能被别的网络调用,这就是“冻图”freeze_graph函数所要完成的工作。在生成.pb和.ckpt文件时我们遇到了很大的麻烦,主要是今天需要我们自己写Python代码,而我们不知道keras和tensorflow中各个类和对象的关系,也不知道如何直接建立新的网络模型。通过查找大量的资料和询问助教,我们终于解决了这两个问题。冻图的过程也很不容易,这次虽然提供了代码,但是我们一开始没有看,而是找了网上的例子,在输入路径的时候加了引号,结果总是报错,“文件不存在”。后来把引号去掉又加了另一个必要参数之后终于能够顺利冻图了。另一个有趣的地方是我们一直以为我们的准确率很高,达到0.9以上,今天才知道acc是训练准确率,val_acc才是测试准确率,而我们的val_acc甚至不到0.1.这解释了为什么换上自己的.pb文件之后识别准确率呈断崖式下降。
最后,今天是我们这次挑战单元的最后一天,下午4点的时候我们六位同学和所有老师在实验室一起合了影,算是给这五六天的辛苦画上一个完美的句号。最后,今天是我们这次挑战单元的最后一天,下午4点的时候我们六位同学和所有老师在实验室一起合了影,算是给这五六天的辛苦画上一个句号。这次挑战一方面我们自己摸索,一方面请教老师和助教,算是完整地经历了一次智能硬件和人工智能软件的开发过程,至少对智能硬件和人工智能的开发有了一个感性的认识。当再次需要进行这方面的工作的时候我们学习和掌握知识的速度一定会很快。人工智能即将迎来爆发的元年,它将开启一个时代,这个时代人类社会产生怎样的变化尚不了解,但一定是颠覆式的。只有更多地了解人工智能、利用人工智能才能让我们更好地适应这个时代,不被这个时代、或者说不被人工智能所淘汰。