Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Path: blob/master/Convolutional Neural Networks/week4/Face Recognition/__pycache__/fr_utils.cpython-36.pyc
Views: 13378
3 ��Y$! � K @ s d dl Zd dlZd dlZd dlZd dlmZ d dlmZm Z m Z mZmZ d dl mZ d dlmZ d dlmZmZ d dlZd dljZdZedfdd �Zd d� Zdd � Zedfdd�Zd|dd�Zdd� 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�float32c C s* t jtj| |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�variable s r c C s | j � S )N)� get_shape)�xr r r �shape s r c C s t j| �S )N)r �square)r r r r r s r c C s t tj| �||�S )N)r r �zeros)r r r r r r r s r � c C s( |dk r|t | d j� � }tj|| �S )Nr )�lenr r �concat)�tensors�axisr r r r s r c C s t jj| ddd�S )Ng-C��6?g �?)�alpha�beta)r �nn�lrn)r r r r �LRN2D% s r) � c C s� |d krdnd} t |||d|d | d�| �} tdd|d | d �| �} td �| �} |d kr`| S t|dd�| �} |d kr|| S t |||d|d d d�| �} tdd|d d d �| �} td �| �} | S ) N� �1�channels_first�_conv)�strides�data_formatr r g�h㈵��>�_bn)r$ �epsilonr �relu)�paddingr0 �2)r r r r )r �layer�cv1_out� cv1_filter�cv1_strides�cv2_out� cv2_filter�cv2_stridesr4 �num�tensorr r r � 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� � i i� i� )%r@ rB rD rF rH rJ rK rN rO rR rS rV rW rZ r\ r^ r_ rb rc rf rg rj rk rn rp rr rs rv rw rz r{ r~ r� r� r� r� r� c C sb t }t� }xR|D ]J}| j|�d kr8| j|�j|| � qtj|�d krtj|�j|| � qW d S )N)�WEIGHTS�load_weights� get_layer�set_weights�model)�FRmodel�weights�weights_dictr r r r �load_weights_from_FaceNet� s r� c C s~ d} t dd� tj| ��}i }i }x$|D ]}| d | ||jdd�<