Keras:基于TensorFlow,但是更高一级的框架,使深度神经网络,卷积神经网络的搭建更加简洁,能更方便得调节各种神经网络相关的参数
只用深度学习实现自动驾驶而不是传统的robotics approach会比较好,不需要设定各种关于规则,网络会自己学习,而且随着驾驶时间变长数据变多,效果会变得更好
Keras的MNIST例子:https://github.com/keras-team/keras/blob/master/examples/mnist_cnn.py
https://github.com/keras-team/keras/blob/master/examples/mnist_mlp.py
Keras用法:
# 带建模相关的函数如fit,evaluate和compile
from keras.models import Sequential
from keras.layers.core import Dense, Activation, Flatten
from keras.layers.convolutional import Convolution2D
from keras.layers.pooling import MaxPooling2D
# 建模
model = Sequential()
# 第一层 flatten layer(把三维输入变成一维)
model.add(Flatten(input_shape=(32, 32, 3)))
# 第二层 全连接层
model.add(Dense(100))
# 第三层 ReLU激活层
model.add(Activation(‘relu’))
# 第四层 全连接层
model.add(Dense(60))
# 第五层 ReLU激活层
model.add(Activation(‘relu’))
# 加CNN
model.add(Convolution2D(32, 3, 3, input_shape=(32, 32, 3)))
# Max Pooling
model.add(MaxPooling2D((2, 2)))
# Dropout
model.add(Dropout(0.5))
# Testing
model.evaluate()
下一步:transfer learning 在别人模型的基础上修改一下自己用