资源简介
利用50层ResNet实现手势数字的识别,准确率可达95%。。
代码片段和文件信息
import os
import numpy as np
import tensorflow as tf
import h5py
import math
def load_dataset():
train_dataset = h5py.File(‘datasets/train_signs.h5‘ “r“)
train_set_x_orig = np.array(train_dataset[“train_set_x“][:]) # your train set features
train_set_y_orig = np.array(train_dataset[“train_set_y“][:]) # your train set labels
# print(train_set_x_orig.shape)
# print(train_set_y_orig.shape)
test_dataset = h5py.File(‘datasets/test_signs.h5‘ “r“)
test_set_x_orig = np.array(test_dataset[“test_set_x“][:]) # your test set features
test_set_y_orig = np.array(test_dataset[“test_set_y“][:]) # your test set labels
# print(test_set_x_orig.shape)
# print(test_set_y_orig.shape)
classes = np.array(test_dataset[“list_classes“][:]) # the list of classes
train_set_y_orig = train_set_y_orig.reshape((1 train_set_y_orig.shape[0]))
test_set_y_orig = test_set_y_orig.reshape((1 test_set_y_orig.shape[0]))
return train_set_x_orig train_set_y_orig test_set_x_orig test_set_y_orig classes
#load_dataset()
def random_mini_batches(X Y mini_batch_size = 64 seed = 0):
“““
Creates a list of random minibatches from (X Y)
Arguments:
X -- input data of shape (input size number of examples) (m Hi Wi Ci)
Y -- true “label“ vector (containing 0 if cat 1 if non-cat) of shape (1 number of examples) (m n_y)
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)
“““
m = X.shape[0] # number of training examples
mini_batches = []
np.random.seed(seed)
# Step 1: Shuffle (X Y)
permutation = list(np.random.permutation(m))
shuffled_X = X[permutation:::]
shuffled_Y = Y[permutation:]
# Step 2: Partition (shuffled_X shuffled_Y). Minus the end case.
num_complete_minibatches = math.floor(m/mini_batch_size) # number of mini batches of size mini_batch_size in your partitionning
for k in range(0 num_complete_minibatches):
mini_batch_X = shuffled_X[k * mini_batch_size : k * mini_batch_size + mini_batch_size:::]
mini_batch_Y = shuffled_Y[k * mini_batch_size : k * mini_batch_size + mini_batch_size:]
mini_batch = (mini_batch_X mini_batch_Y)
mini_batches.append(mini_batch)
# Handling the end case (last mini-batch < mini_batch_size)
if m % mini_batch_size != 0:
mini_batch_X = shuffled_X[num_complete_minibatches * mini_batch_size : m:::]
mini_batch_Y = shuffled_Y[num_complete_minibatches * mini_batch_size : m:]
mini_batch = (mini_batch_X mini_batch_Y)
mini_batches.append(mini_batch)
return mini_batches
def convert_to_one_hot(Y C):
Y = np.eye(C)[Y.reshape(-1)].T
return Y
def forward_propagation_for_predict(X parameters):
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-07-20 12:58 assign8\
文件 8586 2018-07-20 12:58 assign8\resnet_gesture.py
文件 404 2018-07-20 08:09 assign8\test_dataset.py
文件 4878 2018-05-21 11:19 assign8\resnets_utils.py
目录 0 2018-02-11 14:56 assign8\images\
文件 77517 2017-11-05 13:03 assign8\images\vanishing_grad_kiank.png
文件 69787 2017-11-05 13:03 assign8\images\skip_connection_kiank.png
文件 476233 2017-11-05 13:03 assign8\images\signs_data_kiank.png
文件 50220 2017-11-05 13:05 assign8\images\resnet_kiank.png
文件 955979 2017-11-05 13:21 assign8\images\my_image.jpg
文件 43859 2017-11-05 13:04 assign8\images\idblock3_kiank.png
文件 33797 2017-11-05 13:04 assign8\images\idblock2_kiank.png
文件 44643 2017-11-05 13:03 assign8\images\convblock_kiank.png
目录 0 2018-02-11 14:56 assign8\datasets\
文件 13281872 2017-11-05 15:46 assign8\datasets\train_signs.h5
文件 1477712 2017-11-05 13:08 assign8\datasets\test_signs.h5
目录 0 2018-05-21 11:21 assign8\__pycache__\
文件 3843 2018-05-21 11:21 assign8\__pycache__\resnets_utils.cpython-35.pyc
- 上一篇:画时序图神器,电子工程师必备
- 下一篇:DevOps的概念.pptx
评论
共有 条评论