Skip to content
Leon Wang edited this page May 19, 2019 · 3 revisions

华为云AI引擎训练手写数字识别后的一个完整应用案例

首先是一些General的提示

  1. ModelArts官方文档的打开方式(jupyter notebook格式) 虽然号称可以直接在github中打开,当实测多次基本无法打开(也许是因为网速原因)。因此较靠谱是用以下两种方式:
  1. 实名认证及密钥 注册华为云后一定要先进行实名认证,然后再点我的凭证,生成密钥。否则生成的密钥无效,在后继的操作中会提示IAM错误。

  2. 收费服务不使用时一定记得关闭,按小时收费,可以在总览中看到所有正在收费的项目

接下来我们就可以跟随数字识别项目的主文档进行实践了。

https://github.com/huaweicloud/ModelArts-Lab/tree/master/%E7%BB%BC%E5%90%88AI%E5%BC%80%E5%8F%91%E6%A1%88%E4%BE%8B/MNIST%20Dataset%20Recognition

文档中有些地方讲的不太细,在这里指出使用过程中一些坑:

  1. 过程中需要下载三个文件,千万不要直接点击文档中的链接进行另存为,直接下载的是一个html页面。为方便下载我已经做好了这三个文件的web下载链接,点击http://123.206.26.34/html/ai/ 查看文件列表。

  2. 创建数据集时首先要新建桶(可以下载OBS客户端,以后上传东西会方便一些,不想下载的可以直接使用网页版 https://storage.huaweicloud.com/obs/ ),按文档指引导入Mnist-Data-Set数据集时要选中这个新建的桶,然后在桶中新建文件夹mnist(注意一定要使用这个文件夹名),选中该文件夹后才能确定。

  3. 按文档步骤训练完成后,在OBS文件系统的log文件夹中会自动生成一个model的目录(千万不要自己创建,如果没有生成一定是之前的步骤有误),customize_service.py和config.json一定要放进这个model文件夹。如下图。否则系统会提示创建了一个新的config,然后你就不能上传图进行预测了。

  4. 点创建模型时一定要注意右上角是否有提示信息(一闪而过),有信息就说明你上传的customize_service.py和config.json有错误,如果没有问题会加载出运行时的依赖列表。如下

完成在线服务布署这后,进行应用实例开发

https://github.com/wonleing/AI_number_recognize/blob/master/numberrec.py

这是我写的一个应用实例,实现的是一个把验证码图片转换、切割、标准化,再post到你自己搭建的在线识别服务器一一识别,最后整合输出识别结果的一个完整过程。可以用作网站或APP上的数字验证码识别,从而达到自动化或批处理的目的。代码在ubuntu python2.7环境上测试通过。

实际运行中需要设置裁减尺寸、你的登录信息及服务地址等。详细的说明及代码解析都在写代码注释里,这里就不贴出来分析了。 另外,因为我是随便找了一张验证码图片,与训练过程使用的图差别非常大,所以识别结果并不精准。这可以通过你在训练服务中增加你实际中遇到的样例来提高精准度。这部分内容以后再做补充。