TensorFlow实战
  • 推荐6
  • 收藏15
  • 浏览13.6K

TensorFlow实战

黄文坚 (作者) 

  • 书  号:978-7-121-30912-0
  • 出版日期:2017-02-17
  • 页  数:316
  • 开  本:16(170*240)
  • 出版状态:上市销售
  • 维护人:郑柳洁

相关图书

自然语言处理理论与实战

白宁超 (作者)

自然语言处理是什么?谁需要学习自然语言处理?自然语言处理在哪些地方应用?相关问题一直困扰<br>着不少初学者。针对这一情况,作者结合教学经验和工程应用编写此书。...

¥79.00

深度学习之PyTorch实战计算机视觉

唐进民 (作者)

计算机视觉、自然语言处理和语音识别是目前深度学习领域很热门的三大应用方向,本书旨在帮助零基础或基础较为薄弱的读者入门深度学习,达到能够独立使用深度学习知识处理计...

¥79.00

21个项目玩转深度学习——基于TensorFlow的实践详解

何之源 (作者)

《21个项目玩转深度学习——基于TensorFlow的实践详解》以实践为导向,深入介绍了深度学习技术和TensorFlow框架编程内容。 通过本书,读者可以训...

¥79.00

TensorFlow:实战Google深度学习框架(第2版)

郑泽宇 (作者)

TensorFlow是谷歌2015年开源的主流深度学习框架,目前已得到广泛应用。本书为TensorFlow入门参考书,旨在帮助读者以快速、有效的方式上手Tens...

¥89.00

深度学习:一起玩转TensorLayer

董豪 郭毅可 杨光 (作者)

本书由TensorLayer创始人领衔,TensorLayer主要开发团队倾力打造而成。内容不仅覆盖了人工神经网络的基本知识,如多层感知器、卷积网络、递归网络及...

¥99.00

深度学习轻松学:核心算法与视觉实践

冯超 (作者)

《深度学习轻松学:核心算法与视觉实践》介绍了深度学习基本算法和视觉领域的应用实例。书中以轻松直白的语言,生动详细地介绍了深层模型相关的基础知识,并深入剖析了算法...

