Keras的一个重要性质是模块化设计,模块可理解为独立的序列或图,完全可配置的模块以最少的代价自由组织在一起。网络层、损失函数、优化器、初始化策略、激活函数、正则化方法都是独立的模块,你可以使用他们快速构建模型。(有点类似于软件开发过程中的”低耦合,高内聚“的思想)
theano http://www.deeplearning.net/software/theano_versions/0.9.X/install.html#install
tensorflow https://github.com/tensorflow/tensorflow#download-and-setup
keras快速上手:
keras的核心数据结构是模型,模型是一种组织网络层的方式。keras的主要数据模型是Sequential,Sequential是一系列网络层按顺序构成的栈。
Sequential模型# 模型一般都在keras.models这个包中from keras.models import Sequentialmodel=Sequential()add()堆叠网络层# 网络层一般都在keras.layers这个包中from keras.layers import Dense,Activationmodel.add(Dense(output_dim=64,input_dim=100))model.add(Activation('relu'))model.add(Dense(output_dim=10))model.add(Activation('relu'))compile()编译模型model.compile(loss='categorical_crossentropy',optimizer='sgd',metrics=['accuracy'])#loss损失函数#optimizer优化器from keras.optimizer import SGDmodel.compile(loss='categorical_crossentropy', optimizer=SGD(lr=0.01, momentum=0.9, nesterov=True))fit()训练模型# 模型训练model.fit(X_train,y_train,nb_epoch=5,batch_size=32)evaluate()评估模型# 模型评估loss_and_metrics = model.evaluate(X_test, Y_test, batch_size=32)
# 我们可以使用我们的模型,对新的数据进行预测:classes = model.PRedict_classes(X_test, batch_size=32)proba = model.predict_proba(X_test, batch_size=32)
新闻热点
疑难解答