带你少走弯路:强烈推荐的Keras快速入门资料和翻译(可下载)

上次写了TensorFlow和PyTorch的快速入门资料,受到很多好评,读者强烈建议我再出一个keras的快速入门路线,经过翻译和搜索网上资源,我推荐4份入门资料,希望对大家有所帮助。

备注:另外两个入门资料

很负责任地说:看完这些资料,Keras基本入门了,接下来碰到问题能自己查资料解决了!(本文作者:黄海广)

今日推荐阅读:

640?wx_fmt=png

推荐资料

1.《python深度学习》及中文注释的代码

TensorFlow团队的Josh Gordon推荐这本书,TF2.0基于Keras。如果你是一个深度学习新手,最好从这本书入手。当然这本书里的代码需要改一下,但非常简单:

import keras -> from tensorflow import keras

640?wx_fmt=png

python深度学习》由Keras之父、现任Google人工智能研究员的弗朗索瓦•肖莱(François Chollet)执笔,详尽介绍了用Python和Keras进行深度学习的探索实践,包括计算机视觉、自然语言处理、产生式模型等应用。书中包含30多个代码示例,步骤讲解详细透彻。

作者在github公布了代码,代码几乎囊括了本书所有知识点。在学习完本书后,读者将具备搭建自己的深度学习环境、建立图像识别模型、生成图像和文字等能力。但是有一个小小的遗憾:代码的解释和注释是全英文的,即使英文水平较好的朋友看起来也很吃力。

本站认为,这本书和代码是初学者入门深度学习及Keras最好的工具。

黄海广对全部代码做了中文解释注释,并下载了代码所需要的一些数据集(尤其是“猫狗大战”数据集),并对其中一些图像进行了本地化,代码全部测试通过。(请按照文件顺序运行,代码前后有部分关联)。

