TensorFlow 2.0中文开源书项目:日赞700,登上GitHub热榜

作者: 一鸣 2019-11-18 09:44:51

TensorFlow2.0 正式版已发布一段时间,但目前系统性的相关教程还不够多。这个登上 GitHub 趋势榜的项目今日已获得 700 多赞,内容简单易懂,适合初学者和迁移到 tf2.0 的开发者使用。

深度学习中绕不开的便是对算法框架的实际使用了。如果没有娴熟的工程实践能力,很多优秀的算法设计就无法真正使用。TensorFlow2.0 正式版已发布了一段时间,然而过去使用 TensorFlow1.x 版本的开发者担心两个版本之间的差距过大以至于无法迁移已有的经验,刚入门深度学习的人则因为 TensorFlow 那不友好的 API 和设计逻辑而望而却步。

近日,GitHub 日趋势榜上出现了这样一个中文开源项目。它基于 TensorFlow2.0 框架,有配套学习的书、代码和视频课程,非常适合希望了解 tf2.0 的开发者学习参考。

目前该项目已获得了 1000 多的点赞量,登上了 GitHub 热榜,仅在今天项目就获得 700 多赞。

TensorFlow 2.0中文开源书项目:日赞700,登上GitHub热榜

项目地址:https://github.com/dragen1860/Deep-Learning-with-TensorFlow-book

该项目作者为 Jackie Loong(龙良曲),曾为新加坡国立大学助理研究员,有 8 年的人工智能算法经验,在 AAAI 会议上发表过多篇论文。从他的 GitHub 主页上来看,这位开发者参与了很多深度学习相关的教程项目的工作。

TensorFlow 2.0中文开源书项目:日赞700,登上GitHub热榜

本项目提供了电子版的《TensorFlow 2.0 深度学习开源书》,同时按照章节在每个文件夹中提供了源代码。你只需要下载书籍,并根据内容和源代码进行学习即可。

从章节划分上来看,本书一共分为 15 个章节。首先本书会介绍人工智能的发展历史,然后从第二章开始介绍回归,随后还有分类、TensorFlow 基础和进阶操作、神经网络等知识。在第 10 章以后,书还会介绍包括 CNN、RNN/LSTM、自编码器、GAN 及其变体等多个架构,内容很丰富。

以下为章节目录:

TensorFlow 2.0中文开源书项目:日赞700,登上GitHub热榜

TensorFlow 2.0中文开源书项目:日赞700,登上GitHub热榜

TensorFlow 2.0中文开源书项目:日赞700,登上GitHub热榜

代码部分,目前作者已整理出了除第 4 章以外的大部分代码,目前整理工作还在进行中。

以自编码器的代码为例,作者在 py 文件中详细写出了网络的架构:

  1. class AE(keras.Model):  
  2.   
  3.     def __init__(self):  
  4.         super(AE, self).__init__()  
  5.   
  6.         # Encoders  
  7.         self.encoder = Sequential([  
  8.             layers.Dense(256, activation=tf.nn.relu),  
  9.             layers.Dense(128, activation=tf.nn.relu),  
  10.             layers.Dense(h_dim)  
  11.         ])  
  12.   
  13.         # Decoders  
  14.         self.decoder = Sequential([  
  15.             layers.Dense(128, activation=tf.nn.relu),  
  16.             layers.Dense(256, activation=tf.nn.relu),  
  17.             layers.Dense(784)  
  18.         ])  
  19.   
  20.   
  21.     def call(self, inputs, training=None):  
  22.         # [b, 784] => [b, 10]  
  23.         h = self.encoder(inputs)  
  24.         # [b, 10] => [b, 784]  
  25.         x_hat = self.decoder(h)  
  26.   
  27.         return x_hat  

