Answers.Body: <p>Yes, it is totally possible.</p>
  <p>It's useful to fully understand the math and functionality of NN's.
  Additionally, if doing it correctly, your whole DNN should only make up to a few hundred lines of code. Yet, there a few things to keep in mind, respectively you have to be capable of.</p>
  <ul>
  <li><p>For fast training and real-time usage usage, GPU calculation is STRONGLY recommend (Yet, it also works without, just a lot slower. For learning to program it though, the CPU is better. I also started programming it on a CPU, but eventually I had to switch to GPU)</p>
  </li>
  <li><p>You have to teach yourself the math, especially for the backpropagation algorithm. This mainly includes multidimensional functions, partial derivatives. 3Blue1Brown has a small series where he explains a simple DNN with it's math in great detail. Also <a href="http://neuralnetworksanddeeplearning.com/chap1.html" rel="nofollow noreferrer">http://neuralnetworksanddeeplearning.com/chap1.html</a> is a great article where the first 2 chapters explain everything in great detail.</p>
  </li>
  <li><p>It's tedious and hard at first. Especially when you go deeper and try to implement more complex algorithms like LSTM yourself. If you want to really go in to AI you should do it. If it's a one or two time thing, just use libraries.</p>
  </li>
  </ul>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-01-04T03:50:08.567Z
Answers.Text: I don't see any reason why not. Not using an OOP would make it unreasonable harder in my opinion. Especially when you try to combine your DNN code to actually use it for applications.
Answers.UserDisplayName: Johannes K.
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-01-04T00:50:18.473Z
Answers.LastActivityDate: 2023-01-07T11:10:39.013Z
Answers.LastEditDate: 2023-01-07T11:10:39.013Z
Answers.UserDisplayName: Johannes K.
Body: <p>I am completely new to AI. As the title says, is it possible to build a facial recognition system using a multi-layered DNN? Would this be effective/practical?</p>
  <p>I want to implement such a neural network in Python, without the use of any external libraries. I can predict that the operations would be too slow, so using numpy would be a must.</p>
  
Tags: <neural-networks><python><face-recognition>
Title: Is it possible to build a facial recognition system using a multi-layered DNN?
UserDisplayName: Anm
ThreadText: # Is it possible to build a facial recognition system using a multi-layered DNN?
  
  (Asked by: username_0 on 2023-01-03)
  
  I am completely new to AI. As the title says, is it possible to build a facial recognition system using a multi-layered DNN? Would this be effective/practical?
  
  I want to implement such a neural network in Python, without the use of any external libraries. I can predict that the operations would be too slow, so using numpy would be a must.
  
  **Tags:** neural-networks, python, face-recognition
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2023-01-04. Score: 1 | Accepted answer
  
  Yes, it is totally possible.
  
  It's useful to fully understand the math and functionality of NN's.
  Additionally, if doing it correctly, your whole DNN should only make up to a few hundred lines of code. Yet, there a few things to keep in mind, respectively you have to be capable of.
  
  * For fast training and real-time usage usage, GPU calculation is STRONGLY recommend (Yet, it also works without, just a lot slower. For learning to program it though, the CPU is better. I also started programming it on a CPU, but eventually I had to switch to GPU)
  * You have to teach yourself the math, especially for the backpropagation algorithm. This mainly includes multidimensional functions, partial derivatives. 3Blue1Brown has a small series where he explains a simple DNN with it's math in great detail. Also <http://neuralnetworksanddeeplearning.com/chap1.html> is a great article where the first 2 chapters explain everything in great detail.
  * It's tedious and hard at first. Especially when you go deeper and try to implement more complex algorithms like LSTM yourself. If you want to really go in to AI you should do it. If it's a one or two time thing, just use libraries.
  
  > **Comments:**
  > **username_1**: I don't see any reason why not. Not using an OOP would make it unreasonable harder in my opinion. Especially when you try to combine your DNN code to actually use it for applications.  
  
  ---
  
  