码迷,mamicode.com
首页 > Web开发 > 详细

BackBone--Lenet

时间:2020-07-03 21:15:30      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:loss   one   otl   test   fit   cti   shape   roc   img   

 

 

 

技术图片

import tensorflow as tf

(train_x,train_y),(test_x,test_y) = tf.keras.datasets.mnist.load_data()

 

划分验证集和测试集

valid_x = train_x[:5000]
valid_y = train_y[:5000]
train_x = train_x[5000:]
train_y = train_y[5000:]

 

显示数据集

import matplotlib.pyplot as plt
plt.figure(figsize=(12,5))
for i in range(10):
plt.subplot(2,5,i+1)
plt.imshow(train_x[i])
plt.xlabel(train_y[i])
plt.xticks([])
plt.yticks([])
plt.savefig(lenet-mnist)
plt.show()

技术图片

数据归一化

from sklearn.preprocessing import StandardScaler
import numpy as np
scaler = StandardScaler()
train_x_scaled = scaler.fit_transform(train_x.astype(np.float32).reshape(-1,1)).reshape(-1,28,28)
valid_x_scaled = scaler.fit_transform(valid_x.astype(np.float32).reshape(-1,1)).reshape(-1,28,28)
test_x_scaled = scaler.fit_transform(test_x.astype(np.float32).reshape(-1,1)).reshape(-1,28,28)
train_x = tf.reshape(train_x_scaled,(train_x_scaled.shape[0],train_x_scaled.shape[1],train_x_scaled.shape[2],1))
valid_x = tf.reshape(valid_x_scaled,(valid_x_scaled.shape[0],valid_x_scaled.shape[1],valid_x_scaled.shape[2],1))
test_x = tf.reshape(test_x_scaled,(test_x_scaled.shape[0],test_x_scaled.shape[1],test_x_scaled.shape[2],1))

构建lenet网络

model = keras.models.Sequential()
model.add(keras.layers.Conv2D(6,(5,5),activation=relu,input_shape = (28,28,1)))
model.add(keras.layers.MaxPool2D(2,2))
model.add(keras.layers.Conv2D(16,(5,5),activation=relu))
model.add(keras.layers.MaxPool2D(2,2))
model.add(keras.layers.Flatten())
model.add(keras.layers.Dense(120,activation=relu))
model.add(keras.layers.Dense(84,activation=relu))
model.add(keras.layers.Dense(10,activation=sigmoid))

编译网络

import os,sys
lenet_logdir = os.path.join(lenet_logdir)
out_model = os.path.join(lenet_logdir,lenet_mnist.h5)
callbacks = [keras.callbacks.TensorBoard(lenet_logdir),
            keras.callbacks.ModelCheckpoint(lenet_logdir,save_best_only=True)]
model.compile(optimizer = sgd,
             loss = sparse_categorical_crossentropy,
             metrics = [accuracy])

训练网络

history = model.fit(train_x,train_y,
epochs = 30,
validation_data = (valid_x,valid_y),
callbacks=callbacks)

可视化信息

import pandas as pd 
pd.DataFrame(history.history).plot(figsize = (10,4))
plt.grid(True)
plt.gca().set_ylim(0,1)
plt.gca().set_xlim(0,5)
plt.show()

技术图片

模型测试

model.evaluate(test_x,test_y)
10000/10000 [==============================] - 1s 56us/sample - loss: 0.0352 - accuracy: 0.9899
[0.03522909182251751, 0.9899]

 

BackBone--Lenet

标签:loss   one   otl   test   fit   cti   shape   roc   img   

原文地址:https://www.cnblogs.com/peiziming/p/13232441.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!