人工智能教程:Spring Boot+OAuth2,一個註解搞定單點登錄!

神經網絡比較深…下面的代碼最好運行在GPU上

環境參數:Keras == 2.1.2
Tensorflow = 1.4.0

<code>import keras

from

 keras.datasets import cifar10

from

 keras.preprocessing.image import ImageDataGenerator

from

 keras.models import Sequential

from

 keras.layers import Dense,Dropout,Flatten,Activation

from

 keras.layers import Conv2D,MaxPooling2D,ZeroPadding2D,GlobalMaxPooling2D batch_size = 

32

num_classes = 

10

epochs = 

1600

data_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 /= 

255

x_test  /= 

255

y_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,          samplewise_center=False,          featurewise_std_normalization=False,          samplewise_std_normalization=False,          zca_whitening=False,          rotation_range=

10

,          width_shift_range=

0.2

,          height_shift_range=

0.2

,          horizontal_flip=True,          vertical_flip=False)      datagen.fit(x_train)    model.fit_generator(datagen.flow(x_train,y_train,batch_size=batch_size),                                                           steps_per_epoch=x_train.shape[

0

]                         epochs=epochs,                        validation_data=(x_test, y_test), callbacks=[tbCallBack])/<code>


人工智能教程:Spring Boot+OAuth2,一個註解搞定單點登錄!


分享到:


相關文章: