tensorflow58 《TensorFlow技术解析与实战》07 Tensorflow的高级框架-keras
2017-06-21 10:26
615 查看
'''Trains a simple convnet on the MNIST dataset. Gets to 99.25% test accuracy after 12 epochs (there is still a lot of margin for parameter tuning). 16 seconds per epoch on a GRID K520 GPU. ''' # 《TensorFlow技术解析与实战》07 Tensorflow的高级框架 # win10 Tensorflow-gpu1.2.0 python3.5.3 # CUDA v8.0 cudnn-8.0-windows10-x64-v5.1 # filename:nntf07.02.py Keras # git clone https://github.com/fchollet/keras.git # https://github.com/fchollet/keras/blob/master/examples/mnist_cnn.py from __future__ import print_function import keras from keras.datasets import mnist from keras.models import Sequential from keras.layers import Dense, Dropout, Flatten from keras.layers import Conv2D, MaxPooling2D from keras import backend as K batch_size = 128 num_classes = 10 epochs = 12 # input image dimensions img_rows, img_cols = 28, 28 # the data, shuffled and split between train and test sets (x_train, y_train), (x_test, y_test) = mnist.load_data() if K.image_data_format() == 'channels_first': x_train = x_train.reshape(x_train.shape[0], 1, img_rows, img_cols) x_test = x_test.reshape(x_test.shape[0], 1, img_rows, img_cols) input_shape = (1, img_rows, img_cols) else: x_train = x_train.reshape(x_train.shape[0], img_rows, img_cols, 1) x_test = x_test.reshape(x_test.shape[0], img_rows, img_cols, 1) input_shape = (img_rows, img_cols, 1) x_train = x_train.astype('float32') x_test = x_test.astype('float32') x_train /= 255 x_test /= 255 print('x_train shape:', x_train.shape) print(x_train.shape[0], 'train samples') print(x_test.shape[0], 'test samples') # convert class vectors to binary class matrices 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, kernel_size=(3, 3), activation='relu', input_shape=input_shape)) model.add(Conv2D(64, (3, 3), activation='relu')) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Dropout(0.25)) model.add(Flatten()) model.add(Dense(128, activation='relu')) model.add(Dropout(0.5)) model.add(Dense(num_classes, activation='softmax')) model.compile(loss=keras.losses.categorical_crossentropy, optimizer=keras.optimizers.Adadelta(), metrics=['accuracy']) model.fit(x_train, y_train, batch_size=batch_size, epochs=epochs, verbose=1, validation_data=(x_test, y_test)) score = model.evaluate(x_test, y_test, verbose=0) print('Test loss:', score[0]) print('Test accuracy:', score[1]) ''' x_train shape: (60000, 28, 28, 1) 60000 train samples 10000 test samples Train on 60000 samples, validate on 10000 samples Epoch 1/12 128/60000 [..............................] - ETA: 4310s - loss: 2.3242 - acc: 0.0312 384/60000 [..............................] - ETA: 1441s - loss: 2.2603 - acc: 0.1432 ... 59776/60000 [============================>.] - ETA: 0s - loss: 0.0383 - acc: 0.9888 60000/60000 [==============================] - 17s - loss: 0.0382 - acc: 0.9889 - val_loss: 0.0274 - val_acc: 0.9915 Test loss: 0.0274153048534 Test accuracy: 0.9915 '''
相关文章推荐
- tensorflow57 《TensorFlow技术解析与实战》07 Tensorflow的高级框架-tflearn
- TensorFlow技术解析与实战 7 TensorFlow 的高级框架
- tensorflow54 《TensorFlow技术解析与实战》15 TensorFlow线性代数编译框架XLA
- TensorFlow技术解析与实战 4 基础知识
- TensorFlow技术解析与实战 9 TensorFlow在MNIST中的应用
- 【慕课实战】Android高级面试 10大开源框架源码解析
- tensorflow59 《TensorFlow技术解析与实战》08 第一个tensorflow程序
- TensorFlow技术解析与实战 13 生成式对抗网络
- Java并发编程高阶技术 高性能并发框架源码解析与实战
- 《TensorFlow技术解析与实战》09 Tensorflow在mnist中的应用
- tensorflow61 《TensorFlow技术解析与实战》13 生成式对抗网络
- TensorFlow技术解析与实战 11 自然语言处理
- 《TensorFlow技术解析与实战》高清中文PDF+源代码
- tensorflow55 《TensorFlow技术解析与实战》16 TensorFlow Debugger
- TensorFlow 技术解析与实战 笔记 01
- TensorFlow技术解析与实战 10 人脸识别
- Tensorflow 实战google深度学习框架 07 滑动平均模型
- 深度学习框架技术解析及caffe实战一些总结
- TensorFlow技术解析与实战 8 第一个tensorflow程序
- TensorFlow技术解析与实战 6 神经网络的发展及其 TensorFlow 实现