实作完可以侦测人脸的哈尔特徵後,在将所有的训练资料不需要的背景利用人脸侦测的框给剪裁掉。以下图为例
在用模型进行训练,运用Resnet的模型架构来实作人脸辨识,将影像灰阶後放入已建立好的模型Resnet来训练,使用adam来当作优化器,学习率调成0.007(需要时要一一尝试)。
resnet_model = resnet_network((x, x, 1 ))
adam = tf.keras.optimizers.Adam(learning_rate=0.007)
model.compile(optimizer="adam", loss=mse, metrics=["mae", "acc"])
learning rate是模型学习训练级的速度,learning rate越大训练的越快,反之则越慢,因为Resnet的架构已经很深所以学习率需要调小一些,才较不容易overfitting,损失函数使用mse,但是自己定义的mse,才可以在训练时因为资料不平均的情况,要多训练已知者(Anchor)。
def mse_pred(y_true, y_pred,a1=0.1,a2=0.9):
E1=tf.where(tf.equal(y_true, 1), K.mean(K.square(y_pred-y_true), axis=-1), 0)
E2=tf.where(tf.equal(y_true, 0), K.mean(K.square(y_pred-y_true), axis=-1), 0)
total_loss=E1*a1+E2*a2
return total
在训练时也要注意准确度是否有慢慢上升,如果训练资料够多,可以将资料分为训练集和验证集,利用验证集的准确度较可避免模型学习训练集学习太好,导致验证集的准确度随着epoch的增加反而下降。
本篇文章来介绍「规画系统」(Planning System) 中的:Planning 会议。我相信熟...
0x1 前言 今天把交易跟退款的代码讯息写出来,接着回头看一下哪边需要调整 0x2 状态代码讯息对应...
前言 链结串列(linked list)是由一连串的结构(由 struct 所建立的节点)所构成,每...
DAy30 转眼一瞬间,从第一天的新手踏上学习IOS之旅开始,到了今天第三十天,过程中曾因开学、中秋...
想必大家在刷leetcode时候,刷到特定的题目的时候都曾经看过这样的图片,这就是Binary t...