¥79.00
Google近日发布了TensorFlow 1.0候选版,这个稳定版将是深度学习框架发展中的里程碑的一步。自TensorFlow于2015年底正式开源,距今已有一年多,这期间TensorFlow不断给人以惊喜,推出了分布式版本,服务框架TensorFlow Serving,可视化工具TensorFlow,上层封装TF.Learn,其他语言(Go、Java、Rust、Haskell)的绑定、Windows的支持、JIT编译器XLA、动态计算图框架Fold,以及数不胜数的经典模型在TensorFlow上的实现(Inception Net、SyntaxNet等)。在这一年多时间,TensorFlow已从初入深度学习框架大战的新星,成为了几近垄断的行业事实标准。
《TensorFlow实战》希望用最简单易懂的语言带领大家探索TensorFlow(基于1.0版本API)。在《TensorFlow实战》中我们讲述了TensorFlow的基础原理,TF和其他框架的异同。并用具体的代码完整地实现了各种类型的深度神经网络:AutoEncoder、MLP、CNN(AlexNet,VGGNet,Inception Net,ResNet)、Word2Vec、RNN(LSTM,Bi-RNN)、Deep Reinforcement Learning(Policy Network、Value Network)。此外,《TensorFlow实战》还讲解了TensorBoard、多GPU并行、分布式并行、TF.Learn和其他TF.Contrib组件。《TensorFlow实战》希望能帮读者快速入门TensorFlow和深度学习,在工业界或者研究中快速地将想法落地为可实践的模型。
首著问世,Google TensorFlow研发团队、TensorFlow工程研发总监Rajat Monga力荐!代码基于TensorFlow 1.0版API!TF Contributor、Committer原创,深度学习领域泰斗颜水成等好评。
前言
AlphaGo在2017年年初化身Master,在弈城和野狐等平台上连胜中日韩围棋高手,其中包括围棋世界冠军井山裕太、朴廷桓、柯洁等,还有棋圣聂卫平,总计取得60连胜,未尝败绩。遥想2016年3月,当时AlphaGo挑战李世石还一度不被看好,到今日已经可以完胜各位高手。AlphaGo背后神秘的推动力就是TensorFlow——Google于2015年11月开源的机器学习及深度学习框架。DeepMind宣布全面迁移到TensorFlow后,AlphaGo的算法训练任务就全部放在了TensorFlow这套分布式框架上。
TensorFlow在2015年年底一出现就受到了极大的关注,在一个月内获得了GitHub上超过一万颗星的关注,目前在所有的机器学习、深度学习项目中排名第一,甚至在所有的Python项目中也排名第一。本书将重点从实用的层面,为读者讲解如何使用TensorFlow实现全连接神经网络、卷积神经网络、循环神经网络,乃至Deep Q-Network。同时结合TensorFlow原理,以及深度学习的部分知识,尽可能让读者通过学习本书做出实际项目和成果。
本书各章节间没有太强的依赖关系,如果读者对某一章感兴趣,可以直接阅读。本书使用TensorFlow 1.0.0-rc0作为示例讲解,应该与最新版的TensorFlow兼容绝大部分代码,可能存在少数接口的更新,读者可参阅提示信息。书中大部分代码是Python代码,这也是TensorFlow支持的最全、最完整的接口语言。
本书的前两章介绍了TensorFlow的基础知识和概念。第3章和第4章介绍了简单的示例及全连接神经网络。第5章和第6章介绍了基础的卷积神经网络,以及目前比较经典的AlexNet、VGGNet、Inception Net和ResNet。第7章介绍了Word2Vec、RNN和LSTM。第8章介绍了强化学习,以及基于深度学习的策略网络和估值网络。第9章介绍了TensorBoard、单机多GPU并行,以及分布式并行。
第10章介绍了TensorFlow里面的contrib.learn模块,包含许多类型的深度学习及流行的机器学习算法的使用方法,也解析了这个模块的分布式Estimator的基本架构,以及如何使用Estimator快速搭建自己的分布式机器学习模型架构,进行模型的训练和评估,也介绍了如何使用监督器更好地监测和跟踪模型的训练及使用DataFrame读取不同的数据格式。第11章介绍了Contrib模块,这个模块里提供了许多机器学习需要的功能,包括统计分布、机器学习层、优化函数、指标,等等。本章将简单介绍其中的一些功能让大家了解TensorFlow的涵盖范围,并感受到社区的积极参与和贡献度。第10章和第11章使用了TensorFlow 0.11.0-rc0版本作为示例讲解。
作者在写作本书时,获得了亲人、同事、好友的帮助,在此非常感谢你们的支持。
作 者

目录

目录
1 TensorFlow基础 1
1.1 TensorFlow概要 1
1.2 TensorFlow编程模型简介 4
2 TensorFlow和其他深度学习框架的对比 18
2.1 主流深度学习框架对比 18
2.2 各深度学习框架简介 20
3 TensorFlow第一步 39
3.1 TensorFlow的编译及安装 39
3.2 TensorFlow实现SoftmaxRegression识别手写数字 46
4 TensorFlow实现自编码器及多层感知机 55
4.1 自编码器简介 55
4.2 TensorFlow实现自编码器 59
4.3 多层感知机简介 66
4.4 TensorFlow实现多层感知机 70
5 TensorFlow实现卷积神经网络 74
5.1 卷积神经网络简介 74
5.2 TensorFlow实现简单的卷积网络 80
5.3 TensorFlow实现进阶的卷积网络 83
6 TensorFlow实现经典卷积神经网络 95
6.1 TensorFlow实现AlexNet 97
6.2 TensorFlow实现VGGNet 108
6.3 TensorFlow实现GoogleInceptionNet 119
6.4 TensorFlow实现ResNet 143
6.5 卷积神经网络发展趋势 156
7 TensorFlow实现循环神经网络及Word2Vec 159
7.1 TensorFlow实现Word2Vec 159
7.2 TensorFlow实现基于LSTM的语言模型 173
7.3 TensorFlow实现BidirectionalLSTMClassifier 188
8 TensorFlow实现深度强化学习 195
8.1 深度强化学习简介 195
8.2 TensorFlow实现策略网络 201
8.3 TensorFlow实现估值网络 213
9 TensorBoard、多GPU并行及分布式并行 233
9.1 TensorBoard 233
9.2 多GPU并行 243
9.3 分布式并行 249
10 TF.Learn从入门到精通 259
10.1 分布式Estimator 259
10.2 深度学习Estimator 267
10.3 机器学习Estimator 272
10.4 DataFrame 278
10.5 监督器Monitors 279
11 TF.Contrib的其他组件 283
11.1 统计分布 283
11.2 Layer模块 285
11.3 性能分析器tfprof 293
参考文献 297

