整個過程可分為五步:
1建立sequential模型,2新增所需要的神經層,3使用.compile方法確定模型訓練結構,4使用.fit方法
使模型與訓練資料「擬合」,5.predict方法進行**。
匯入tensorflow模組,使用keras中的sequential模型
importtensorflow as tf
model = tf.keras.sequential()
keras.senquential()模型是乙個順序堆疊模型,可以在模型中依次新增所需要的神經層
使用model.add()方法可以向建立好的模型中新增需要的神經層
首先是輸入層
1 model.add(tf.keras.layers.flatten(input_shape = (28, 28)))#輸入的資料為 28*28的二維資料
flatten是常用的輸入層,可以把輸入的多維資料展開成一維,便於輸入到神經網路中。
input_shape引數是以元組的形式輸入資料的維度。
然後是新增中間層,這裡只介紹簡單的幾種中間層。
dense:全連線神經網路層。
dropout:對於神經網路單元,按照一定的概率將其暫時從網路中丟棄。
1 model.add(tf.keras.layers.dense(128, activation = "relu"))
2 model.add(tf.keras.layers.dropout(0.5))
dense中的第乙個引數是只隱藏單元的數量,隱藏單元越多,神經網路就越複雜,activation引數是dense層的啟用函式。
dropout是按照一定概率隨機丟棄一些隱藏單元,避免隱藏單元之間出現過強的依賴性造成過擬合,dropout層可以有效抑制過擬合,引數是隨機丟棄隱藏單元的概率。
最後是新增分類器。
分類器也是乙個中間層,啟用函式選用某些用於分類的函式。
softmax就是乙個常用的分類器。
1 model.add(keras.layers.dense(10, activation='softmax
'))
這裡新增了乙個softmax分類器,第乙個引數是分類的類別,這是乙個10分類的分類器。
1 model.compile(optimizer = 'adam
', #
梯度下降
2 loss = '
sparse_categorical_crossentropy
', #
損失函式
3 metrics = ['
acc'] #
正確率4 )
optimizer引數是選擇模型梯度下降的傳遞優化器例項,也可以通過下面這種方式自定義優化器中的學習率。
1 optimizer = tf.keras.optimizers.adam(learning_rate = 0.001)
loss引數是選擇計算模型誤差的損失函式,常見的有均方差『mse』和'sparse_categorical_crossentropy'等。
metrics用於監視訓練,它們是 tf.keras.metrics模組中的字串名稱或可呼叫物件。
model.fit(train_image, train_label, epochs = 10,batch_size = 32,validation_data =(test_image, test_label)#顯示測試集在訓練中的測試情況
)
最開始的兩個引數是訓練資料和資料的標籤。
epochs是迭代次數,也就是 對這些資料反覆訓練的次數。
batch_size每次迭代輸入的資料數量。
validation_data監視迭代過程中在驗證集上達到的效果。
1 model.evaluate(test_image, test_label)
使用.evaluate()方法對測試集進行評估。
1 model.predict(test_image[0])
使用.predict()方法對資料進行**,返回乙個**的結果。
tensorflow學習筆記
tensorflow安裝可以直接通過命令列或者原始碼安裝,在此介紹tensorflow8命令列安裝如下 安裝tensorflow sudo pip install upgrade 另外,解除安裝tensorflow命令為 sudo pip uninstall tensorflow tensorflo...
Tensorflow學習筆記
1.如何在虛擬機器中安裝tensor flow 1 首先安裝pip pip install 2 pip install 2.學習tensorflow需要學習 python and linux 3.使用 tensorflow,你必須明白 tensorflow 1 使用圖 graph 來表示計算任務.2...
TensorFlow學習筆記
1 擬合直線 import the library import tensorflow as tf import numpy as np prepare train data train x np.linspace 1,1,100 temp1 train x,temp2 train x.shape,...