0
点赞
收藏
分享

微信扫一扫

吴恩达深度学习课程 Class 1 Week 2 assignment2_2 易错点

往复随安_5bb5 2022-03-30 阅读 64

       本系列会记录萌新博主学习吴恩达深度学习课程中踩过的各种坑,希望对和我一样的萌新起到借鉴的作用,有错误或不完善的地方还请大佬指正。

1. 注意reshape的使用

       reshape操作是按一定顺序的,default情况下使用C模式,即最后一个维度变化最快。直接reshape和reshape再转置得到的结果是不一样的。

详细参考:numpy中reshape方法详解_zhanggonglalala的博客-CSDN博客_np.reshapehttps://blog.csdn.net/zhanggonglalala/article/details/79356653

train_set_x_flatten_1 = train_set_x_orig.reshape(-1, train_set_x_orig.shape[0])

train_set_x_flatten_2 = train_set_x_orig.reshape(train_set_x_orig.shape[0], -1).T

train_set_x_flatten_1 != train_set_x_flatten_2

2. 一些被废弃的函数

       scipy库中很多旧版本的函数已经无法使用了,可以使用相同功能的其他函数代替,网上资料很多。

3. 课程提供的代码基于jupyter notebook, 因此有的地方需要加上plt.show()才能显示出图像,注意 其加入的位置要注意,因为该语句会打断后续程序的执行,比如后面如果有print就看不到了。

4. 把迭代次数设置低一些可以减轻过拟合,比如将迭代次数设置为900后,train set accuracy适当降低,test set accuracy有所提高。

5. 注意输入图像的格式

       在我进行最后一步,即识别自己的图片时, 出现下图所示报错:

       这是因为输入的图片为png格式,或由png格式转的jpg格式。

       jpg一共有RGB三个通道,而png有RGBA(最后一个通道表示透明度)四个通道,因此按原来的代码运行会出错。

       只需使用.convert("RGB")进行转化,非常方便。(由于提供的函数aborted了用不了我这里的读取方式已经改成了Image.open)

image_raw = Image.open(fname).convert("RGB")
image = np.array(image_raw)
举报

相关推荐

0 条评论