最近,我们计划构建一个用于从图像中提取信息的图像处理系统。目前我们使用AWS
Rekognition来完成这项工作。但是,在某些情况下,我们无法从AWS获取准确的信息。因此,我们计划构建我们自己的定制系统。
我们有4到5个月的时间来完成这个项目。至少要完成一个POC
版本。我们还计划使用Tensorflow
来实现。我们团队中没有人有机器学习和深度学习的先前经验,但我们已经有5到6年的计算机编程经验,使用了不同的编程语言。
目前,我正在通过Udemy
的课程学习机器学习,我的解决问题的方法是…
- 学习机器学习(ML)
- 学习深度学习(DL)
- 在学习了ML和DL之后,我可能会准备好理解整个系统,并且能够构建一个图像处理系统。
概括来说,我理解的是,我需要用Python
编写一个使用Tensorflow
的深度学习程序。通过这个程序,我需要构建一个模型。然后,我需要使用一些训练数据来训练这个模型。当我的模型达到一定的准确度后,我会使用一些测试数据进行验证。
现在,有一些地方让我有点困惑,以下是我关于这些困惑的问题…
-
我知道
tensorflow
是一个库,但在某些地方,它也被称为系统。那么,它真的是一个库(一段代码)还是还有其他更多的功能? -
我在
Tensorflow
的教程部分找到了一些图像处理的Python代码(https://www.tensorflow.org/tutorials/image_recognition)。我们测试了这些代码,它们的工作方式与AWS
识别服务完全相同。所以,我在这里的疑问是…我可以直接将这些Python代码用于我们的生产工作吗? -
在用一些训练数据训练模型之后,这些训练数据会成为整个系统的一部分吗?还是机器学习模型从这些训练数据中提取了一些META信息并保留,而不是整个原始训练数据(在我这里是原始图像)?
-
我可以在我的Linux系统上进行所有这些ML+DL编程吗?我的系统是Pentium 4,配备8GB内存。
-
还想知道…我提到的构建解决方案的方法是否足够,或者我还需要做些什么其他事情。
需要一些指导来澄清所有这些困惑。
谢谢
回答:
1 : tensor-flow
就像我们之前使用过的其他东西(比如Numpy
),唯一的区别是我们必须先定义我们想要使用什么,然后再使用它,tensor-flow
中的一切都在计算图中运行,评估图中的一切都需要一个会话,我们可以称之为库,因为它只是一段代码,并且有Python接口,也可以称之为系统,因为它使用了所有这些机制
2 :can I use this Python code as it is in our production work?
为什么不可以!
3:是的,你可以用你的系统来做这些,但tensor-flow
和theano
等工具的主要优势在于你可以将代码运行在GPU上,这比在CPU上运行要快得多,因为GPU可以处理更多的矩阵乘法和类似操作
4:你知道,你不需要学习所有的机器学习知识来构建一个图像识别系统,这可能需要几年时间才能理解那里发生了什么,Udemy
的课程是一个很好的资源,但我强烈推荐你查看coursera
上的机器学习课程,那里有两门关于机器学习的课程:伟大的Andrew NG
课程和Emily fox
课程,前者更理论化,后者更实用,关于深度学习,深度学习并没有什么特别的,它只是机器学习中的一种方法,在你获得一些机器学习经验并理解了一些基础知识后,或者你现在就可以,去fast.ai
,它有一个非常好的关于深度学习的课程,适合编码者,并且是免费的
希望这些对你有帮助