专栏首页算法猿的成长带你少走弯路:强烈推荐的Keras快速入门资料和翻译(可下载)

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

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

备注:另外两个入门资料

TensorFlow的快速入门资料

PyTorch的快速入门资料

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

推荐资料

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

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

import keras -> from tensorflow import keras
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(生成式对抗网络简介)

中文注释与解释如图:

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

作者的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_predictions

model = 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基本入门了,接下来碰到问题能自己查资料解决了!

本文分享自微信公众号 - 算法猿的成长(AI_Developer)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 教 AI 打牌打游戏,不止是为了战胜人类

    场景描述:昨日,DeepMind 宣布其研发的 AI——AlphaStar 将会登录欧服,匿名在天梯上与人类玩家进行《星际争霸 2》比拼。今天,Facebook...

    材ccc
  • [Github 项目推荐] 一个更好阅读和查找论文的网站

    机器学习发展到现在,已经积累了非常多的文章,特别是深度学习火起来后,每年新增加的论文非常多,如果需要研究某个领域,不仅需要阅读这个领域经典的论文,也必须时刻关注...

    材ccc
  • 五天入门深度学习,这里有一份PyTorch实战课程

    想入门深度学习的小伙伴有福了!dataflowr 最近推出了一门五天初步掌握深度学习的实战教程(实战使用 PyTorch 框架),有知识点有实例有代码,值得一看...

    材ccc
  • 反转?MIT女博士遭质疑:代码贡献太少,黑洞照片功臣另有其人

    她为黑洞最终现出原形,开发了一种关键的算法。并因为这件事,成为闻名全球的风云人物。甚至她的形象,都被网友制作成如上的样子。

    量子位
  • Linux history命令

    二狗不要跑
  • Python入门之数据处理——12种有用的Pandas技巧

    大数据文摘
  • 【投稿专区】crc校验码的计算

    在Modbus或环保212协议中,数据的校检码(CRC-16)由两个字节16位构成。而一般电气、自动化仪表的crc16校验,多项式码选用16进制A001。 CR...

    李海彬
  • 企业Linux运维SHELL编写规范 原

    为了方便维护人员维护,需要规定两个正式脚本的发布路径和维护人员的测试路径,不要将脚本放到规定路径以外,例如:

    用户2836074
  • java中将一个文件夹下所有的文件压缩成一个文件

    試毅-思伟
  • 开源UI界面布局框架MyLayout1.9发布

    MyLayout是一套功能全面的iOS开源UI界面布局框架。它囊括了前端所有流行的界面布局技术和解决方案,同时具有如下七大特点:

    欧阳大哥2013

扫码关注云+社区

领取腾讯云代金券