Giter Club home page Giter Club logo

tensorflow-internals's Introduction

TensorFlow Internals.

It is open source ebook about TensorFlow kernel and implementation mechanism, including programming model, computation graph, distributed training for machine learning.

Downloads

You can obtain full latex source files of TensorFlow Internals from https://gitlab.com/horance/tensorflow-internals

Install TeX distribution

You should install full texlive packages.

  • Ubuntu
$ sudo apt-get install texlive-full
  • MacOS

Download MacTeX.pkg, and install it.

  • Windows

Download TeX Live, and install it (see insruction).

Install Missing Fonts

Then you should install some missing chinese fonts. Please download missing fonts from Gitlab.

$ git clone https://gitlab.com/horance/fonts.git

Then install all missing fonts.

  • Ubuntu
$ sudo cp fonts/* /usr/local/share/fonts
$ sudo fc-cache
  • MacOS

Import all missing fonts into fontbook, then cache all fonts.

$ sudo fc-cache
  • Windows

Copy the all missing fonts into C:/WINDOWS/Fonts, then cache all fonts.

$ fc-cache

Build

$ make

if you happen to Error begin with ?, then press R(not r) and Enter to continue.

Preview PDF

  • Mac OSX
$ open output/tensorflow-internals.pdf
  • Ubuntu
$ okular output/tensorflow-internals.pdf

if no okular installed, please install it.

$ sudo apt-get install okular
  • Windows

open the file from directory tensorflow-internals/output.

License

MIT License

tensorflow-internals's People

Contributors

0xflotus avatar egolearner avatar hkxiron avatar horance-liu avatar laochonlam avatar liam0205 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

tensorflow-internals's Issues

[feature request] 添加引用和文献参考

非常感谢分享经验和将这本书写出来。
为了让读者能够扩展阅读,建议添加一些相关的文献。
另外,如果能够给出相应的引用,可以更加符合学术规范

祝好

请问什么时候出再版?

tf 1.x版本看起来在1.13后会趋于稳定,社区的精力会转向2.x。
请问是否有计划写一个再版,基于1.13?

Coffee or beer

Can I buy you a cup of coffee, or a sixpack, really appreciated your work here.

12 本地执行 缺失内容?

12.5 执行 有如下段落:

至此,整个 DirectSession.Run 解读完毕。但是,Partition 中节点如何被调度执行的, Partition 之间的 Send/Recv 是如何工作的呢?
因此,在最后一公里,还要探究三件事情。

  1. SendOp 与 RecvOp 的工作原理
  2. IntraProcessRendezvous 的工作原理
  3. Executor 的调度算法

仅看到12.6有关于

1.SendOp 与 RecvOp 的工作原理

的讨论。

没有看到

  1. IntraProcessRendezvous 的工作原理
  2. Executor 的调度算法"

的相关内容。

这部分内容是缺失了吗?后续有计划补充吗?

纸质出版/赞赏二维码

非常感谢作者的专业讲解,这是目前我看到关于tf框架讲解最到位的一本书!请问刘光聪先生,纸质书什么时候出版?,这么好的书不出版可惜了。

如果没有出版打算,希望作者留下赞赏二维码,作者的付出值得得到回报。

Feedbacks

非常感谢您能分享自己的学习经验。在快速的翻过一遍之后有如下一些建议
一般性建议:

  1. 如果够构建一个中英文的对照表,会对大家阅读以及参考有很大的辅助作用
  2. 如果能够对各章节所对应的参考文献,以及tf 的帮助文档给出相应的链接,能够帮助大家更加深入的持续学习。

细节的问题

  • 一些概念没有介绍譬如 OP,Task,容器
  • page 107 - 相反地,使用 as_shape 将 Deimension 列表 - typo dimension
  • page 127 - 重置 - 应该是GPU,而不是CPU
  • page 140 - 初始化模型 - 与本章起始段落重复

祝好

3.3.3小节学习速率衰减与AdamOptimizer并无因果关系

文中描述的学习速率衰减是将lr用placeholder的方式,feed进优化过程。在不同的train step间,通过python进行衰减计算。
任何optimizer理论上都可以采用这种技术,文中的如下描述:

“可以采用更好的优化算法,例如 AdamOptimizer。随着迭代过程的次数,学习速率将指 数级衰减,在模型训练后期可以得到一个更稳定的精度和损失曲线。”

或许会给人造成误解,认为lr衰减是某些特定optimizer(例如AdamOptimizer)引入的特性。

请问书中图是怎么画的?

感谢您的技术分享书籍,已经完整看完一遍,不过还有不少细节没有深入,还需要对照源码进一步学习,在阅读过程中很好奇您所画的流程图都是用什么工具画的,感觉很美观,期待您的回复。

关于引用格式

你好,我想添加本书为参考文献,能否给出本书的bib引用方式?谢谢

3.3.3小节关于“不定值”的描述错误

首先所贴的示例code,个人认为第二行多余,让人容易误解,如下:
logits = tf.matmul(y4, w5) + b5
y = tf.nn.softmax(logits)
cross_entropy = tf.nn.softmax_cross_entropy_with_logits( logits=logits, labels=t)

其次从这里的注释来看:https://github.com/tensorflow/tensorflow/blob/r1.0/tensorflow/examples/tutorials/mnist/mnist_softmax.py#L48
采用softmax_cross_entropy_with_logits,与先softmax、再手工计算交叉熵、再在batch内item间取交叉熵的均值,数学效果等同,似乎无法避免文中介绍的log(0)导致NaN问题。

Chapter 6.3 Transfering graphs unfinished?

I am really enjoying this book! Thanks for releasing this! I was just wondering if section "6.3 Transfering graphs" will be filled in? It looks like an empty section awaiting content.

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.