文档章节

Keras简单示例

守望者之父
 守望者之父
发布于 2017/01/20 22:49
字数 317
阅读 244
收藏 0

# -*- coding: utf-8 -*-

"""
Created on Mon May 16 13:34:30 2016
@author: Michelle
"""
from keras.models import Sequential
from keras.layers.core import Dense, Activation
from keras.optimizers import SGD
from keras.layers.advanced_activations import LeakyReLU
from sklearn import preprocessing
#from keras.utils.visualize_plots import figures
import matplotlib.pyplot as plt
import numpy as np

#part1: train data  
#generate 100 numbers from -2pi to 2pi    
x_train = np.linspace(-2*np.pi, 2*np.pi, 1000#array: [1000,]  
x_train = np.array(x_train).reshape((len(x_train), 1)) #reshape to matrix with [100,1]
n=0.1*np.random.rand(len(x_train),1#generate a matrix with size [len(x),1], value in (0,1),array: [1000,1]  
y_train=np.sin(x_train)+n

#训练数据集:零均值单位方差
x_train = preprocessing.scale(x_train)
scaler = preprocessing.StandardScaler().fit(x_train) 
y_train = scaler.transform(y_train)

#part2: test data  
x_test = np.linspace(-5,5,2000)
x_test = np.array(x_test).reshape((len(x_test), 1))
y_test=np.sin(x_test)

#零均值单位方差
x_test = scaler.transform(x_test)
#y_test = scaler.transform(y_test)
##plot testing data
#fig, ax = plt.subplots()
#ax.plot(x_test, y_test,'g')

#prediction data
x_prd = np.linspace(-3,3,101)
x_prd = np.array(x_prd).reshape((len(x_prd), 1))
x_prd = scaler.transform(x_prd)
y_prd=np.sin(x_prd)
#plot testing data
fig, ax = plt.subplots()
ax.plot(x_prd, y_prd,'r')

#part3: create models, with 1hidden layers    
model = Sequential()
model.add(Dense(100init='uniform'input_dim=1))
#model.add(Activation(LeakyReLU(alpha=0.01))) 
model.add(Activation('relu'))

model.add(Dense(50))
#model.add(Activation(LeakyReLU(alpha=0.1))) 
model.add(Activation('relu'))

model.add(Dense(1))
#model.add(Activation(LeakyReLU(alpha=0.01))) 
model.add(Activation('tanh'))

#sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='mean_squared_error'optimizer="rmsprop"metrics=["accuracy"])
#model.compile(loss='mean_squared_error', optimizer=sgd, metrics=["accuracy"])

#model.fit(x_train, y_train, nb_epoch=64, batch_size=20, verbose=0)   
hist = model.fit(x_test, y_test, batch_size=10nb_epoch=100shuffle=True,verbose=1,validation_split=0.2)
#print(hist.history)
score = model.evaluate(x_test, y_test, batch_size=10)

out = model.predict(x_prd, batch_size=1)
#plot prediction data

ax.plot(x_prd, out, 'k--'lw=4)
ax.set_xlabel('Measured')
ax.set_ylabel('Predicted')
plt.show()
print "end"

© 著作权归作者所有

下一篇: ELK框架使用
守望者之父
粉丝 7
博文 89
码字总数 62422
作品 0
南京
私信 提问
可视化Keras深度学习神经网络模型

为了使开发者更好的理解其开发的神经网络模型,Keras Python深度学习库提供了可视化神经网络模型的工具。这对于产品演示和讲解是非常有用的 在本文,你会学到如何在Keras中总结和可视化深度学...

【方向】
2017/12/13
0
0
Keras新手“入坑”指南

对于所有想要开始深度学习的人来说,有很多神经网络框架、库和api等都是非常重要的。可是…为什么要用Keras呢? Keras是一种高级的神经网络API,它运行在许多底层库之上,这些库被用作后端,包...

【方向】
2017/11/13
0
0
深度学习下的医学图像分析(三)

雷锋网按:本文由图普科技编译自《Medical Image Analysis with Deep Learning Part3》,是最近发表的《深度学习下的医学图像分析(二)》的后续文章。雷锋网独家首发。 本文将从卷积神经网络...

图普科技
2017/07/04
0
0
业界 | MXNet开放支持Keras,高效实现CNN与RNN的分布式训练

  选自AWS Machine Learning Blog   作者:Lai Wei、Kalyanee Chendke、Aaron Markham、Sandeep Krishnamurthy   机器之心编译   参与:路、王淑婷      今日 AWS 发布博客宣布 ...

机器之心
2018/05/22
0
0
MXNet 宣布支持 Keras 2,可更加方便快捷地实现 CNN 及 RNN 分布式训练

雷锋网(公众号:雷锋网) AI 研习社按,近期,AWS 表示 MXNet 支持 Keras 2,开发者可以使用 Keras-MXNet 更加方便快捷地实现 CNN 及 RNN 分布式训练。AI 研习社将 AWS 官方博文编译如下。 Ke...

孔令双
2018/05/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

rime设置为默认简体

转载 https://github.com/ModerRAS/ModerRAS.github.io/blob/master/_posts/2018-11-07-rime%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%AE%80%E4%BD%93.md 写在开始 我的Arch Linux上......

zhenruyan
今天
5
0
简述TCP的流量控制与拥塞控制

1. TCP流量控制 流量控制就是让发送方的发送速率不要太快,要让接收方来的及接收。 原理是通过确认报文中窗口字段来控制发送方的发送速率,发送方的发送窗口大小不能超过接收方给出窗口大小。...

鏡花水月
今天
10
0
OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
1K
11
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部