keras 实现吴恩达老师课程识别手语

1.加载数据
数据由课程提供,第二个课程,第三周课后联系,如果需要百度一下能找到

 X_train, Y_train, X_test, Y_test, classes = tf_utils.load_dataset()

原来的数据矩阵类型:

   print(X_train.shape)
   print(Y_train.shape)
   print(X_test.shape)
   print(Y_test.shape)

keras 实现吴恩达老师课程识别手语_第1张图片
所以需要重新修改矩阵形状

 Y_train = Y_train.T
    Y_test = Y_test.T

修改后:
keras 实现吴恩达老师课程识别手语_第2张图片
对label进行one-hot

Y_train = keras.utils.to_categorical(Y_train, num_classes=6)
Y_test = keras.utils.to_categorical(Y_test, num_classes=6)

2.搭建卷积网络

 model = Sequential(
        [Conv2D(6, (5, 5), activation='relu',   input_shape=(64, 64, 3)),
         MaxPooling2D((2, 2)),
         Conv2D(16, (5, 5), activation='relu'),
         MaxPooling2D((2, 2)),
         Flatten(),
         Dense(64, activation='relu'),
         Dense(32, activation='relu'),
         Dense(6, activation='softmax')]
    )

网络结构为:

卷积->池化->卷积->池化->Flatten(压平)->全连接->全连接->全连接

3.配置神经网络

model.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['acc'])

4.训练

 model.fit(X_train, Y_train, epochs=20, batch_size=64, verbose=1, validation_split=0.0, shuffle=True)

5.对神经网络评价

 score = model.evaluate(X_test, Y_test, batch_size=64)

你可能感兴趣的:(python深度学习)