keras網絡的各層

網絡就像是一層層連起來或者說疊加起來,keras訓練網絡分爲以下步驟:定義》編譯》訓練》評估》預測

# 簡易多層感知神經網絡示例
from keras.models import Sequential
from keras.layers import Dense
import numpy
# 加載,預處理數據集
dataset = numpy.loadtxt("pima-indians-diabetes.csv", delimiter=",")
X = dataset[:,0:8]
Y = dataset[:,8]
# 1. 定義模型
model = Sequential()
model.add(Dense(12, input_dim=8, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
# 2. 編譯模型
##優化器optimizer,損失函數loss,評估指標metrics。
##編譯的過程也是 Keras 將我們剛定義好的模型轉化爲底層平臺(TensorFlow 或 Theano)結構描述過程,底層平臺會負責後續的計算任務,GPU、CPU 的調度選擇,分佈式運行等。
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# 3. 訓練模型
history = model.fit(X, Y, nb_epoch=100, batch_size=10)
# 4. 評估模型
loss, accuracy = model.evaluate(X, Y)
print("\nLoss: %.2f, Accuracy: %.2f%%" % (loss, accuracy*100))
# 5. 數據預測
probabilities = model.predict(X)
predictions = [float(round(x)) for x in probabilities]
accuracy = numpy.mean(predictions == Y)
print("Prediction Accuracy: %.2f%%" % (accuracy*100))

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章