吴裕雄 python神经网络(6)


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)的更多相关文章
- 吴裕雄 python神经网络 花朵图片识别(10)
import osimport numpy as npimport matplotlib.pyplot as pltfrom PIL import Image, ImageChopsfrom skim ...
- 吴裕雄 python神经网络 花朵图片识别(9)
import osimport numpy as npimport matplotlib.pyplot as pltfrom PIL import Image, ImageChopsfrom skim ...
- 吴裕雄 python神经网络 手写数字图片识别(5)
import kerasimport matplotlib.pyplot as pltfrom keras.models import Sequentialfrom keras.layers impo ...
- 吴裕雄 python神经网络 水果图片识别(4)
# coding: utf-8 # In[1]:import osimport numpy as npfrom skimage import color, data, transform, io # ...
- 吴裕雄 python神经网络 水果图片识别(3)
import osimport kerasimport timeimport numpy as npimport tensorflow as tffrom random import shufflef ...
- 吴裕雄 python神经网络 水果图片识别(2)
import osimport numpy as npimport matplotlib.pyplot as pltfrom skimage import color,data,transform,i ...
- 吴裕雄 python 神经网络——TensorFlow 循环神经网络处理MNIST手写数字数据集
#加载TF并导入数据集 import tensorflow as tf from tensorflow.contrib import rnn from tensorflow.examples.tuto ...
- 吴裕雄 python 神经网络——TensorFlow 使用卷积神经网络训练和预测MNIST手写数据集
import tensorflow as tf import numpy as np from tensorflow.examples.tutorials.mnist import input_dat ...
- 吴裕雄 python 神经网络——TensorFlow 训练过程的可视化 TensorBoard的应用
#训练过程的可视化 ,TensorBoard的应用 #导入模块并下载数据集 import tensorflow as tf from tensorflow.examples.tutorials.mni ...
- 吴裕雄 python 神经网络——TensorFlow实现搭建基础神经网络
import numpy as np import tensorflow as tf import matplotlib.pyplot as plt def add_layer(inputs, in_ ...
随机推荐
- matlab 画图参考小程序
x=0.1:0.1:0.9; a=[41.37,44.34,44.34,44.66,44.66,44.66,98.85,98.85,98.85];%xxxxxx b=[22.10,22.39,22.3 ...
- vue和react动画区别
触发动画 vue触发动画是 v-show,v-if ,动态组件或者组件的根节点 react 是CSSTransition上的属性 in 是true 或false触发动画
- Java 4- Java 变量类型
Java 变量类型 在Java语言中,所有的变量在使用前必须声明.声明变量的基本格式如下: type identifier [ = value][, identifier [= value] ...] ...
- CS229 6.8 Neurons Networks implements of PCA ZCA and whitening
PCA 给定一组二维数据,每列十一组样本,共45个样本点 -6.7644914e-01 -6.3089308e-01 -4.8915202e-01 ... -4.4722050e-01 -7.4 ...
- Phpstorm的强大功能
你是否也是重复,重复,一直重复的打着重复的代码? 你是否也一直重复重复 的 Ctrl+c .Ctrl+v? 当你看到此项操作的时候就会发现,原来复制粘贴还能这么玩儿... 演示效果(以phpExcel ...
- 2014年第五届蓝桥杯JavaB组省赛试题解析
题目及解析如下: 题目大致介绍: 第一题到第三题以及第六题是结果填空,方法不限只要得到最后结果就行 第四题和第五题是代码填空题,主要考察算法基本功和编程基本功 第七题到第十题是编程题,要求编程解决问题 ...
- WPF圆角按钮与触发颜色变化
<Button x:Name="button1" Content="按钮1" Margin="10,10,0,0" Cursor=&q ...
- Vuejs自定义全局组件--loading
不管是使用框架,还是不使用任何的框架,我们都不可避免的需要与“加载中……”打交道,刚刚学习了Vuejs自定义组件的写法,就现学现卖,介绍一下吧! 先看一下目录结构,一般情况下,每一个组件都新建一个新的 ...
- TessorFlow学习 之 神经网络的构建
1.建立一个神经网络添加层 输入值.输入的大小.输出的大小和激励函数 学过神经网络的人看下面这个图就明白了,不懂的去看看我的另一篇博客 def add_layer(inputs , in_size , ...
- QT_QSlider的总结
当鼠标选中QSlider 上时,通过点击的数值为setpageStep():通过左右方向键按钮移动的数值为setsingleStep(). 鼠标滚轮上面两者都不行,不知道是什么原因! 应用: http ...