随想录(keras入门)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
深度学习基于神经网络而来,学习起来比较复杂。虽然google的tensorflow框架给我们提供了方便,但是使用上还是有很多不明白的地方。现在有了keras之后,大家应该就没有烦恼了。keras相当于在tensorflow上面封装了一层,大部分参数是用默认参数。使用起来得心应手。关于安装方法,我一般都是在ubuntu 16.04上面安装。比如先pip install tensorflow; pip install keras就可以完成安装了。一般来说,做到这几步就可以了,
1、构建sequential模型
from keras.models import Sequentialmodel = Sequential()
2、添加网络层
from keras.layers import Dense, Activationmodel.add(Dense(units=64, input_dim=100))
model.add(Activation("relu"))
model.add(Dense(units=10))
model.add(Activation("softmax"))
3、编译模型,注意损失函数和优化函数两个变量
model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
4、训练数据
model.fit(x_train, y_train, epochs=5, batch_size=32)
5、评估数据
loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128)
6、如果不需要评估数据,可以直接预测数据
classes = model.predict(x_test, batch_size=128)
7、更多内容
关于keras的内容,更多可以参考官方网站,或者它的中文网站https://keras-cn.readthedocs.io/en/latest/#30skeras。关于机器学习或者深度学习这块,个人觉人keras和sklearn、cv2这些开源库一样好用,建议大家多多练习。
import numpy as np
import kerasfrom keras.models import Sequential
from keras.layers import Dense, Dropout, Flatten
from keras.layers import Conv2D, MaxPooling2D
from keras.optimizers import SGD# Generate dummy data
x_train = np.random.random((100, 100, 100, 3))
y_train = keras.utils.to_categorical(np.random.randint(10, size=(100, 1)), num_classes=10)
x_test = np.random.random((20, 100, 100, 3))
y_test = keras.utils.to_categorical(np.random.randint(10, size=(20, 1)), num_classes=10)model = Sequential()
# input: 100x100 images with 3 channels -> (100, 100, 3) tensors.
# this applies 32 convolution filters of size 3x3 each.
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(100, 100, 3)))
model.add(Conv2D(32, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))model.add(Conv2D(64, (3, 3), activation='relu'))
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(256, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(10, activation='softmax'))sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='categorical_crossentropy', optimizer=sgd)model.fit(x_train, y_train, batch_size=32, epochs=10)
score = model.evaluate(x_test, y_test, batch_size=32)
ps:
有兴趣的同学可以关注一下百度的paddlepaddle,即https://github.com/PaddlePaddle/Paddle。个人感觉也非常不错,和keras很像。此外,现在windows平台只有python3才可以安装tensorflow,所以keras也需要在python3上面运行。现在python27最晚在2020年一月份失去支持,大家也可以早点转到python3上面去。
随想录(keras入门)相关推荐
- Keras入门(一)搭建深度神经网络(DNN)解决多分类问题
Keras介绍 Keras是一个开源的高层神经网络API,由纯Python编写而成,其后端可以基于Tensorflow.Theano.MXNet以及CNTK.Keras 为支持快速实验而生,能够把 ...
- Keras入门(一)搭建深度神经网络(DNN)解决多分类问题 1
Keras入门(一)搭建深度神经网络(DNN)解决多分类问题 参考文章: (1)Keras入门(一)搭建深度神经网络(DNN)解决多分类问题 (2)https://www.cnblogs.com/jc ...
- keras 入门教程
keras 入门教程 Keras 是一个用于构建和训练深度学习模型的高级 Python 库.它的目的是简化深度学习模型的构建过程,使得深度学习更易于理解和使用.如果你想入门 Keras,可以参考以下教 ...
- keras入门教程 1.线性回归建模(快速入门)
Keras入门教程 1.线性回归建模(快速入门) 2.线性模型的优化 3.波士顿房价回归 (MPL) 4.卷积神经网络(CNN) 5.使用LSTM RNN 进行时间序列预测 6.Keras 预训练模型 ...
- tensorflow.keras入门1
tensorflow.keras入门1-基本函数介绍 目前keras API 已经整合到 tensorflow中,在tensorflow中通过tf.keras就可以调用keras. import te ...
- GAN学习:Keras入门
Keras入门 1.环境配置 2.搭建一个简单的网络 3.多元线性回归 3.1 准备数据集 3.2 环境配置 3.2代码 3.4 结果 4.全链接模型之手写数字识别模型 5.优化手写数字识别模型 6. ...
- Keras入门教程 3.波士顿房价回归 (MPL)
Keras入门教程 1.线性回归建模(快速入门) 2.线性模型的优化 3.波士顿房价回归 (MPL) 4.卷积神经网络(CNN) 5.使用LSTM RNN 进行时间序列预测 6.Keras 预训练模型 ...
- Keras入门必读教程:手把手从安装到解决实际问题
导读:Keras是目前深度学习研究领域非常流行的框架. 作者:史丹青 来源:大数据DT(ID:hzdashuju) 01 Keras简介与安装 Keras是目前深度学习研究领域非常流行的框架,相比于T ...
- Tensorflow keras入门教程
目录 1.Tensorflow与Keras 2.安装内置Keras的Tensorflow 3.Tensorflow内置的Keras教程 3.1.导入tf.keras 3.2.创建一个简单的模型 3.2 ...
最新文章
- 经典算法研究系列:二、Dijkstra 算法初探
- 浅谈 LiveData 的通知机制
- mysql 基于集_一种基于记录集查找特定行的方法_MySQL
- 深入了解UIAutomation 的API
- 一步一步学习 iOS 6 编程(第四版)正式发布!
- mysql search yum_CentOS 7 yum安装配置mysql
- java implements t_Java泛型——為什么“擴展T”允許而不是“實現T”?
- java输入做参数需要close吗_JAX-RS和java.time.LocalDate作为输入参数
- 前一天还在聊抢票,第二天就被裁了,年底是互联网行业的寒冬吗?
- Recommender Systems协同过滤
- form表单重置、清空方法记录
- 手机修改html离线网页内容,HTML5--离线web应用
- es6 扩展运算符 三个点(...)
- QGraphicsView 如何实现百度地图按照鼠标点进行放大缩小效果
- 增大图片(在图像分割、GAN、超分辨中经常用到)
- Pimple Containter 容器使用实例代码
- SAP Scripting Tracker基本使用技巧
- 进入Google十大排名的10个步骤
- ▲ Android 签到打卡效果
- Arthas(阿尔萨斯)简记
热门文章
- Windows server 2008 R2搭建主域控制器 + 辅域控制器
- submit与button区别提交区别
- 代码创建按钮,文本输入框
- web打印控件Lodop轻松输出清晰的图表和条码
- (转)用Ajax技术让IE Web Control Tree View实现大数据量读取
- 设计模式--6大原则--依赖倒置原则
- Docker部署Redis容器
- Anaconda下安装 TensorFlow 和 keras 以及连接pycharm
- navicat工具查看MySQL数据库_表占用容量_占用空间是多少MB---Linux工作笔记048
- AndroidStudio_Android中使用Handler实现非阻塞线程间通讯_跨线程更新UI_耗时处理完成后主动通知更新UI_在同一个activity用---Android原生开发工作笔记219