吴裕雄 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_ ...
随机推荐
- tcp粘包解决
import socket import hashlib import subprocess import struct phone = socket.socket(socket.AF_INET,so ...
- kafka的API操作
在集群的接收端 启动producer 在consumer这边能接收到producer发来的数据
- bat文件去括号
@Echo Off&SetLocal ENABLEDELAYEDEXPANSION FOR %%a in (*) do ( set "name=%%a" set " ...
- httpd-2.4.6
1.基础 安装: [root@tri manual]# yum install httpd-manual httpd 源码编译: configure配置选项 配置选项 默认值 备注 -prefix ...
- Thinkphp时间转换与统计的问题
1.thinkphp一般存入的都是时间戳,如果希望输入时直接显示格式化的时间呢: a. sql语句: SELECT DATE_FORMAT(create_time,'%Y%u') weeks,COUN ...
- 一个全栈Web/移动App开发学习路径
HTML.CSS 和 JavaScript 网页开发的基本元素,包括HTML.CSS个JavaScript.本课程完全适合零基础的同学,当然如果你有相关开发经验更好.在课程开始呢,我们先探索与讨论HT ...
- 学习笔记:webpack
http://wiki.jikexueyuan.com/project/webpack-handbook/ Webpack 中文指南 http://www.itzjt.cc/2017/04/09/we ...
- 17.纯 CSS 创作炫酷的同心矩形旋转动画
原文地址:https://segmentfault.com/a/1190000014807564 感想: 这个特效不难,但是这想法可能想不到,哈哈,怎么又废了. HTML代码: <div cla ...
- [Flex+JAVA]建立Flex+java项目,并实现基本功能
1新建JAVA WEB项目 新建后的web文件包截图 3添加Flex项目,右键,添加.更改项目类型,天剑Flex项目类型
- Tomcat相关的配置和设置
1.Tomcat环境配置方法见百度文库.略. 2.查看. webapps:所有课执行的WEB项目都放在次目录中 work:此文件保存了所有临时文件,当开发中发现一个程序无法正确执行的时候,就可以考虑将 ...