import random
import numpy as np
np.random.randint(0,49,3)

##required libararies
import tensorflow as tf
#import numpy as np
import keras
from keras.models import Sequential
from keras.layers import Dense,Dropout,Convolution2D,MaxPooling2D

###MNIST dataset
from tensorflow.examples.tutorials.mnist import input_data
mnist=input_data.read_data_sets("./MNIST_data",one_hot=False)

## Establish train and test dataset
train_X,train_Y,test_X,test_Y=mnist.train.images,\
mnist.train.labels,mnist.test.images,mnist.test.labels

print(train_X.shape,train_Y.shape,test_X.shape,test_Y.shape)

train_Y[80]

3

import matplotlib.pyplot as plt
%matplotlib inline
plt.imshow(np.reshape(train_X[80],(28,28)),cmap='gray')
plt.show()

from keras.utils import np_utils #(utilities)
n_classes=10
train_y=keras.utils.to_categorical(train_Y,n_classes)
test_y=keras.utils.to_categorical(test_Y,n_classes)

print(train_y.shape,test_y.shape)

train_y[0]

np.argmax(train_y[0],axis=0)

7

Drop_prob=0.2
from keras.layers import Activation,Flatten
###设定模型为序贯模型###
model=Sequential()

###C O N V O L U T I O N L A Y E R 1###
model.add(Convolution2D(filters=32,kernel_size=(3,3),input_shape=(28,28,1),strides=(1, 1),padding='same'))
model.add(Activation("relu"))

###P O O L I N G L A Y E R 1###
model.add(MaxPooling2D(pool_size=(2, 2),padding='same'))
model.add(Dropout(Drop_prob))

###C O N V O L U T I O N L A Y E R 2###
model.add(Convolution2D(filters=64,kernel_size=(3,3),input_shape=(14,14,32),strides=(1, 1),padding='same'))
model.add(Activation("relu"))

###P O O L I N G L A Y E R 2###
model.add(MaxPooling2D(pool_size=(2, 2),padding='same'))
model.add(Dropout(Drop_prob))

###C O N V O L U T I O N L A Y E R 3###
model.add(Convolution2D(filters=128,kernel_size=(3,3),input_shape=(7,7,64),strides=(1, 1),padding='same'))
model.add(Activation("relu"))

###P O O L I N G L A Y E R 3###
model.add(MaxPooling2D(pool_size=(2, 2),padding='same'))
model.add(Flatten())
model.add(Dropout(Drop_prob))

###F U L L Y C O N N E C T E D(FC)###
model.add(Dense(units=128,activation="relu"))
model.add(Dropout(0.5))

###F U L L Y C O N N E C T E D(FC)###
model.add(Dense(units=512,activation="relu"))
model.add(Dropout(0.5))

###F U L L Y C O N N E C T E D(FC)###
model.add(Dense(units=n_classes,activation="softmax"))
model.summary()

num_parameters

18496

from keras.optimizers import Adam
train_X=np.reshape(train_X,(train_X.shape[0],28,28,1))
##compile
model.compile(optimizer=Adam(),loss="categorical_crossentropy",metrics=['accuracy'])
##train
model.fit(train_X,train_y,epochs=100,batch_size=256,verbose=1)

evaluation=model.evaluate(test_X,test_y,batch_size=256,verbose=0)
print("loss:%.4f",evaluation[0],"acuraccy:%.4f",evaluation[1])

吴裕雄 python神经网络(6)的更多相关文章

  1. 吴裕雄 python神经网络 花朵图片识别(10)

    import osimport numpy as npimport matplotlib.pyplot as pltfrom PIL import Image, ImageChopsfrom skim ...

  2. 吴裕雄 python神经网络 花朵图片识别(9)

    import osimport numpy as npimport matplotlib.pyplot as pltfrom PIL import Image, ImageChopsfrom skim ...

  3. 吴裕雄 python神经网络 手写数字图片识别(5)

    import kerasimport matplotlib.pyplot as pltfrom keras.models import Sequentialfrom keras.layers impo ...

  4. 吴裕雄 python神经网络 水果图片识别(4)

    # coding: utf-8 # In[1]:import osimport numpy as npfrom skimage import color, data, transform, io # ...

  5. 吴裕雄 python神经网络 水果图片识别(3)

    import osimport kerasimport timeimport numpy as npimport tensorflow as tffrom random import shufflef ...

  6. 吴裕雄 python神经网络 水果图片识别(2)

    import osimport numpy as npimport matplotlib.pyplot as pltfrom skimage import color,data,transform,i ...

  7. 吴裕雄 python 神经网络——TensorFlow 循环神经网络处理MNIST手写数字数据集

    #加载TF并导入数据集 import tensorflow as tf from tensorflow.contrib import rnn from tensorflow.examples.tuto ...

  8. 吴裕雄 python 神经网络——TensorFlow 使用卷积神经网络训练和预测MNIST手写数据集

    import tensorflow as tf import numpy as np from tensorflow.examples.tutorials.mnist import input_dat ...

  9. 吴裕雄 python 神经网络——TensorFlow 训练过程的可视化 TensorBoard的应用

    #训练过程的可视化 ,TensorBoard的应用 #导入模块并下载数据集 import tensorflow as tf from tensorflow.examples.tutorials.mni ...

  10. 吴裕雄 python 神经网络——TensorFlow实现搭建基础神经网络

    import numpy as np import tensorflow as tf import matplotlib.pyplot as plt def add_layer(inputs, in_ ...

随机推荐

  1. tcp粘包解决

    import socket import hashlib import subprocess import struct phone = socket.socket(socket.AF_INET,so ...

  2. kafka的API操作

    在集群的接收端 启动producer 在consumer这边能接收到producer发来的数据

  3. bat文件去括号

    @Echo Off&SetLocal ENABLEDELAYEDEXPANSION FOR %%a in (*) do ( set "name=%%a" set " ...

  4. httpd-2.4.6

    1.基础 安装: [root@tri manual]# yum install httpd-manual httpd 源码编译: configure配置选项 配置选项 默认值 备注 -prefix   ...

  5. Thinkphp时间转换与统计的问题

    1.thinkphp一般存入的都是时间戳,如果希望输入时直接显示格式化的时间呢: a. sql语句: SELECT DATE_FORMAT(create_time,'%Y%u') weeks,COUN ...

  6. 一个全栈Web/移动App开发学习路径

    HTML.CSS 和 JavaScript 网页开发的基本元素,包括HTML.CSS个JavaScript.本课程完全适合零基础的同学,当然如果你有相关开发经验更好.在课程开始呢,我们先探索与讨论HT ...

  7. 学习笔记:webpack

    http://wiki.jikexueyuan.com/project/webpack-handbook/ Webpack 中文指南 http://www.itzjt.cc/2017/04/09/we ...

  8. 17.纯 CSS 创作炫酷的同心矩形旋转动画

    原文地址:https://segmentfault.com/a/1190000014807564 感想: 这个特效不难,但是这想法可能想不到,哈哈,怎么又废了. HTML代码: <div cla ...

  9. [Flex+JAVA]建立Flex+java项目,并实现基本功能

    1新建JAVA WEB项目 新建后的web文件包截图 3添加Flex项目,右键,添加.更改项目类型,天剑Flex项目类型

  10. Tomcat相关的配置和设置

    1.Tomcat环境配置方法见百度文库.略. 2.查看. webapps:所有课执行的WEB项目都放在次目录中 work:此文件保存了所有临时文件,当开发中发现一个程序无法正确执行的时候,就可以考虑将 ...