import keras
import numpy as np
import matplotlib.pyplot as plt
# sequential按順序構成的模型
from keras.models import sequential
# dense全連線層
from keras.layers import dense,activation
from keras.optimizers import sgd
# 使用numpy生成200個-0.5~0.5之間的值
x_data = np.linspace(
-0.5
,0.5
,200
)noise = np.random.normal(0,
0.02
, x_data.shape)
# y_data= x_data**2 + noise
y_data = np.square(x_data)
+ noise # 效果與上面一致
# 顯示隨機點
# 建立乙個順序模型
model = sequential(
)# 1-10-1: 加入乙個隱藏層(10個神經元):來擬合更加複雜的線性模型。新增啟用函式,來計算函式的非線性
model.add(dense(units=
10, input_dim=
1, activation=
'relu'))
# 全連線層:輸入一維資料,輸出10個神經元
# model.add(activation('tanh')) # 也可以直接在dense裡面加啟用函式
model.add(dense(units=
1, activation=
'tanh'))
# model.add(activation('tanh'))
# 自定義優化器sdg , 學習率預設是0.01(太小,導致要迭代好多次才能較好的擬合資料)
sgd = sgd(lr=
0.3)
model.
compile
(optimizer=sgd, loss=
'mse'
)# 訓練3000次資料
for step in
range
(3001):
cost = model.train_on_batch(x_data, y_data)
if step%
500==0:
print
('cost: '
,cost)
# x_data輸入神經網路中,得到**值y_pred
y_pred = model.predict(x_data)
# 顯示隨機點
# sequential按順序構成的模型
from keras.models import sequential
# dense全連線層
from keras.layers import dense,activation
from keras.optimizers import sgd
# 使用numpy生成200個-0.5~0.5之間的值
x_data = np.linspace(
-0.5
,0.5
,200
)noise = np.random.normal(0,
0.02
, x_data.shape)
# y_data= x_data**2 + noise
y_data = np.square(x_data)
+ noise # 效果與上面一致
# 顯示隨機點
plt.scatter(x_data, y_data)
plt.show(
)# 建立乙個順序模型
model = sequential(
)# 1-10-1: 加入乙個隱藏層(10個神經元):來擬合更加複雜的線性模型。新增啟用函式,來計算函式的非線性
model.add(dense(units=
10, input_dim=
1, activation=
'relu'))
# 全連線層:輸入一維資料,輸出10個神經元
# model.add(activation('tanh')) # 也可以直接在dense裡面加啟用函式
model.add(dense(units=
1, activation=
'tanh'))
# model.add(activation('tanh'))
# 自定義優化器sdg , 學習率預設是0.01(太小,導致要迭代好多次才能較好的擬合資料)
sgd = sgd(lr=
0.3)
model.
compile
(optimizer=sgd, loss=
'mse'
)# 訓練3000次資料
for step in
range
(3001):
cost = model.train_on_batch(x_data, y_data)
if step%
500==0:
print
('cost: '
,cost)
# x_data輸入神經網路中,得到**值y_pred
y_pred = model.predict(x_data)
# 顯示隨機點
plt.scatter(x_data, y_data)
plt.plot(x_data, y_pred,
'r-'
, lw=3)
plt.show(
)
Keras 神經網路構建學習
keras 是簡單易用 高效強大的神經網路庫,底層計算可基於 tensorflow 或 theano 平台實現。本篇將詳細介紹 keras 模型構建的具體步驟。通過閱讀本篇內容您將了解到 keras 模型構建的主要步驟 keras 神經網路搭建的一般過程 keras 模型構建主要包括5個步驟 定義 ...
神經網路的keras實現
keras是構建在tensorflow基礎上的python第三方庫,專門用於神經網路的構建與計算,同時還整合了scikit learn庫,使得可以在神經網路的構建中運用機器學習的方法。現在就用keras來構建之前構建過的神經網路。實現 首先匯入所需要的包 from keras.models impo...
Keras實現神經網路步驟
from keras.models import sequential,model from keras.layers import dense,activation,input input input shape 784,x1 dense 64,activation relu input 第一根隱...