Code Monkey home page Code Monkey logo

deep-learning-with-tensorflow-book's Introduction

TensorFlow 2深度学习开源书(龙书)

基于TensorFlow 2正式版!!! 理论与实战结合,非常适合入门学习!!!

本仓库包含pdf电子书、配套源代码、配套课件等。部分代码已替换为Ipython Notebook形式,感谢这位童鞋的整理。

开源电子版pdf还可以从百度网盘下载 提取码:juqs 感谢云城不及粒火童鞋提供的书签版pdf。

  • 本书的繁体版已经出版,已授权在****地区上市发行

  • 本书被“机器之心”,“量子位”等权威媒体报道!

  • 本库在Github趋势日榜单连续多天全球排名第一!

  • 提交错误或者修改等反馈意见,请在Github Issues页面提交

  • 联系邮箱(一般问题建议Github issues交流):liangqu.long AT gmail.com

  • 高校老师索取PPT原素材等教案,请邮箱联系,并详注院校课程等信息,一般3天内发送邮件回复

  • 使用本书本的任何内容时(仅限非商业用途),请注明作者和Github链接

合作院校

以下高校已采用本书作为专业教材或参考资料(排名不分先后),欢迎更多高校加入!发送邮件即可索取PPT原始教案。

电子科技大学 西北工业大学 北京交通大学 厦门大学 重庆邮电大学
东南大学 ** ** ** ** ** **
湖南信息学院 中山大学新华学院 东莞理工大学 北京科技职业学院
郑州轻工业大学 金华职业技术学院 高雄市立新莊高級中學 安徽财经大学
长沙民政职业技术学院 兰州交通大学 ** ** ** **

“龙书”生态系统

简要目录

配套视频课程

适合零基础、希望快速入门AI的朋友,提供答疑、指导等全方位服务。

deep-learning-with-tensorflow-book's People

Contributors

cclauss avatar dragen1860 avatar haorenhao avatar justidle2012 avatar user670 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

deep-learning-with-tensorflow-book's Issues

第3章是否需要加上使用NumPy读取MNIST的image和label的样例

本人属于零基础学习深度学习,所以对MNIST等都没有认识。通过互联网搜索了写MNIST的基础知识,也尝试了利用NumPy读取MNIST集合中的图片等。
建议增加例程,通过NumPy来读取image和label并保存到指定路径。
如果可以的话,我可以将自己写的例子同步到您的代码中。
谢谢。

4.1.3布尔类型那里,有错误

老师您好,我用的是tf2.0正式版,在运行4.1.3布尔类型这里面。
a = tf.constant(True)
a == True
这里,我的结果是可以通用的。下面是我的截图。
2019-11-18 21-21-46屏幕截图

关于自定义数据集的问题

TypeError: Input 'filename' of 'ReadFile' Op has type float32 that does not match expected type of string.

使用了自定义数据集pokemon的代码,不知道为什么出了这个问题
HC R)M0 RMTO14`ZCS{PET

a picture error

p79 out[74]
there is a small mistake of this picture its dims should be [1,28,28,1], but there is a [28,28,1]

第37页 笔误

第37页,2.2节中,"考虑3维函数𝑧 = 𝑓(𝑥, 𝑦),函数对自变量𝑥的偏导数记为𝜕𝑧/𝜕𝑥,函数对自变量𝑥的偏导数记为𝜕𝑧/𝜕𝑦",其中第二个x应为y。

P25,tf.Tensor(10.0, shape=(), dtype=float32)这看起来像一行代码

import tensorflow as tf

创建 4 个张量

a = tf.constant(1.)
b = tf.constant(2.)
c = tf.constant(3.)
w = tf.constant(4.)
with tf.GradientTape() as tape:# 构建梯度环境
tape.watch([w]) # 将 w 加入梯度跟踪列表

构建计算过程

y = a * w**2 + b * w + c

求导

[dy_dw] = tape.gradient(y, [w])
print(dy_dw) # 打印出导数
tf.Tensor(10.0, shape=(), dtype=float32)

最后一行
tf.Tensor(10.0, shape=(), dtype=float32)
中,这本应是一个输出,但是没有特殊标明,也没有和前面的代码之间空一行,希望可以标明一下。

ch15自定义数据集

老师您好,关于ch15自定义数据集,我采用了您的代码和数据集,发现出现了如下错误:
TypeError: Input 'filename' of 'ReadFile' Op has type float32 that does not match expected type of string.
想请问下您,是我环境配置出现了差错吗?

QQ图片20191116213730

VAE代码和书上的有一点点不一样

书12.5VAE实战中

本节我们基于 VAE 模型实战 Fashion MNIST 图片的重建与生成。如图 12.12 所示,输
入为 Fashion MNIST 图片向量,经过 3 个全连接层后得到隐向量𝐳的均值与方差,分别用 2
个输出节点数为 20 的全连接层表示,FC2 的 20 个输出节点表示 20 个特征分布的均值向量μ
,FC3 的 20 个输出节点表示 20 个特征分布的方差向量的𝑙𝑜𝑔值。通过 Reparameterization
trick 采样获得长度为 20 的隐向量𝐳,并通过 FC4/FC5 重建出样本图片。

但是代码里的是
`z_dim = 10

class VAE(keras.Model):

def __init__(self):
    super(VAE, self).__init__()

    # Encoder
    self.fc1 = layers.Dense(128)
    self.fc2 = layers.Dense(z_dim)  # 均值输出
    self.fc3 = layers.Dense(z_dim)  # 方差输出

    # Decoder
    self.fc4 = layers.Dense(128)
    self.fc5 = layers.Dense(784)`

另外一处在重建图片那里
`

