日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

深度学习:Keras基础--序贯模型(sequential)

發布時間:2024/1/1 pytorch 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习:Keras基础--序贯模型(sequential) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

深度學習:Keras入門(一)之基礎篇

  • ?1.Keras搭建神經網絡:

????? Keras有兩種類型的模型,序貫模型(Sequential)和函數式模型(Model),函數式模型應用更為廣泛,序貫模型是函數式模型的一種特殊情況。?

a)序貫模型(Sequential):單輸入單輸出,一條路通到底,層與層之間只有相鄰關系,沒有跨層連接。這種模型編譯速度快,操作也比較簡單

b)函數式模型(Model):多輸入多輸出,層與層之間任意連接。這種模型編譯速度慢。

  • 2.代碼示例: from keras.models import Sequential from keras.layers.core import Dense, Dropout, Activation from keras.optimizers import SGD from keras.datasets import mnist import numpy '''第一步:選擇模型 ''' model = Sequential() '''第二步:構建網絡層 ''' model.add(Dense(500,input_shape=(784,))) # 輸入層,28*28=784 model.add(Activation('tanh')) # 激活函數是tanh model.add(Dropout(0.5)) # 采用50%的dropoutmodel.add(Dense(500)) # 隱藏層節點500個 model.add(Activation('tanh')) model.add(Dropout(0.5))model.add(Dense(10)) # 輸出結果是10個類別,所以維度是10 model.add(Activation('softmax')) # 最后一層用softmax作為激活函數'''第三步:編譯 ''' sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True) # 優化函數,設定學習率(lr)等參數 model.compile(loss='categorical_crossentropy', optimizer=sgd, class_mode='categorical') # 使用交叉熵作為loss函數'''第四步:訓練.fit的一些參數batch_size:對總的樣本數進行分組,每組包含的樣本數量epochs :訓練次數shuffle:是否把數據隨機打亂之后再進行訓練validation_split:拿出百分之多少用來做交叉驗證verbose:屏顯模式 0:不輸出 1:輸出進度 2:輸出每次的訓練結果 ''' (X_train, y_train), (X_test, y_test) = mnist.load_data() # 使用Keras自帶的mnist工具讀取數據(第一次需要聯網) # 由于mist的輸入數據維度是(num, 28, 28),這里需要把后面的維度直接拼起來變成784維 X_train = X_train.reshape(X_train.shape[0], X_train.shape[1] * X_train.shape[2]) X_test = X_test.reshape(X_test.shape[0], X_test.shape[1] * X_test.shape[2]) Y_train = (numpy.arange(10) == y_train[:, None]).astype(int) Y_test = (numpy.arange(10) == y_test[:, None]).astype(int)model.fit(X_train,Y_train,batch_size=200,epochs=50,shuffle=True,verbose=0,validation_split=0.3) model.evaluate(X_test, Y_test, batch_size=200, verbose=0)'''第五步:輸出 ''' print("test set") scores = model.evaluate(X_test,Y_test,batch_size=200,verbose=0) print("") print("The test loss is %f" % scores) result = model.predict(X_test,batch_size=200,verbose=0)result_max = numpy.argmax(result, axis = 1) test_max = numpy.argmax(Y_test, axis = 1)result_bool = numpy.equal(result_max, test_max) true_num = numpy.sum(result_bool) print("") print("The accuracy of the model is %f" % (true_num/len(result_bool)))

    ?

總結

以上是生活随笔為你收集整理的深度学习:Keras基础--序贯模型(sequential)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。