keras学习笔记(一)

Keras:基于theano和tensorflow的深度学习库

  • Keras是一个高层神经网络库,由Python编写并基于theano和tensorflow
  • Keras适用的Python版本是python2.7-python3.5

       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 Sequential
model=Sequential()
 
   

  • add()堆叠网络层

 
   
# 网络层一般都在keras.layers这个包中
from keras.layers import Dense,Activation
model.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 SGD
model.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)






你可能感兴趣的:(keras)