加载中...
BP神经网络
发表于:2021-11-08 | 分类: 机器学习课程(魏)
1
2
3
4
5
6
import tensorflow as tf
from tensorflow import keras
import numpy as np
import matplotlib.pyplot as plt
import scipy.io as sio

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
fashion_mnist=sio.loadmat('fashion_mnist.mat')
train_img=fashion_mnist['train']
train_imglabels=fashion_mnist['trainlabels']
test_img=fashion_mnist['test']
test_imglabels=fashion_mnist['testlabels']

input1=keras.layers.Input(shape=train_img.shape[1:])
hidden1=keras.layers.Dense(100,activation="tanh")(input1)
hidden2=keras.layers.Dense(120,activation="tanh")(hidden1)
concat=keras.layers.Concatenate()([input1,hidden2])
output=keras.layers.Dense(10,activation="softmax")(concat)
model=keras.Model(inputs=[input1],outputs=[output])

model.compile(loss="sparse_categorical_crossentropy",optimizer=keras.optimizers.SGD(lr=0.005),metrics=['accuracy'])
x_valid,x_train=train_img[:5000]/255,train_img[5000:]/255
y_valid,y_train=train_imglabels[:5000],train_imglabels[5000:]

model.fit(x_train,y_train,batch_size=2500,epochs=100,validation_data=(x_valid,y_valid),verbose=1)