读者评论

  • 您好,请问书上4.2节计算一个batch的平均损失时用到了:**g_cost += cost / n_samples * batch_size
    cost已经是从对应的那个batch中计算出来的了,为什么还要乘以batch_size,或者说这里的平均损失**g_cost指的是平均到一个样本上的损失还是别的意义的平均损失呢

    jiaozi发表于 2018/7/23 23:22:26
  • 第八章策略网络207页,tvars没有定义??/

    wangxiaoke发表于 2018/7/3 11:12:50
  • 买了书,下载代码看看

    bean435发表于 2018/6/12 17:06:46
  • 你好,采用<Tensorflow实战>4.4节tensorflow实现MLP时,隐含层增加到3及以上时,准确率突降到0.098,想问下这是怎么回事,w,b需要怎样初始化,另外隐含层数有没有**?
    in_units = 784
    h1_units = 256
    h2_units = 256
    h3_units = 256
    out_units = 10

    W1 = tf.Variable(tf.truncated_normal([in_units, h1_units], stddev=0.1))
    b1 = tf.Variable(tf.zeros([h1_units]))

    W2 = tf.Variable(tf.truncated_normal([h1_units, h2_units], stddev=0.1))
    b2 = tf.Variable(tf.zeros([h2_units]))

    W3 = tf.Variable(tf.truncated_normal([h2_units, h3_units], stddev=0.1))
    b3 = tf.Variable(tf.zeros([h3_units]))

    W4 = tf.Variable(tf.zeros([h3_units, out_units]))
    b4 = tf.Variable(tf.zeros([out_units]))

    x = tf.placeholder(tf.float32, [None, in_units])
    keep_prob = tf.placeholder(tf.float32)

    hidden1 = tf.nn.relu(tf.matmul(x, W1) + b1)
    hidden1_drop = tf.nn.dropout(hidden1, keep_prob)

    hidden2 = tf.nn.relu(tf.matmul(hidden1_drop, W2) + b2)
    hidden2_drop = tf.nn.dropout(hidden2, keep_prob)

    hidden3 = tf.nn.relu(tf.matmul(hidden2_drop, W3) + b3)
    hidden3_drop = tf.nn.dropout(hidden3, keep_prob)

    y = tf.nn.softmax(tf.matmul(hidden3_drop, W4) + b4)

    输出:
    In [12]: %run ./mnist3.py
    step 100, training accuracy 0.8846
    step 1000, training accuracy 0.9587
    step 2000, training accuracy 0.968
    step 2300, training accuracy 0.9671
    step 2400, training accuracy 0.098
    step 2900, training accuracy 0.098
    0.098

    sonabiao发表于 2018/6/4 20:20:06
    • 详细代码如下:

      from tensorflow.examples.tutorials.mnist import input_data
      import tensorflow as tf
      mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
      sess = tf.InteractiveSession()

      in_units = 784
      h1_units = 256
      h2_units = 256
      h3_units = 256
      out_units = 10

      W1 = tf.Variable(tf.truncated_normal([in_units, h1_units], stddev=0.1))
      b1 = tf.Variable(tf.zeros([h1_units]))

      W2 = tf.Variable(tf.truncated_normal([h1_units, h2_units], stddev=0.1))
      b2 = tf.Variable(tf.zeros([h2_units]))

      W3 = tf.Variable(tf.truncated_normal([h2_units, h3_units], stddev=0.1))
      b3 = tf.Variable(tf.zeros([h3_units]))

      W4 = tf.Variable(tf.zeros([h3_units, out_units]))
      b4 = tf.Variable(tf.zeros([out_units]))

      x = tf.placeholder(tf.float32, [None, in_units])
      keep_prob = tf.placeholder(tf.float32)

      hidden1 = tf.nn.relu(tf.matmul(x, W1) + b1)
      hidden1_drop = tf.nn.dropout(hidden1, keep_prob)

      hidden2 = tf.nn.relu(tf.matmul(hidden1_drop, W2) + b2)
      hidden2_drop = tf.nn.dropout(hidden2, keep_prob)

      hidden3 = tf.nn.relu(tf.matmul(hidden2_drop, W3) + b3)
      hidden3_drop = tf.nn.dropout(hidden3, keep_prob)

      y = tf.nn.softmax(tf.matmul(hidden3_drop, W4) + b4)

      y_ = tf.placeholder(tf.float32, [None, out_units])
      cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))
      train_step = tf.train.AdagradOptimizer(0.1).minimize(cross_entropy)

      tf.global_variables_initializer().run()
      correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1))
      accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))

      for i in range(3000):
      batch_xs, batch_ys = mnist.train.next_batch(100)
      train_step.run({x: batch_xs, y_: batch_ys, keep_prob: 0.6})
      if i % 100 == 0:
      accuracy_train = accuracy.eval({x: mnist.test.images, y_: mnist.test.labels, keep_prob: 1.0})
      print("step %d, training accuracy %g"%(i, accuracy_train))

      print(accuracy.eval({x: mnist.test.images, y_: mnist.test.labels, keep_prob: 1.0}))

      sonabiao发表于 2018/6/4 20:24:43
  • 你好,第八章策略梯度法,总是陷入局部最优是什么原因,值达到200就不增加了

    12321发表于 2018/5/22 0:17:30
    • 哦我找到原因了, 调用环境时得加一个env=env.unwrapped语句,不然好像游戏到达一定分数就结束了

      12321发表于 2018/5/24 14:43:09

