This project was designed for learning tensorflow by just one example for beginners. More specifically, it's aimmed to achive the goal as follows:
- Understanding the key concepts of addressing compuation in tensorflow
- Implementing your machine learning, especially deep learning, model using this concepts.
- Learn to debug the problem and optimize the program under the tensorflow framework.
In order to achive this goal, I play attention on a pratical task and dig deep it instead of a wide of examples. By this way, I want to share the process of doing my research or task, and hope to help beginners to build a overview of modeling the machine learning problem using tensorflow.
This project choice face recongnition problem as the task, actually face verification model. The model was trained on the CASIA-WEBFACE and tested on the LFW. More details about the dataset are here.
The project can be logically divided into three parts of different levels.
- the key concepts of tensorflow program and components that constitude the model were introduced.
- a basic model taking advantages of both the key concepts and compoents was implemented and the softmax loss was used to learn the feature.
- the optimization was made to improve the basic model as far as both training speed and test accuracy were concerned.
- data management and multi-gpu were utilized to speed up the training
- a more powerful network and new loss called Large Margin Cosine Loss were used to improve the accuracy.
-
The key concepts
-
Components
-
Work togother
-
Optimization
- Speed:
- accuracy
Firstly you should be clear which phase the errors are from.
Please look here.