CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
y33-j3T

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.

GitHub Repository: y33-j3T/Coursera-Deep-Learning
Path: blob/master/Convolutional Neural Networks/week4/Face Recognition/__pycache__/fr_utils.cpython-36.pyc
Views: 13378
3

��Y$!�K@sddlZddlZddlZddlZddlmZddlmZm	Z	m
Z
mZmZddl
mZddlmZddlmZmZddlZddljZdZedfdd	�Zd
d�Zdd
�Zedfdd�Zd|dd�Zdd�Zd�dd�Zddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbgKZdcdddddgdcdcddgdedcddgdcdeddgdfdeddgdgdeddgdfdgdhdhgdideddgdjdiddgdidkddgdjdiddgdfdkddgdcdfdhdhgdcdkddgdcdkddgdjdlddgdkdjddgdfdlddgdcdfdhdhgdidmddgdediddgdfdmddgdcdfdhdhgdjdmddgdkdmddgdndmddgdkdnddgdcdmddgdjdcdhdhgdidoddgdpdiddgdidoddgdkdoddgdidqddgdpdiddgdidqddgdkdqddgdr�%Z dsdt�Z!dudv�Z"dwdx�Z#dydz�Z$dS)��N)�
genfromtxt)�Conv2D�
ZeroPadding2D�
Activation�Input�concatenate)�Model)�BatchNormalization)�MaxPooling2D�AveragePooling2D�float32cCs*tjtj||d�|d�}t�j|j�|S)N)�dtype)�name)�tf�Variable�np�asarray�_get_session�run�initializer)�valuer
r�v�r�4/home/jovyan/work/week4/Face Recognition/fr_utils.py�variablesrcCs|j�S)N)�	get_shape)�xrrr�shapesrcCs
tj|�S)N)r�square)rrrrrsrcCsttj|�||�S)N)rr�zeros)rr
rrrrrsr�cCs(|dkr|t|dj��}tj||�S)Nr)�lenrr�concat)�tensors�axisrrrr srcCstjj|ddd�S)Ng-C��6?g�?)�alpha�beta)r�nn�lrn)rrrr�LRN2D%sr)�c	Cs�|dkrdnd}	t|||d|d|	d�|�}
tdd|d|	d	�|
�}
td
�|
�}
|dkr`|
St|dd�|
�}
|dkr||
St|||d|ddd�|
�}
tdd|ddd	�|
�}
td
�|
�}
|
S)
N��1�channels_first�_conv)�strides�data_formatrr g�h㈵��>�_bn)r$�epsilonr�relu)�paddingr0�2)rr	rr)r�layer�cv1_out�
cv1_filter�cv1_strides�cv2_out�
cv2_filter�cv2_stridesr4�num�tensorrrr�	conv2d_bn(s	r?�conv1�bn1�conv2�bn2�conv3�bn3�inception_3a_1x1_conv�inception_3a_1x1_bn�inception_3a_pool_conv�inception_3a_pool_bn�inception_3a_5x5_conv1�inception_3a_5x5_conv2�inception_3a_5x5_bn1�inception_3a_5x5_bn2�inception_3a_3x3_conv1�inception_3a_3x3_conv2�inception_3a_3x3_bn1�inception_3a_3x3_bn2�inception_3b_3x3_conv1�inception_3b_3x3_conv2�inception_3b_3x3_bn1�inception_3b_3x3_bn2�inception_3b_5x5_conv1�inception_3b_5x5_conv2�inception_3b_5x5_bn1�inception_3b_5x5_bn2�inception_3b_pool_conv�inception_3b_pool_bn�inception_3b_1x1_conv�inception_3b_1x1_bn�inception_3c_3x3_conv1�inception_3c_3x3_conv2�inception_3c_3x3_bn1�inception_3c_3x3_bn2�inception_3c_5x5_conv1�inception_3c_5x5_conv2�inception_3c_5x5_bn1�inception_3c_5x5_bn2�inception_4a_3x3_conv1�inception_4a_3x3_conv2�inception_4a_3x3_bn1�inception_4a_3x3_bn2�inception_4a_5x5_conv1�inception_4a_5x5_conv2�inception_4a_5x5_bn1�inception_4a_5x5_bn2�inception_4a_pool_conv�inception_4a_pool_bn�inception_4a_1x1_conv�inception_4a_1x1_bn�inception_4e_3x3_conv1�inception_4e_3x3_conv2�inception_4e_3x3_bn1�inception_4e_3x3_bn2�inception_4e_5x5_conv1�inception_4e_5x5_conv2�inception_4e_5x5_bn1�inception_4e_5x5_bn2�inception_5a_3x3_conv1�inception_5a_3x3_conv2�inception_5a_3x3_bn1�inception_5a_3x3_bn2�inception_5a_pool_conv�inception_5a_pool_bn�inception_5a_1x1_conv�inception_5a_1x1_bn�inception_5b_3x3_conv1�inception_5b_3x3_conv2�inception_5b_3x3_bn1�inception_5b_3x3_bn2�inception_5b_pool_conv�inception_5b_pool_bn�inception_5b_1x1_conv�inception_5b_1x1_bn�dense_layer�@���� ���`��i@i��ii�i�)%r@rBrDrFrHrJrKrNrOrRrSrVrWrZr\r^r_rbrcrfrgrjrkrnrprrrsrvrwrzr{r~r�r�r�r�r�cCsbt}t�}xR|D]J}|j|�dkr8|j|�j||�qtj|�dkrtj|�j||�qWdS)N)�WEIGHTS�load_weights�	get_layer�set_weights�model)�FRmodel�weights�weights_dictrrrr�load_weights_from_FaceNet�s
r�cCs~d}tdd�tj|��}i}i}x$|D]}|d|||jdd�<q&W�x0tD�]&}d|kr�t||dd	dd
�}tj|t|�}tj	|d�}t||dd	dd
�}||g||<qNd|k�r&t||dd	dd
�}t||dd	dd
�}	t||dd	dd
�}
t||dd	dd
�}||	|
|g||<qNd|krNt|dd	dd
�}tj|d�}tj	|d�}t|dd	dd
�}
||
g||<qNW|S)Nz	./weightscSs|jd�S)N�.)�
startswith)�frrr�<lambda>�szload_weights.<locals>.<lambda>�/z.csvr+�conv�_w�,)�	delimiterr
�r*r r�_b�bn�_m�_v�densez/dense_w.csvr���z/dense_b.csv)r�r*r r)r�r�)r r)
�filter�os�listdir�replacer�rr�reshape�
conv_shape�	transpose)�dirPath�	fileNames�pathsr��nr�conv_w�conv_b�bn_w�bn_b�bn_m�bn_v�dense_w�dense_brrrr��s4

