keras初步學習

2021-07-31 05:02:00 字數 2318 閱讀 6864

import os

os.environ['keras_backend']='theano'

import keras

這樣就可以將keras依賴於theano:using theano backend.

2.曲線擬合

importos

os.environ['keras_backend'] = 'theano'

importnumpyasnp

np.random.seed(1337) # for reproducibility用於指定隨機數生成時所用演算法開始的整數值,如果使用相同的seed( )值,則每次生成的隨即數都相同,如果不設定這個值,則系統根據時間來自己選擇這個值,此時每次生成的隨機數因時間差異而不同

fromkeras.modelsimportsequential # 按順序建立的model

fromkeras.layersimportdense # 全連線層

importmatplotlib.pyplotasplt

# create some data

x = np.linspace(-1, 1

, 200)

np.random.shuffle(x) # randomize the data

y = 0.5 * x + 2 + np.random.normal(0

, 0.05

, (200

,))# plot data

plt.scatter(x, y)

plt.show()

x_train, y_train = x[:160], y[:160] # first 160 data points

x_test, y_test = x[160:], y[160:] # last 40 data points

# 建立乙個神經網路結構

model = sequential()

model.add(dense(output_dim=1

, input_dim=1))

# 選擇損失函式和優化器

model.compile(loss='mse'

, optimizer='sgd')

# training

print('training---------')

forstepinrange(301):

cost = model.train_on_batch(x_train, y_train)

ifstep % 100 == 0:

print('train cost:'

, cost)

# test

print('

\ntesting----------')

cost = model.evaluate(x_test, y_test,

batch_size=40)

print('test cost'

, cost)

w, b = model.layers[0].get_weights()

print('weights='

, w, '\n

biases='

, b)

# plotting the prediction

y_pred = model.predict(x_test)

plt.scatter(x_test, y_test)

plt.plot(x_test, y_pred)

plt.show()

輸出結果:

training---------

train cost: 4.190890312194824

train cost: 0.10415508598089218

train cost: 0.011512813158333302

train cost: 0.004584408365190029

testing----------

40/40 [******************************] - 0s

test cost 0.00537403021008

weights= [[ 0.56634265]] 

biases= [ 2.00106311]

Keras學習筆記

手冊 keras中文文件 1.張量 一階張量是向量,二階張量是矩陣。2.batch batch gradient descent,遍歷全部資料集算一次損失函式,然後算函式對各個引數的梯度,更新梯度。太慢。stochastic gradient descent,每看乙個資料就算一下損失函式,然後求梯度...

Keras 例程學習

來自 imdb 的資料集介紹見 from future import print function from keras.preprocessing import sequence from keras.models import sequential from keras.layers impor...

Keras學習(概論)

簡介 keras 是乙個用 python 編寫的高階神經網路 api,它能夠以 tensorflow,cntk,或者 theano 作為後端執行。keras 的開發重點是支援快速的實驗。能夠以最小的時延把你的想法轉換為實驗結果,是做好研究的關鍵。訓練過程小結from keras.datasets i...