相关博文

  • #重磅新书预告#一本书掌握谷歌深度学习框架

    管理员账号 2017-02-23

    今天小编为大家介绍一本《TensorFlow实战》,它将带你了解并掌握谷歌深度学习框架。 《TensorFlow实战》希望用简单易懂的语言带领大家探索TensorFlow(基于1.0版本API)。书中讲述了TensorFlow的基础...

    管理员账号 2017-02-23
    265 0 0 0
  • TensorFlow与主流深度学习框架对比

    TensorFlow与主流深度学习框架对比

    管理员账号 2017-02-24

    小编说:AlphaGo在2017年年初化身Master,在弈城和野狐等平台上横扫中日韩围棋高手,取得60连胜,未尝败绩。AlphaGo背后神秘的推动力就是TensorFlow——Google于2015年11月开源的机器学习及深度学习框架...

    管理员账号 2017-02-24
    2002 0 0 0
  • 人工智能:TensorFlow 带你进入深度学习的世界

    人工智能:TensorFlow 带你进入深度学习的世界

    管理员账号 2017-03-15

    摘要: 目前看来,对于人工智能这个领域依然有不少怀疑的声音,但不可否认的是,人工智能仍然是未来的发展趋势。而 TensorFlow 作为深度学习框架的领头者,值得大家去了解学习。 自 TensorFlow 于 2015 年底正式开源,...

    管理员账号 2017-03-15
    522 0 0 0
  •  TensorFlow文本摘要生成 - 基于注意力的序列到序列模型

    TensorFlow文本摘要生成 - 基于注意力的序列到序列模型

    黄文坚 2017-04-21

    1 相关背景 维基百科对自动摘要生成的定义是, “使用计算机程序对一段文本进行处理, 生成一段长度被压缩的摘要, 并且这个摘要能保留原始文本的大部分重要信息”. 摘要生成算法主要分为抽取型(Extraction-based)和概括型...

    黄文坚 2017-04-21
    1823 0 0 0