张量流训练,验证和测试如何在人脸识别上起作用?

时间:2019-12-14 04:51:49

标签: python tensorflow tensorflow-datasets

我正在研究人脸识别。 我曾经使用TensorFlow retrain.py

来训练数据

我的问题是...  1. Tensorflow如何工作?  2.是否使用CNN?  3.如果我错了请纠正我  4.训练模型的步骤-提供图像->调整图像大小->瓶颈->使用CNN进行处理? ->显示图形作为输出?  5.为此,我需要一些参考。

1 个答案:

答案 0 :(得分:0)

1 — Tensorflow是用于机器学习的数学库。可以将其视为计算机视觉的OpenCV或Web开发的Bootstrap。

2-是的,Tensorflow确实使用了卷积神经网络。为此,它有一个名为Keras的专门库。

3-通常是,但是还有很多其他内容。这是更详细的过程:

a-您提供图像或称为数据集。如果要创建一个模型来识别猫中的狗,则应该有4个数据集;

培训文件夹

--------------狗文件夹

-------------------------------- dog1.jpg

-------------------------------- dog2.jpg

----------------- cat文件夹

-------------------------------- cat1.jpg

-------------------------------- cat2.jpg

验证文件夹

--------------狗文件夹

-------------------------------- dog3.jpg

-------------------------------- dog4.jpg

----------------- cat文件夹

-------------------------------- cat3.jpg

-------------------------------- cat4.jpg

b-是的,调整大小对于视觉机器学习至关重要,但是您还应该对数据集图片进行其他修改。例如,旋转,倾斜和翻转。为什么?因为您想训练模型以识别各个位置的对象。例如,如果您的数据集包含站立的狗,则不会识别出正在睡觉或仰卧的狗,因此您需要翻转狗站立的图像。幸运的是,您不必手动执行此操作,因为Keras为您提供了一个类,它可以为您执行所有图像加载,调整大小..... etc,这就是ImageDataGenerator。进一步了解here

enter image description here

c-瓶颈是神经网络的体系结构,通常有助于避免过度拟合。并非每个模型都遵循瓶颈架构。这是机器学习中最具挑战性的部分,它找到正确的体系结构,层组合和参数以实现高精度。互联网上已经有针对不同应用的内置模型,因此您不必从头开始设计神经网络体系结构。例如,有一个名为Yolo的模型可以识别各种物体(人,鞋子,手机,冰箱等)。幸运的是,Keras允许您加载外部模型并对其进行修改以适合您的应用程序,而这正是当今大多数数据科学家所做的大声笑。

d-您已经在c阶段使用了CNN处理。

e-正确,图表和输出应概述模型的准确性。通过根据您在阶段a中提供的验证数据测试模型性能来衡量准确性。

不幸的是,我没有相关的参考资料,但是我通过参加以下课程学习了这些信息:

Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning

Convolutional Neural Networks in TensorFlow