吴恩达深度学习之np.squeeze()

吴恩达深度学习课程参考代码:链接:https://pan.baidu.com/s/169hDtOztbAXwnCVBhG9nug
提取码:6r52
最近学习该课程遇到的大坑,在课后作业/代码作业/第二课第一周编程作业/assignment1/2.Regularization_original.ipynb中有一段导入数据代码:

train_X, train_Y, test_X, test_Y = load_2D_dataset() 

运行一直报:ValueError: 'c' argument has 1 elements, which is not acceptable for use with 'x' with size 211, 'y' with size 211.真的是很头大。

问题:主要还是在plot的时候,没有删除掉“Y”中的单维条目,我现在还不太明白,不做解释,具体可以看看:https://blog.csdn.net/zenghaitao0128/article/details/78512715有详细说明。

解决:
1)找到reg_utils.py文件中的load_2D_dataset()函数,将

def load_2D_dataset():
    data = scipy.io.loadmat('datasets/data.mat')
    train_X = data['X'].T
    train_Y = data['y'].T
    test_X = data['Xval'].T
    test_Y = data['yval'].T

    plt.scatter(train_X[0, :], train_X[1, :], c=train_Y, s=40, cmap=plt.cm.Spectral);
    
    return train_X, train_Y, test_X, test_Y

**c=train_Y改成c=np.squeeze(train_Y)**就?,前面课程文件中有的地方也需要这么改,难得去找了,遇到记得改就好。
2) 重启kenerl,重新导入包文件。

你可能感兴趣的:(吴恩达深度学习课程)