Tensorflow學習筆記No 1

2022-02-08 01:06:57 字數 2162 閱讀 6229

整個過程可分為五步:

1建立sequential模型,2新增所需要的神經層,3使用.compile方法確定模型訓練結構,4使用.fit方法

使模型與訓練資料「擬合」,5.predict方法進行**。

匯入tensorflow模組,使用keras中的sequential模型

import

tensorflow 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,...