以下代码包含了全书80%左右的知识点,代码目录:

  • 2.1: A first look at a neural network( 初识神经网络)

  • 3.5: Classifying movie reviews(电影评论分类:二分类问题)

  • 3.6: Classifying newswires(新闻分类:多分类问题 )

  • 3.7: Predicting house prices(预测房价:回归问题)

  • 4.4: Underfitting and overfitting( 过拟合与欠拟合)

  • 5.1: Introduction to convnets(卷积神经网络简介)

  • 5.2: Using convnets with small datasets(在小型数据集上从头开始训练一个卷积

  • 5.3: Using a pre-trained convnet(使用预训练的卷积神经网络)

  • 5.4: Visualizing what convnets learn(卷积神经网络的可视化)

  • 6.1: One-hot encoding of words or characters(单词和字符的 one-hot 编码)

  • 6.1: Using word embeddings(使用词嵌入)

  • 6.2: Understanding RNNs(理解循环神经网络)

  • 6.3: Advanced usage of RNNs(循环神经网络的高级用法)

  • 6.4: Sequence processing with convnets(用卷积神经网络处理序列)

  • 8.1: Text generation with LSTM(使用 LSTM 生成文本)

  • 8.2: Deep dream(DeepDream)

  • 8.3: Neural style transfer( 神经风格迁移)

  • 8.4: Generating images with VAEs(用变分自编码器生成图像)

  • 8.5: Introduction to GANs(生成式对抗网络简介)

中文注释与解释如图:

640?wx_fmt=png

640?wx_fmt=png

图:代码的中文注释与解释

作者的github:

https://github.com/fchollet/deep-learning-with-python-notebooks

中文注释代码:

https://github.com/fengdu78/machine_learning_beginner/tree/master/deep-learning-with-python-notebooks

2.keras的样例代码

资源地址:

https://github.com/erhwenkuo/deep-learning-with-keras-notebooks

资源介绍:

这个github的repository主要是ErhWen Kuo在学习Keras的一些记录及练习。希望在学习过程中发现到一些好的信息与示例也可以对想要学习使用Keras来解决问题的同学带来帮助。这些notebooks主要是使用Python 3.6与Keras 2.1.1版本跑在一台配置Nivida 1080Ti的Windows 10的机台所产生的结果,但有些部份会参杂一些Tensorflow与其它的函式库的介绍。

配置环境:

python 3.6以上,Keras 2.1.1

资源目录:

0.图象数据集/工具介绍

  • 0.0: COCO API解说与简单示例

  • 0.1:土炮自制扑克牌图象数据集

  • 0.2:使用Pillow来进行图像处理

1.Keras API示例

  • 1.0:使用图像增强来进行深度学习

  • 1.1:如何使用Keras函数式API进行深度学习

  • 1.2:从零开始构建VGG网络来学习Keras

  • 1.3:使用预训练的模型来分类照片中的物体

  • 1.4:使用图像增强来训练小数据集

  • 1.5:使用预先训练的卷积网络模型

  • 1.6:卷积网络模型学习到什么的可视化

  • 1.7:构建自动编码器(Autoencoder)

  • 1.8:序列到序列(Seq-to-Seq)学习介绍

  • 1.9: One-hot编码工具程序介绍

  • 1.10:循环神经网络(RNN)介绍

  • 1.11: LSTM的返回序列和返回状态之间的区别

  • 1.12:用LSTM来学习英文字母表顺序

2.图像分类(Image Classification)

  • 2.0: Julia(Chars74K)字母图像分类

  • 2.1:交通标志图像分类

  • 2.2:辛普森卡通图像角色分类

  • 2.3:时尚服饰图像分类

  • 2.4:人脸关键点辨识

  • 2.5: Captcha验证码分类

  • 2.6: Mnist手写图像分类(MLP)

  • 2.7: Mnist手写图像分类(CNN)

3.目标检测(Object Recognition)

  • 3.0: YOLO目标检测算法概念与介绍

  • 3.1: YOLOv2目标检测示例

  • 3.2:浣熊(Racoon)检测-YOLOv2模型训练与调整

  • 3.3:浣熊(Racoon)检测-YOLOv2模型的使用

  • 3.4:袋鼠(Kangaroo)检测-YOLOv2模型训练与调整

  • 3.5:双手(Hands)检测-YOLOv2模型训练与调整

  • 3.6:辛普森卡通图象角色(Simpson)检测-YOLOv2模型训练与调整

  • 3.7: MS COCO图象检测-YOLOv2模型训练与调整

4.物体分割(Object Segmentation)

5.关键点检测(Keypoint Detection)

6.图象标题(Image Caption)

7.人脸检测识别(Face Detection/Recognition)

  • 7.0:人脸检测- OpenCV(Haar特征分类器)

  • 7.1:人脸检测- MTCNN(Multi-task Cascaded Convolutional Networks)

  • 7.2:人脸识别-脸部检测、对齐&裁剪

  • 7.3:人脸识别-人脸部特征提取&人脸分类器

  • 7.4:人脸识别-转换、对齐、裁剪、特征提取与比对

  • 7.5:脸部关键点检测(dlib)

  • 7.6:头部姿态(Head pose)估计(dlib)

8.自然语言处理(Natural Language Processing)

  • 8.0:词嵌入(word embeddings)介绍

  • 8.1:使用结巴(jieba)进行中文分词

  • 8.2: Word2vec词嵌入(word embeddings)的基本概念

  • 8.3:使用结巴(jieba)进行歌词分析

  • 8.4:使用gensim训练中文词向量(word2vec)

3.keras的官方样例

资源地址:

https://github.com/keras-team/keras/tree/master/examples

资源介绍:

这个github是Keras的官方例子,包含了CV、NLP、生成模型以及一些通用的函数代码,可以说是教科书式的,拿过来改下输入输出就能用,非常方便。

4.keras的预训练模型

资源地址:

https://github.com/fchollet/deep-learning-models

这个仓库是keras的作者建立的,包含的预训练的 Keras 模型:

  • VGG16

  • VGG19

  • ResNet50

  • Inception v3

  • CRNN for music tagging

    样例说明:

图像分类代码

from resnet50 import ResNet50
from keras.preprocessing import image
from imagenet_utils import preprocess_input, decode_predictionsmodel = ResNet50(weights='imagenet')img_path = 'elephant.jpg'
img = image.load_img(img_path, target_size=(224, 224))
x = image.img_to_array(img)
x = np.expand_dims(x, axis=0)
x = preprocess_input(x)preds = model.predict(x)
print('Predicted:', decode_predictions(preds))
# print: [[u'n02504458', u'African_elephant']]

总结

看完这些资料,Keras基本入门了,接下来碰到问题能自己查资料解决了!

640?wx_fmt=png

关于本站

640?wx_fmt=jpeg

“机器学习初学者”公众号由是黄海广博士创建,黄博个人知乎粉丝22000+,github排名全球前110名(32000+)。本公众号致力于人工智能方向的科普性文章,为初学者提供学习路线和基础资料。原创作品有:吴恩达机器学习个人笔记、吴恩达深度学习笔记等。

往期精彩回顾

备注:加入本站微信群或者qq群,请回复“加群

加入知识星球(4300+用户,ID:92416895),请回复“知识星球

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/408476.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

hadoop遇到的问题及处理

1:杀掉hadoop作业 列出作业 ./hadoop job -list杀掉 ./hadoop job -kill job_id1:某些节点出现running asprocess XXX. Stop it first 这是由于各节点登录用户为root,在启动hadoop前,务必将各节点用户切换至普通用户hadoop下,切换…

Mac 下安装配置 Python 开发环境

图片来源:Unsplash,作者 Markus Spiske 2019 年第 77 篇文章,总第 101 篇文章前言记录下 Mac 电脑的开发环境安装配置,主要包括:安装&使用Homebrew安装使用 git安装 anaconda,配置 python3 环境安装 ju…

react学习(5)----通过设置初始值控制页面render渲染

boothActivityCode: this.props.location.query.code || ,

【Android源代码下载】收集整理android界面UI效果源码

在Android开发中,Android界面UI效果设计一直都是很多童鞋关注的问题,今天给大家分享下大神收集整理的多个android界面UI效果,都是源码,都是干货,贡献给各位网友! 话不多说,直接上效果图&#xf…

一文了解类别型特征的编码方法

来源:Unsplash,作者:an Rizzari2019 年第 78 篇文章,总第 102 篇文章目录:问题描述数据准备标签编码自定义二分类one-hot 编码总结问题描述一般特征可以分为两类特征,连续型和离散型特征,而离散…

UNIX网络编程--读书笔记

会集中这段时间写UNIX网络编程这本书的读书笔记,准备读三本,这一系类的文章会不断更新,一直会持续一个月多,每篇的前半部分是书中讲述的内容,每篇文章的后半部分是自己的心得体会,文章中的红色内容是很重要…

react学习(6)----react样式多用内联

<div style{{ textAlign: center }}><Button type"primary" style{{ marginRight: 10px }}>保存</Button><Button>取消</Button><Button type"primary" style{{ marginLeft: 10px }}>发布</Button></div>…

如何用栈实现浏览器的前进和后退?

2019 年第 79 篇文章&#xff0c;总第 103 篇文章数据结构与算法系列的第四篇文章&#xff0c;前三篇文章&#xff1a;前言浏览器的前进和后退功能怎么用栈来实现呢&#xff1f;这里先介绍一下栈的定义和实现&#xff0c;并介绍它的一些常用的应用&#xff0c;最后再简单实现一…

iOS开发Objective-C基础之──多态

Objective-C语言是面向对象的高级编程语言&#xff0c;因此&#xff0c;它具有面向对象编程所具有的一些特性&#xff0c;即&#xff1a;封装性、继承性和多态性。 今天介绍一下Objective-C中的多态性。 一、什么是多态 多态&#xff1a;不同对象以自己的方式响应相同的消息的能…

react学习(7)----react转换值同render

{title: 状态,dataIndex: status,render: (text, row) > {let arr [, 未开始, 进行中, 已结束, 已作废];return <span>{arr[text]}</span>;},},

数据科学家令人惊叹的排序技巧

2019 年第 80 篇文章&#xff0c;总第 104 篇文章本文大约 7800 字&#xff0c;阅读大约需要20分钟原题 | Surprising Sorting Tips for Data Scientists作者 | Jeff Hale原文 | https://towardsdatascience.com/surprising-sorting-tips-for-data-scientists-9c360776d7e译者 …

删除Autorun.inf的方法

你的电脑的每个分区根目录都有一个autorun.inf的文件夹&#xff0c;查看属性是只读隐藏&#xff0c;且无法删除、无法取得权限!点进去&#xff0c;却显示的是控制面板的内容? 其实这个不是病毒&#xff0c;而是用来防病毒&#xff0c;一些系统封装工具本身就自带。下面教你删…

react学习(8)----数组方法fliter简介

filter() 方法创建一个新的数组&#xff0c;新数组中的元素是通过检查指定数组中符合条件的所有元素。 注意&#xff1a; filter() 不会对空数组进行检测。 注意&#xff1a; filter() 不会改变原始数组。

几个有趣的python技巧

2019 年第 82 篇文章&#xff0c;总第 106 篇文章标题 | python-is-cool作者 | chiphuyen原文 | https://github.com/chiphuyen/python-is-cool译者 | kbsc13("算法猿的成长"公众号作者)声明 | 翻译是出于交流学习的目的&#xff0c;欢迎转载&#xff0c;但请保留本文…

react学习(9)----react生命周期

react生命周期1.1.constructor() constructor()中完成了React数据的初始化&#xff0c;它接受两个参数 &#xff1a;props和context&#xff0c;当想在函数内部使用这两个参数时 &#xff0c;需使用super()传入这两个参数。 注意&#xff1a;只要使用了constructor()就必须写su…

TOP 命令

转自&#xff1a;top命令.http://www.cnblogs.com/wangkangluo1/archive/2012/04/18/2454993.html#stat.2013-05-25 top命令是Linux下常用的性能分析工具&#xff0c;能够实时显示系统中各个进程的资源占用状况&#xff0c;类似于Windows的任务管理器。下面详细介绍它的使用方法…

20191215周学习总结

最近会打算每周总结一下学习的内容&#xff0c;主要内容可能是看过的书的一些学习笔记、论文阅读、学习的知识点以及推荐一些文章。这周的学习包括&#xff1a;推荐系统的知识点整理机器学习的技巧学习linux下两台机器的ssh免密登陆方式书籍阅读效率方法推荐系统因为工作方向的…

玩转12306之系统登录

【申明&#xff1a;本文所涉及的技术和分析的目的都是为了学习和交流&#xff0c;任何人使用文中所提的技术或成果做出的违法事情与我无关&#xff0c;大家购买火车票还是去12306官网上去购买。】 从今天起&#xff0c;我开始分析12306网站的Http请求&#xff0c;以及编写一个客…

react学习(10)----react数组定义 从0开始 直接加个0下标空

{title: 状态,dataIndex: status,render: (text, row) > {let arr [, 未开始, 进行中, 已结束, 已作废];return <span>{arr[text]}</span>;},},