深度学习课后作业——Course1-Week2
程序员文章站
2022-07-04 20:55:25
...
此篇摘自*这个巨巨*,本文只是加上了自己的总结
- 数组相关
x[m,n]是通过numpy库引用数组或矩阵中的某一段数据集的一种写法,
m代表第m维,n代表m维中取第几段特征数据。
通常用法:x[:,n]或者x[n,:]
- np.shape
数组(矩阵)只有一个维度时,shape只有shape[0],返回的是该一维数组(矩阵)中元素的个数,通俗点说就是返回列数,因为一维数组只有一行,一维情况中array创建的可以看做list(或一维数组),创建时用()和[ ]都可以,多维就不可以这样子了,这里使用[ ]。
1.一维数组
2.二维数组
3.三维数组
- np.squeeze
numpy.squeeze(a,axis = None)
1)a表示输入的数组
2)axis用于指定需要删除的维度,但是指定的维度必须为单维度,否则将会报错
3)axis的取值可为None 或 int 或 tuple of ints, 可选。若axis为空,则删除所有单维度的条目
4)返回值:数组
5) 不会修改原数组
1.一维数组
2.二维数组
结论:根据上例可知,np.squeeze()函数可以删除数组形状中的单维度条目,即把shape中为1的维度去掉,但是对非单维的维度不起作用。
3.三维数组
我们要做的事是搭建一个能够**【识别猫】** 的简单的神经网络,你可以跟随我的步骤在Jupyter Notebook中一步步地把代码填进去,也可以直接复制完整代码,在完整代码在本文最底部。
在开始之前,我们有需要引入的库:
- numpy :是用Python进行科学计算的基本软件包。
- h5py:是与H5文件中存储的数据集进行交互的常用软件包。
- matplotlib:是一个著名的库,用于在Python中绘制图表。
- lr_utils :在本文的资料包里,一个加载资料包里面的数据的简单功能的库。
如果你没有以上的库,请自行安装。lr_utils.py
代码如下,你也可以自行打开它查看:
import numpy as np
import h5py
def load_dataset():
train_dataset = h5py.File('datasets/train_catvnoncat.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
test_dataset = h5py.File('datasets/test_catvnoncat.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
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() 返回的值的含义:
- train_set_x_orig :保存的是训练集里面的图像数据(本训练集有209张64x64的图像)。
- train_set_y_orig :保存的是训练集的图像对应的分类值(【0 | 1】,0表示不是猫,1表示是猫)。
- test_set_x_orig :保存的是测试集里面的图像数据(本训练集有50张64x64的图像)。
- test_set_y_orig : 保存的是测试集的图像对应的分类值(【0 | 1】,0表示不是猫,1表示是猫)。
- classes : 保存的是以bytes类型保存的两个字符串数据,数据为:[b’non-cat’ b’cat’]。
下面是主程序:
上一篇: 机器人教育进社区 成就少儿科技梦想
推荐阅读
-
【吴恩达深度学习编程作业问题汇总】4.3目标检测——车辆识别
-
吴恩达 深度学习 1-4 课后作业2 Deep Neural Network for Image Classification: Application
-
深度学习课后作业——Course2-Week2
-
吴恩达 深度学习 4-2 课后作业 Residual Networks
-
吴恩达 深度学习 4-2 课后作业 Keras tutorial - the Happy House
-
深度学习课后作业——Course1-Week2
-
深度学习课后作业——Course4-Week2
-
深度学习课后作业——Course1-Week3
-
深度学习课后作业——Course2-Week1
-
深度学习编程作业与算法相关函数笔记