keras關於model的小總結

2021-10-14 03:51:35 字數 2955 閱讀 5015

進來看了看keras, 比tf友好的多啊,總結下:

keras有兩種型別的模型,順序模型(sequential)和泛型模型(model)

首先比較簡單的順序型

**示例

model = sequential(

)model.add(dense(32, input_shape=

(500,))

)model.add(dense(10, activation=

'softmax'

))model.compile(optimizer=

'rmsprop',

loss=

'categorical_crossentropy',

metrics=

['accuracy'])

model.fit( x, y, batch_size=32, nb_epoch=10, verbose=1, callbacks=

, validation_split=0.0, validation_data=none, shuffle=true, class_weight=none, sample_weight=none)

score = model.evaluate(x_test, y_test, batch_size=32)

model.predict(x, batch_size=32, verbose=0)

model.predict_classes( x, batch_size=32, verbose=1)

model.predict_proba(x, batch_size=32, verbose=1)

sequential(

) 代表類的初始化;

dense(

) 代表全連線層,引數32表示本層有32個神經元,然後接relu啟用層,由於是第一層,計算機不知道應該是以多少維增加,因此,後面新增輸入維度數100。這一層需要訓練100*32+32個引數。

model.add(

) 相當於把模型一層層拼接起來。

model.compile(

)函式中輸入優化器,損失函式等資訊

model.fit(

)中傳入需要訓練的資料x,y以及訓練的批次等資訊,開始訓練

model.evaluate(

)用來評估模型的誤差函式的返回值是**值的numpy array

model.predict_classes:本函式按batch產生輸入資料的類別**結果;

model.predict_proba:本函式按batch產生輸入資料屬於各個類別的概率

函式式模型基本屬性與訓練流程

一般需要:

1、model.layers,新增層資訊;

2、model.compile,模型訓練的bp模式設定;

3、model.fit,模型訓練引數設定 + 訓練;

4、evaluate,模型評估;

5、predict 模型**

from keras.models import model

from keras.layers import input, dense

a = input(shape=

(32,))

b = dense(32)

(a)model = model(input=a, output=b)

model.compile(optimizer, loss, metrics=

, loss_weights=none, sample_weight_mode=none)

model.fit(x, y, batch_size=32, nb_epoch=10, verbose=1, callbacks=

, validation_split=0.0, validation_data=none, shuffle=true, class_weight=none, sample_weight=none)

model.evaluate(x, y, batch_size=32, verbose=1, sample_weight=none)

model.predict(x, batch_size=32, verbose=0)

例子

from keras.layers import input, dense

from keras.models import model

# this returns a tensor

inputs = input(shape=

(784,))

# a layer instance is callable on a tensor, and returns a tensor

x = dense(64, activation=

'relu'

)(inputs)

# 輸入inputs,輸出x

# (inputs)代表輸入

x = dense(64, activation=

'relu'

)(x)

# 輸入x,輸出x

predictions = dense(10, activation=

'softmax'

)(x)

# 輸入x,輸出分類

# this creates a model that includes

# the input layer and three dense layers

model = model(inputs=inputs, outputs=predictions)

model.compile(optimizer=

'rmsprop',

loss=

'categorical_crossentropy',

metrics=

['accuracy'])

model.fit(data, labels)

# starts training

keras的Model模型的引數說明

keras的model模型的引數說明 keras中的容易混淆的概念 epoch 乙個epoch是把所有訓練樣本訓練一遍。batch size 計算梯度下降時每個batch包含的樣本量 steps per epoch 一輪epoch訓練包含的步數,預設 none 樣本總數 batch size 注意 ...

Keras筆記 3 關於Keras的模型型別

keras有兩種型別的模型,序貫模型 sequential 和函式式模型 model 函式式模型應用更為廣泛,序貫模型是函式式模型的一種特殊情況。兩類模型有一些方法是相同的 config model.get config model model.from config config or,for s...

iOS開發 關於model的處理

ios開發 model的處理重點不是把資料解析變成字典然後對映到model的屬性上面,而是幹model該幹的事。model該幹什麼呢?1.資料的獲取,發網路請求放在model裡比較的合適,放到controller中就有點不合適了 2.資料的改變處理。以後怎麼幹?1.只給model定義乙個dic屬性,...