博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
人工智能教程:Spring Boot+OAuth2,一个注解搞定单点登录!
阅读量:2381 次
发布时间:2019-05-10

本文共 4422 字,大约阅读时间需要 14 分钟。

神经网络比较深…下面的代码最好运行在GPU上

环境参数:Keras == 2.1.2

Tensorflow = 1.4.0

import kerasfrom keras.datasets import cifar10from keras.preprocessing.image import ImageDataGeneratorfrom keras.models import Sequentialfrom keras.layers import Dense,Dropout,Flatten,Activationfrom keras.layers import Conv2D,MaxPooling2D,ZeroPadding2D,GlobalMaxPooling2D#加载数据集batch_size = 32num_classes = 10epochs = 1600data_augmentation = True(x_train,y_train),(x_test,y_test) = cifar10.load_data()print('x_train shape:',x_train.shape)print(x_train.shape[0],'train samples')print(x_test.shape[0],'test samples')x_train = x_train.astype('float32')x_test  = x_test.astype('float32')x_train /= 255x_test  /= 255y_train =keras.utils.to_categorical(y_train,num_classes) y_test  =keras.utils.to_categorical(y_test,num_classes)#搭建网络 model = Sequential()model.add(Conv2D(32, (3, 3), padding='same',input_shape=x_train.shape[1:]))model.add(Activation('relu'))model.add(Conv2D(32, (3, 3), padding='same',input_shape=x_train.shape[1:]))model.add(Activation('relu'))model.add(Conv2D(32, (3, 3), padding='same',input_shape=x_train.shape[1:]))model.add(Activation('relu'))model.add(Conv2D(48, (3, 3), padding='same',input_shape=x_train.shape[1:]))model.add(Activation('relu'))model.add(Conv2D(48, (3, 3), padding='same',input_shape=x_train.shape[1:]))model.add(Activation('relu'))model.add(MaxPooling2D(pool_size=(2, 2)))model.add(Dropout(0.25))model.add(Conv2D(80, (3, 3), padding='same',input_shape=x_train.shape[1:]))model.add(Activation('relu'))model.add(Conv2D(80, (3, 3), padding='same',input_shape=x_train.shape[1:]))model.add(Activation('relu'))model.add(Conv2D(80, (3, 3), padding='same',input_shape=x_train.shape[1:]))model.add(Activation('relu'))model.add(Conv2D(80, (3, 3), padding='same',input_shape=x_train.shape[1:]))model.add(Activation('relu'))model.add(Conv2D(80, (3, 3), padding='same',input_shape=x_train.shape[1:]))model.add(Activation('relu'))model.add(MaxPooling2D(pool_size=(2, 2)))model.add(Dropout(0.25))model.add(Conv2D(128, (3, 3), padding='same',input_shape=x_train.shape[1:]))model.add(Activation('relu'))model.add(Conv2D(128, (3, 3), padding='same',input_shape=x_train.shape[1:]))model.add(Activation('relu'))model.add(Conv2D(128, (3, 3), padding='same',input_shape=x_train.shape[1:]))model.add(Activation('relu'))model.add(Conv2D(128, (3, 3), padding='same',input_shape=x_train.shape[1:]))model.add(Activation('relu'))model.add(Conv2D(128, (3, 3), padding='same',input_shape=x_train.shape[1:]))model.add(Activation('relu'))model.add(GlobalMaxPooling2D())model.add(Dropout(0.25))model.add(Dense(500))model.add(Activation('relu'))model.add(Dropout(0.25))model.add(Dense(num_classes))model.add(Activation('softmax'))model.summary()#模型编译训练opt = keras.optimizers.Adam(lr = 0.0001)model.compile(loss='categorical_crossentropy',optimizer = opt,metrics = ['accuracy'])print("---------train---------")model.fit(x_train,y_train,epochs = 600,batch_size = 128,)print("---------test---------")loss,acc = model.evaluate(x_test,y_test)print("loss=",loss)print("accuracy=",acc)#基于数据增强的训练方法if not data_augmentation:   print('Not using data augmentation.')   model.fit(x_train, y_train,             batch_size=batch_size,             epochs=epochs,             validation_data=(x_test, y_test),             shuffle=True, callbacks=[tbCallBack])else:   print('Using real-time data augmentation.')   datagen = ImageDataGenerator(       featurewise_center=False,  # set input mean to 0 over the dataset       samplewise_center=False,  # set each sample mean to 0       featurewise_std_normalization=False,  # divide inputs by std of the dataset       samplewise_std_normalization=False,  # divide each input by its std       zca_whitening=False,  # apply ZCA whitening       rotation_range=10,  # randomly rotate images in the range (degrees, 0 to 180)       width_shift_range=0.2,  # randomly shift images horizontally (fraction of total width)       height_shift_range=0.2,  # randomly shift images vertically (fraction of total height)       horizontal_flip=True,  # randomly flip images       vertical_flip=False)  # randomly flip images   datagen.fit(x_train)   model.fit_generator(datagen.flow(x_train,y_train,batch_size=batch_size),                                                          steps_per_epoch=x_train.shape[0] // batch_size,                       epochs=epochs,                       validation_data=(x_test, y_test), callbacks=[tbCallBack])

 

人工智能教程:Spring Boot+OAuth2,一个注解搞定单点登录!

转载地址:http://ydkab.baihongyu.com/

你可能感兴趣的文章
BlueStacks安卓模拟器屏幕窗口大小的调整方法
查看>>
【越努力,越幸运】
查看>>
C#中的WebBrowser控件的使用
查看>>
WordPress 不能注册中文用户名的解决方法
查看>>
CMD下修改IP地址!
查看>>
C#按回车相当于按下一个按钮
查看>>
包加载失败的解决办法
查看>>
gdal的矢量栅格化接口GDALRasterizeLayers使用(一)
查看>>
scrum敏捷开发的要点
查看>>
docker基础命令
查看>>
JScript实现将指定目录下的vc工程加到解决方案
查看>>
docker ADD命令的用法
查看>>
windows平台编译pthreads库的经验总结
查看>>
使用pip的libxml安装错误的解决办法
查看>>
windows下编写绿色软件的设想
查看>>
如何调试release版的C#程序
查看>>
引用类库出现类型初始值设定项引发异常错误
查看>>
MarkdownPad2无法预览Markdown文档问题的解决
查看>>
在windows平台上编译SCIP
查看>>
Failed to execute spring-boot-maven-plugin问题的解决
查看>>