r�cCs�tjdd�}tj|ddd��}tj|ddd��}tjdd�}tj|ddd��}tj|ddd��}tj|ddd��}|jd	|jd
f�}|jd	|jd
f�}|||||fS)Nzdatasets/train_happy.h5�r�train_set_x�train_set_yzdatasets/test_happy.h5�
test_set_x�
test_set_y�list_classesr r)�h5py�Filer�arrayr�r)�
train_dataset�train_set_x_orig�train_set_y_orig�test_dataset�test_set_x_orig�test_set_y_orig�classesrrr�load_dataset�sr�cCsRtj|d�}|dddd�f}tjtj|d	�ddd�}tj|g�}|j|�}|S)
Nr .r�rg�o@�)�decimals�����)r�rr )�cv2�imreadr�aroundr�r��predict_on_batch)�
image_pathr��img1�img�x_train�	embeddingrrr�img_to_encoding�s
r�r�)r��r r �r r �r*r*�r r )NNr�r�Nr�r�N)%�
tensorflowr�numpyrr�r�r�keras.layersrrrrr�keras.modelsr�keras.layers.normalizationr	�keras.layers.poolingr
rr��matplotlib.pyplot�pyplot�plt�_FLOATXrrrrr)r?r�r�r�r�r�r�rrrr�<module>s�






































!