同时,每个 py 文件不仅仅只有示例代码。从代码来看,这些 py 文件实际上都是可以直接运行的,以下便是自编码器文件中执行模型训练的代码:

  1. model = AE() 
  2. model.build(input_shape=(None, 784)) 
  3. model.summary() 
  4.  
  5. optimizer = tf.optimizers.Adam(lr=lr) 
  6.  
  7. for epoch in range(100): 
  8.  
  9.     for step, x in enumerate(train_db): 
  10.  
  11.         #[b, 2828] => [b, 784
  12.         x = tf.reshape(x, [-1784]) 
  13.  
  14.         with tf.GradientTape() as tape: 
  15.             x_rec_logits = model(x) 
  16.  
  17.             rec_loss = tf.losses.binary_crossentropy(x, x_rec_logits, from_logits=True) 
  18.             rec_loss = tf.reduce_mean(rec_loss) 
  19.  
  20.         grads = tape.gradient(rec_loss, model.trainable_variables) 
  21.         optimizer.apply_gradients(zip(grads, model.trainable_variables)) 
  22.  
  23.  
  24.         if step % 100 ==0
  25.             print(epoch, step, float(rec_loss)) 

这样一来,即使没有编程经验的初学者也可以先跑通代码,理解原理后再尝试自行编程。

除了这些资源外,作者还贴出了一个 tf2.0 实战案例的项目库,开发者可配合使用。

项目地址:https://github.com/dragen1860/TensorFlow-2.x-Tutorials

GitHub 代码 开发者
上一篇:这个中国科学家的救命AI,登上了国外热门榜 下一篇:图像转换3D模型只需5行代码,英伟达推出3D深度学习工具Kaolin
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

全球首个 3D 版 AI 合成主播亮相,还将参与两会报道,网友:主持人要失业了

AI 合成主播已不稀奇,但能走动、做手势、换装的 3D 版 AI 主播,「新小微」是全球第一个。

肖漫 ·  2020-05-22 09:05:32
5行代码,快速实现图像分割,代码逐行详解,手把手教你处理图像

图像分割,作为计算机视觉的基础,是图像理解的重要组成部分,也是图像处理的难点之一。

金磊 ·  2020-05-21 14:50:48
GitHub近10万星:印度小哥用Python和Java实现所有AI算法

今天两个算法实现的项目又登上了GitHub热榜,每逢招聘季必上榜?此前,这两个项目曾多次登顶,分别用Python和Java实现了面试中常考的算法,AI行业就业形势日趋严峻,而算法岗更是竞争激烈,是时候复习一下基本功了!

佚名 ·  2020-05-19 14:27:10
一口气发布1008种机器翻译模型,GitHub最火NLP项目大更新:涵盖140种语言组合

现在,你可以用 GitHub 上最火的 NLP 项目做机器翻译了。没错,就是 Hugging Face (抱抱脸)标星 26.9k 的 Transformer 项目。

鱼羊 ·  2020-05-19 10:33:31
再也不怕别人动电脑了!用Python实时监控

最近突然有个奇妙的想法,就是当我对着电脑屏幕的时候,电脑会先识别屏幕上的人脸是否是本人,如果识别是本人的话需要回答电脑说的暗语,答对了才会解锁并且有三次机会。

佚名 ·  2020-05-07 09:05:22
一部手机,万物皆可复制粘贴,这位兼职写代码的设计师将AR玩出了新高度

看到什么就复制什么,这是魔法还是孙悟空的神通?都不是。这是 AR 的魔力。

Synced ·  2020-05-04 11:40:03
有没有什么高效「炼丹」神器可以推荐?复旦fastNLP团队祭出内部调参利器fitlog

集 Tabular 显示实验结果、自定义备忘、前端操作删除/隐藏记录、自动 git commit 等诸多功能于一体,这个调参神器助你高效「炼出金丹」。

Racoon X、张倩 ·  2020-04-28 15:25:39
神经正切,5行代码打造无限宽的神经网络模型

本文是对 ICLR 2020 论文《NEURAL TANGENTS: FAST AND EASY INFINITE NEURAL NETWORKS IN PYTHON》的解读,作者来自谷歌。

张大倩 ·  2020-04-20 13:45:32
Copyright©2005-2020 51CTO.COM 版权所有 未经许可 请勿转载