WARNING:tensorflow:From c:\users\administrator\appdata\local\programs\python\python37\lib\site-packages\tensorflow_core\python\ops\resource_variable_ops.py:1630: calling BaseResourceVariable.__init__ (from tensorflow.python.ops.resource_variable_ops) with constraint is deprecated and will be removed in a future version.
Instructions for updating:
If using Keras pass *_constraint arguments to layers.
Train on 55000 samples, validate on 5000 samples
Epoch 1/100
55000/55000 [==============================] - 3s 46us/sample - loss: 2.2687 - acc: 0.1840 - val_loss: 2.0692 - val_acc: 0.2996
Epoch 2/100
55000/55000 [==============================] - 2s 44us/sample - loss: 1.9678 - acc: 0.3960 - val_loss: 1.8557 - val_acc: 0.4844
Epoch 3/100
55000/55000 [==============================] - 2s 44us/sample - loss: 1.7842 - acc: 0.5295 - val_loss: 1.6939 - val_acc: 0.5776
Epoch 4/100
55000/55000 [==============================] - 2s 44us/sample - loss: 1.6412 - acc: 0.5905 - val_loss: 1.5654 - val_acc: 0.6198
Epoch 5/100
55000/55000 [==============================] - 2s 44us/sample - loss: 1.5266 - acc: 0.6213 - val_loss: 1.4618 - val_acc: 0.6430
Epoch 6/100
55000/55000 [==============================] - 2s 44us/sample - loss: 1.4337 - acc: 0.6395 - val_loss: 1.3775 - val_acc: 0.6570
Epoch 7/100
55000/55000 [==============================] - 2s 44us/sample - loss: 1.3572 - acc: 0.6528 - val_loss: 1.3078 - val_acc: 0.6666
Epoch 8/100
55000/55000 [==============================] - 2s 44us/sample - loss: 1.2934 - acc: 0.6628 - val_loss: 1.2492 - val_acc: 0.6752
Epoch 9/100
55000/55000 [==============================] - 2s 44us/sample - loss: 1.2395 - acc: 0.6706 - val_loss: 1.1996 - val_acc: 0.6824
Epoch 10/100
55000/55000 [==============================] - 2s 44us/sample - loss: 1.1935 - acc: 0.6769 - val_loss: 1.1571 - val_acc: 0.6874
Epoch 11/100
55000/55000 [==============================] - 2s 44us/sample - loss: 1.1537 - acc: 0.6833 - val_loss: 1.1201 - val_acc: 0.6924
Epoch 12/100
55000/55000 [==============================] - 2s 44us/sample - loss: 1.1190 - acc: 0.6876 - val_loss: 1.0877 - val_acc: 0.6988
Epoch 13/100
55000/55000 [==============================] - 2s 44us/sample - loss: 1.0885 - acc: 0.6928 - val_loss: 1.0591 - val_acc: 0.7032
Epoch 14/100
55000/55000 [==============================] - 2s 44us/sample - loss: 1.0614 - acc: 0.6970 - val_loss: 1.0337 - val_acc: 0.7074
Epoch 15/100
55000/55000 [==============================] - 2s 44us/sample - loss: 1.0372 - acc: 0.7007 - val_loss: 1.0109 - val_acc: 0.7110
Epoch 16/100
55000/55000 [==============================] - 2s 44us/sample - loss: 1.0154 - acc: 0.7045 - val_loss: 0.9903 - val_acc: 0.7146
Epoch 17/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.9957 - acc: 0.7075 - val_loss: 0.9716 - val_acc: 0.7184
Epoch 18/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.9777 - acc: 0.7114 - val_loss: 0.9546 - val_acc: 0.7220
Epoch 19/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.9613 - acc: 0.7147 - val_loss: 0.9390 - val_acc: 0.7248
Epoch 20/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.9462 - acc: 0.7171 - val_loss: 0.9246 - val_acc: 0.7268
Epoch 21/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.9323 - acc: 0.7196 - val_loss: 0.9113 - val_acc: 0.7296
Epoch 22/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.9194 - acc: 0.7229 - val_loss: 0.8990 - val_acc: 0.7320
Epoch 23/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.9073 - acc: 0.7255 - val_loss: 0.8875 - val_acc: 0.7338
Epoch 24/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.8961 - acc: 0.7285 - val_loss: 0.8767 - val_acc: 0.7366
Epoch 25/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.8856 - acc: 0.7301 - val_loss: 0.8665 - val_acc: 0.7400
Epoch 26/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.8757 - acc: 0.7328 - val_loss: 0.8570 - val_acc: 0.7432
Epoch 27/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.8664 - acc: 0.7349 - val_loss: 0.8480 - val_acc: 0.7456
Epoch 28/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.8576 - acc: 0.7374 - val_loss: 0.8396 - val_acc: 0.7476
Epoch 29/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.8493 - acc: 0.7391 - val_loss: 0.8315 - val_acc: 0.7498
Epoch 30/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.8413 - acc: 0.7415 - val_loss: 0.8239 - val_acc: 0.7516
Epoch 31/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.8338 - acc: 0.7430 - val_loss: 0.8166 - val_acc: 0.7524
Epoch 32/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.8266 - acc: 0.7444 - val_loss: 0.8097 - val_acc: 0.7544
Epoch 33/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.8198 - acc: 0.7457 - val_loss: 0.8030 - val_acc: 0.7562
Epoch 34/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.8132 - acc: 0.7475 - val_loss: 0.7966 - val_acc: 0.7580
Epoch 35/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.8069 - acc: 0.7493 - val_loss: 0.7906 - val_acc: 0.7582
Epoch 36/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.8009 - acc: 0.7509 - val_loss: 0.7847 - val_acc: 0.7604
Epoch 37/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7951 - acc: 0.7519 - val_loss: 0.7791 - val_acc: 0.7608
Epoch 38/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7896 - acc: 0.7535 - val_loss: 0.7737 - val_acc: 0.7638
Epoch 39/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7842 - acc: 0.7550 - val_loss: 0.7684 - val_acc: 0.7650
Epoch 40/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7790 - acc: 0.7564 - val_loss: 0.7634 - val_acc: 0.7660
Epoch 41/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7740 - acc: 0.7574 - val_loss: 0.7585 - val_acc: 0.7676
Epoch 42/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7692 - acc: 0.7592 - val_loss: 0.7538 - val_acc: 0.7684
Epoch 43/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7645 - acc: 0.7607 - val_loss: 0.7493 - val_acc: 0.7696
Epoch 44/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7600 - acc: 0.7619 - val_loss: 0.7449 - val_acc: 0.7714
Epoch 45/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7556 - acc: 0.7634 - val_loss: 0.7406 - val_acc: 0.7738
Epoch 46/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7514 - acc: 0.7646 - val_loss: 0.7365 - val_acc: 0.7750
Epoch 47/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7472 - acc: 0.7656 - val_loss: 0.7324 - val_acc: 0.7758
Epoch 48/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7432 - acc: 0.7671 - val_loss: 0.7286 - val_acc: 0.7770
Epoch 49/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7393 - acc: 0.7678 - val_loss: 0.7247 - val_acc: 0.7784
Epoch 50/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7355 - acc: 0.7697 - val_loss: 0.7210 - val_acc: 0.7792
Epoch 51/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7319 - acc: 0.7702 - val_loss: 0.7174 - val_acc: 0.7802
Epoch 52/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7283 - acc: 0.7711 - val_loss: 0.7139 - val_acc: 0.7812
Epoch 53/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7248 - acc: 0.7726 - val_loss: 0.7105 - val_acc: 0.7816
Epoch 54/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7213 - acc: 0.7733 - val_loss: 0.7072 - val_acc: 0.7820
Epoch 55/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7180 - acc: 0.7739 - val_loss: 0.7039 - val_acc: 0.7828
Epoch 56/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7148 - acc: 0.7749 - val_loss: 0.7007 - val_acc: 0.7830
Epoch 57/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7116 - acc: 0.7755 - val_loss: 0.6976 - val_acc: 0.7840
Epoch 58/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7085 - acc: 0.7766 - val_loss: 0.6946 - val_acc: 0.7840
Epoch 59/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7054 - acc: 0.7775 - val_loss: 0.6917 - val_acc: 0.7846
Epoch 60/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.7025 - acc: 0.7783 - val_loss: 0.6888 - val_acc: 0.7858
Epoch 61/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6996 - acc: 0.7792 - val_loss: 0.6860 - val_acc: 0.7860
Epoch 62/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6967 - acc: 0.7801 - val_loss: 0.6831 - val_acc: 0.7874
Epoch 63/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6940 - acc: 0.7806 - val_loss: 0.6804 - val_acc: 0.7874
Epoch 64/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6913 - acc: 0.7816 - val_loss: 0.6778 - val_acc: 0.7896
Epoch 65/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6886 - acc: 0.7821 - val_loss: 0.6752 - val_acc: 0.7900
Epoch 66/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6860 - acc: 0.7827 - val_loss: 0.6726 - val_acc: 0.7908
Epoch 67/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6834 - acc: 0.7835 - val_loss: 0.6701 - val_acc: 0.7916
Epoch 68/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6809 - acc: 0.7839 - val_loss: 0.6676 - val_acc: 0.7918
Epoch 69/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6785 - acc: 0.7844 - val_loss: 0.6652 - val_acc: 0.7934
Epoch 70/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6760 - acc: 0.7853 - val_loss: 0.6629 - val_acc: 0.7932
Epoch 71/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6737 - acc: 0.7859 - val_loss: 0.6606 - val_acc: 0.7942
Epoch 72/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6713 - acc: 0.7860 - val_loss: 0.6583 - val_acc: 0.7942
Epoch 73/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6691 - acc: 0.7869 - val_loss: 0.6560 - val_acc: 0.7950
Epoch 74/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6668 - acc: 0.7873 - val_loss: 0.6539 - val_acc: 0.7956
Epoch 75/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6646 - acc: 0.7878 - val_loss: 0.6517 - val_acc: 0.7958
Epoch 76/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6625 - acc: 0.7886 - val_loss: 0.6495 - val_acc: 0.7960
Epoch 77/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6603 - acc: 0.7890 - val_loss: 0.6475 - val_acc: 0.7970
Epoch 78/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6582 - acc: 0.7898 - val_loss: 0.6454 - val_acc: 0.7974
Epoch 79/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6562 - acc: 0.7902 - val_loss: 0.6434 - val_acc: 0.7980
Epoch 80/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6542 - acc: 0.7908 - val_loss: 0.6414 - val_acc: 0.7982
Epoch 81/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6522 - acc: 0.7912 - val_loss: 0.6395 - val_acc: 0.7998
Epoch 82/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6502 - acc: 0.7916 - val_loss: 0.6376 - val_acc: 0.7996
Epoch 83/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6483 - acc: 0.7920 - val_loss: 0.6357 - val_acc: 0.8002
Epoch 84/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6464 - acc: 0.7925 - val_loss: 0.6339 - val_acc: 0.8010
Epoch 85/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6445 - acc: 0.7929 - val_loss: 0.6320 - val_acc: 0.8010
Epoch 86/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6427 - acc: 0.7935 - val_loss: 0.6302 - val_acc: 0.8016
Epoch 87/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6409 - acc: 0.7937 - val_loss: 0.6284 - val_acc: 0.8014
Epoch 88/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6391 - acc: 0.7940 - val_loss: 0.6267 - val_acc: 0.8020
Epoch 89/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6374 - acc: 0.7945 - val_loss: 0.6250 - val_acc: 0.8022
Epoch 90/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6356 - acc: 0.7946 - val_loss: 0.6233 - val_acc: 0.8032
Epoch 91/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6340 - acc: 0.7953 - val_loss: 0.6217 - val_acc: 0.8040
Epoch 92/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6323 - acc: 0.7957 - val_loss: 0.6199 - val_acc: 0.8050
Epoch 93/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6306 - acc: 0.7962 - val_loss: 0.6183 - val_acc: 0.8056
Epoch 94/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6290 - acc: 0.7963 - val_loss: 0.6168 - val_acc: 0.8056
Epoch 95/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6274 - acc: 0.7969 - val_loss: 0.6152 - val_acc: 0.8056
Epoch 96/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6258 - acc: 0.7974 - val_loss: 0.6137 - val_acc: 0.8064
Epoch 97/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6242 - acc: 0.7978 - val_loss: 0.6121 - val_acc: 0.8066
Epoch 98/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6227 - acc: 0.7986 - val_loss: 0.6106 - val_acc: 0.8068
Epoch 99/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6212 - acc: 0.7985 - val_loss: 0.6091 - val_acc: 0.8080
Epoch 100/100
55000/55000 [==============================] - 2s 44us/sample - loss: 0.6197 - acc: 0.7992 - val_loss: 0.6077 - val_acc: 0.8074





<tensorflow.python.keras.callbacks.History at 0x16f1a0a3a20>
1

上一篇:
基于支持向量机的分类预测
下一篇:
基于BP神经网络的预测
本文目录
本文目录