<p>In fact it does recognizes faces, but the <code>model</code> parameter is used to specify which architecture is used, in this case <code>resnet50</code>, see: <a href="https://github.com/rcmalli/keras-vggface#available-models" rel="nofollow noreferrer">https://github.com/rcmalli/keras-vggface#available-models</a>.</p>
<p>Don't know much about <code>resnet50</code>, but it's a residual network and that means that one of the earliest layers (usually the input) is feed back into the network in a later layer as a technique to increase accuracy on big networks (this one has ~150 layers).</p>
<p>More details: <a href="https://arxiv.org/abs/1512.03385" rel="nofollow noreferrer">https://arxiv.org/abs/1512.03385</a></p>
Explain concept of instantiating a model with another model as argument? VGGFace(model='resnet50', include_top=False)
<p>I came across this line of code:</p>
<p><code>VGGFace(model='resnet50', include_top=False)</code></p>
<p>Could someone please explain to what this means? From my knowledge, VGGFace is a model trained to recognise faces, and then it accepts another model as an argument. So do we have two models? I am confused.</p>
<p>Thanks in advance.</p>