第01课:训练一个独一无二的模型

第01课:训练一个独一无二的模型

大家好,很高兴能在这里继续 TensorFlow On Android 的课程。

在《TensorFlow on Android:物体识别》中我们已经学会了如何使用一个事先训练好的 pre-trained model 来识别图片中的多种物体,这很好、也很酷,即使没有任何机器学习基础也可以做出一个相当专业的应用了,也许有的读者已经把静态图片识别移植到了视频监控上面,开始监控大门口的人流了呢!

注意:建议先学习《TensorFlow on Android:物体识别》这门课,也可以先学习本课再学上一门课。因为先训练再应用是一个正常的流程,而在这里先讲应用再讲训练只是遵循由简到繁的原则,总之按照自己的情况自由选择就好了。

通过上一门课程的学习,相信给大家打开了一扇新世界的大门。就像之前开发 Web 应用的时候,可以从开源社区找到很多轮子,而不需要重新开发,在机器学习的世界里,也可以从开源社区找到很多框架、算法、模型等工具,我们也学习了去哪里找这些工具、如何学习使用这些工具。

但是如果只是使用事先训练好的模型,在实际工作中,往往还不能真正解决问题。以物体识别为例,如果要识别的物体,如熊猫,不在这 pre-trained 模型训练的范围里,怎么办?我们需要训练一个独一无二、属于自己的模型。

其实大部分开源的模型都公开了其训练的代码,所以可以通过这些代码加上我们自己的数据来进行训练,从而获得一个满足自己业务需求的模型。本课程中将通过使用 Object Detection API 训练一个可以识别熊猫的模型来讲解整个流程,将要学习的东西包括:

  • 机器学习/深度学习的一些重要概念和术语,本门课程面向没有任何机器学习基础的读者,所以会用尽量简单和直白的语言来描述。
  • TensorFlow-GPU 的安装和环境配置。
  • 准备训练数据和 data-labeling。
  • 可视化学习过程。
  • 导出学习结果。

注意:有些厂商号称开源了某某模型,但是实际上并没有公开其训练部分的代码,这种其实算不上开源,因为没有办法定制这个模型。

通过本课程的学习,我们将补齐机器学习中关于训练部分的知识,这样就可以定制这个工具来解决真正的问题了,当完成了这一步以后,再去看深度学习的算法推导或者 TensorFlow 的示例代码,应该会容易不少,因为知其然,再知其所以然,这应该是一个较优的学习过程。回想一下在学习 Web 编程、iOS 编程等的时候,是不是也是这样一个过程?

在本课程中,我们需要写一些 Python 代码,所以必须了解一些 Python 的知识,不过,不需要成为 Python 高手,只需要了解变量和函数声明、模块导入的知识就足够了。如果英文比较好,可以直接参考 官方的教程,如果喜欢在中文的环境里面学习,可以参考 Python 教程 - 廖雪峰的官方网站

本课程使用 Python 的版本为 2.7,请事先安装和配置好。

接下来我们先学习一些机器学习的知识和术语,在后面的实际操作中会用的到这些知识和术语。

上一篇
下一篇
目录