Path: blob/master/Improving Deep Neural Networks Hyperparameter tuning, Regularization and Optimization/week7/__pycache__/tf_utils.cpython-36.pyc
24698 views
3
\�]f � @ sN d dl Z d dlZd dlZd dlZdd� Zd
dd�Zdd� Zd d
� Z dd� Z
dS )� Nc C s� t jdd�} tj| d d d � �}tj| d d d � �}t jdd�}tj|d d d � �}tj|d d d � �}tj|d d d � �}|jd |jd
f�}|jd |jd
f�}|||||fS )Nzdatasets/train_signs.h5�rZtrain_set_xZtrain_set_yzdatasets/test_signs.h5Z
test_set_xZ
test_set_yZlist_classes� r )�h5py�File�np�array�reshape�shape)Z
train_datasetZtrain_set_x_origZtrain_set_y_orig�test_datasetZtest_set_x_origZtest_set_y_orig�classes� r �#/home/jovyan/work/week7/tf_utils.py�load_dataset s r �@ c C s" | j d }g }tjj|� ttjj|��}| dd�|f }|dd�|f j|j d |f�}tj|| �} xdt d| �D ]V}
|dd�|
| |
| | �f }|dd�|
| |
| | �f }||f}
|j
|
� qtW || dk�r|dd�| | |�f }|dd�| | |�f }||f}
|j
|
� |S )a�
Creates a list of random minibatches from (X, Y)
Arguments:
X -- input data, of shape (input size, number of examples)
Y -- true "label" vector (containing 0 if cat, 1 if non-cat), of shape (1, number of examples)
mini_batch_size - size of the mini-batches, integer
seed -- this is only for the purpose of grading, so that you're "random minibatches are the same as ours.
Returns:
mini_batches -- list of synchronous (mini_batch_X, mini_batch_Y)
r Nr )r r �random�seed�list�permutationr �math�floor�range�append)�X�YZmini_batch_sizer �mZmini_batchesr Z
shuffled_XZ
shuffled_YZnum_complete_minibatches�kZmini_batch_XZmini_batch_YZ
mini_batchr r r
�random_mini_batches s$
r c C s t j|�| jd� j} | S )Nr �����)r �eyer �T)r �Cr r r
�convert_to_one_hot? s r! c C s� t j|d �}t j|d �}t j|d �}t j|d �}t j|d �}t j|d �}||||||d�}t jdd d
g�} t| |�}
t j|
�}t j� }|j|| | id�}
|
S )N�W1�b1�W2�b2�W3�b3)r"