學習使用類封裝神經網路層
import tensorflow as tf
from tensorflow.keras.models import model
from tensorflow.keras.layers import dense
from sklearn.datasets import load_iris
import numpy as np
import matplotlib.pyplot as plt
# 使用class類封裝乙個神經網路結構
class
mymodel
(model)
:'''
__init__
() :定義所需的網路結構塊
call()
: 寫出前向傳播
'''def __init__
(self)
:super
(mymodel, self)
.__init__()
self.d1 =
dense
(units=
3,activation=
'softmax'
,kernel_regularizer=tf.keras.regularizers.l1(
))def call
(self, x)
: y = self.
d1(x)
return y
# 載入資料集
iris_data =
load_iris()
x_data = iris_data[
'data'
]y_data = iris_data[
'target'
]# 打亂資料
np.random.
seed(1
)np.random.
shuffle
(x_data)
np.random.
seed(1
)np.random.
shuffle
(y_data)
tf.random.
set_seed(1
)model =
mymodel()
model.
compile
(optimizer=tf.keras.optimizers.
sgd(learning_rate=
0.1)
,loss = tf.keras.losses.
sparsecategoricalcrossentropy()
, metrics=
['sparse_categorical_accuracy'])
history = model.
fit(x_data,y_data,batch_size=
32,epochs=
500,validation_split=
0.2,validation_freq=20)
model.
summary()
plt.
plot
(history.history[
'loss'],
'r')
plt.
plot
(history.history[
'sparse_categorical_accuracy'],
'g')
plt.
legend([
'loss'
,'sparse_categorical_accuracy'])
plt.
show
()
搭建神經網路
1.import 2.train,test 3.model tf.keras.model.sequential 在sequential中描述網路結構,相當於走一遍前向傳播 4.model.compile 在compile中配置訓練方法,選擇哪個優化器,選擇什麼損失函式,選擇什麼評價指標 5.mode...
神經網路體系搭建(一) 神經網路
本篇是神經網路體系搭建的第一篇,解決體系搭建的前四個問題,詳見神經網路體系搭建 序 神經網路的定義就不再贅述,直接從最簡單的神經網路說起。將一系列輸入資料,通過訓練好的網路模型處理,得到輸出結果,這是神經網路決策的步驟。那麼我們的重點就是通過訓練得到網路模型。從上圖可以看出,模型的關鍵其實是尋找合適...
簡單搭建神經網路
簡單的神經網路 準備,前傳,後傳,迭代 下面是乙個簡單的神經網路搭建的 coding utf 8 import tensorflow as tf import numpy as np batch size 8 seed 23455 基於seed產生隨機數 rng np.random.randomst...