重建图片,从测试集采样图片

x = next(iter(test_db))
x = tf.reshape(x, [-1, 784])
x_hat_logits, _, _ = model(x)
x_hat = tf.sigmoid(x_hat_logits)
x_hat = tf.reshape(x_hat, [-1, 28, 28]).numpy() * 255.
x_hat = x_hat.astype(np.uint8)
save_images(x_hat, 'vae_images/rec_epoch%d.png' % epoch)`

关于tensorflow python3.7.3中joblob库的问题

你好,我在使用K临近算法来实现酒的分类 ,但时遇到了一个配置问题,非常感谢您能帮我解答
ModuleNotFoundError: No module named 'joblib'
以下时我的代码


ModuleNotFoundError Traceback (most recent call last)
in
----> 1 from sklearn.datasets import load_wine
2 win_dataset=load_wine()
3 print('\n\n\n')
4 print("the result is")
5 print("红酒中的数据:\n{}".format(wine_dataset.keys()))

~\AppData\Roaming\Python\Python37\site-packages\sklearn_init_.py in
74 else:
75 from . import __check_build
---> 76 from .base import clone
77 from .utils._show_versions import show_versions
78

~\AppData\Roaming\Python\Python37\site-packages\sklearn\base.py in
14
15 from . import version
---> 16 from .utils import _IS_32BIT
17
18 _DEFAULT_TAGS = {

~\AppData\Roaming\Python\Python37\site-packages\sklearn\utils_init_.py in
15 from .murmurhash import murmurhash3_32
16 from .class_weight import compute_class_weight, compute_sample_weight
---> 17 from . import _joblib
18 from ..exceptions import DataConversionWarning
19 from .deprecation import deprecated

~\AppData\Roaming\Python\Python37\site-packages\sklearn\utils_joblib.py in
6 # joblib imports may raise DeprecationWarning on certain Python
7 # versions
----> 8 import joblib
9 from joblib import logger
10 from joblib import dump, load

ModuleNotFoundError: No module named 'joblib'

关于屏蔽tensorflow 2.0 warning的问题

老师您好,刚刚听完您的视频教程,是我感觉讲的最好的一位,非常感谢。
由于现在tf2.0正式版已经发布,我安装的是正式版,按照您给出的代码(如下)中的方式屏蔽warning,似乎还会有一部分warning出现(如图)。

import  os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

image
我查阅了一些网站,发现在正式版tf2.0中,应该将屏蔽代码调整至tf的上方,warning就彻底没有了,不过对于代码运行无关紧要,算是个小疑问吧,再次感谢。
最终顺序:

import  os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
import  tensorflow as tf
from    tensorflow import keras
from    tensorflow.keras import datasets

a small error

p88
In[100]:
Tensor a should be with shape([4,3,28,32])

书1.5.3节b)部分代码最后一行之前应加入“程序输出”的说明

书中原文:

通过 TensorFlow 实现如下
import tensorflow as tf

创建4 个张量

a = tf.constant(1.)
b = tf.constant(2.)
c = tf.constant(3.)
w = tf.constant(4.)
with tf.GradientTape() as tape:# 构建梯度环境
tape.watch([w]) # 将w 加入梯度跟踪列表

构建计算过程

y = a * w**2 + b * w + c

求导

[dy_dw] = tape.gradient(y, [w])
print(dy_dw) # 打印出导数
tf.Tensor(10.0, shape=(), dtype=float32)

最后一行易令人误为程序内容。此行前应加入输出说明

P6 Line5 Goolenet->GoogleNet

P15 Line5 GooleNet->GoogleNet
P35 倒数第4行 现象神经元->线性神经元
P37 倒数第5行 函数对自变量x的偏导数->函数对自变量y的偏导数
P38 倒数第7行 应用速学->应用数学
P49 Line1 便签->标签
P59 倒数11行 如果采用tf.float32 精度保存𝜋->如果采用tf.float64 精度保存𝜋
P64 Line18 正太分布->正态分布
P64 Line9 制定->指定
P71 Line4 随即分布->随机分布

234页少一行代码

少了optimizer = optimizers.Adam(lr=0.01)

导致:

自动更新参数

optimizer.apply_gradients(zip(grads, network.trainable_variables))
出错,没有定义optimizer

93页开头有错别字

“并用过 MNIST 数据集的测试实战加深读者对
TensorFlow 张量操作的立即”

第321页,错别字

书中第231页,13.1节,“……而鉴别器D 通过学习真钞和生成器G 长生的假钞来掌握钞票的鉴别方法。”“长生”应为“产生”。

8.3.3 SavedModel 方式

tf.keras.experimental.export_saved_model(network, path) 这种方式已经过时了,是否可以替换成 model.save(path) 或者tf.saved_model.save(model, paht)方式

发现一个小错误

2.2优化方法,第4页,图2.5下方,出现两次“函数对自变量x的偏导数”,第二次应该是“函数对自变量y的偏导数”吧?

ch01的tf1.py在TensorFlow2.0下运行assert错误问题

tf1.py的源码中使用了assert。
assert tf.version.startswith('1.')
而我安装的是tf2,pdf教程中也写的是使用tf2。所以导致这个assert错误。代码应该改为如下:
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

assert tf.version.startswith('2.')

一个小小的笔误吧

image

pdf第59页“如果采用tf.float32精度保存π,可获得更高的精度“ 应该是tf.float64,可能是笔误了,无伤大雅,希望以后的版本能够修改过来

关于P37的符号错误

在第37页的末尾段,第二行,第二句应该是函数对y的偏导数为(dz/dy),书中前后都是x。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.