Skip to content

Commit

Permalink
Merge branch 'master' of github.com:jikexueyuanwiki/tensorflow-zh
Browse files Browse the repository at this point in the history
  • Loading branch information
floydzhang315 committed Nov 23, 2015
2 parents 346d5ff + e4f8939 commit 2428b03
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 66 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ PS: 想探讨TensorFlow技术的可以加"TensorFlow技术交流群":495115006
- [Partial Differential Equations](SOURCE/tutorials/pdes.md) 翻译:([@wangaicc](https://github.com/wangaicc))√
- [MNIST Data Download](SOURCE/tutorials/mnist_download.md) 翻译: ([@JoyLiu](https://github.com/fengsehng))
- 运作方式
- [总览](SOURCE/how_tos/overview.md) 翻译: ([@Terence Cooper](https://github.com/TerenceCooper))
- [总览](SOURCE/how_tos/overview.md) 翻译: ([@Terence Cooper](https://github.com/TerenceCooper))
- [变量:创建、初始化、保存和加载](SOURCE/how_tos/variables.md) 翻译: ([@zhyhooo](https://github.com/zhyhooo))√ 校对: ([@jishaoming](https://github.com/jishaoming))
- [TensorBoard:可视化学习](SOURCE/how_tos/summaries_and_tensorboard.md)翻译:([@thylaco1eo](https://github.com/thylaco1eo))√
- [TensorBoard:图表可视化](SOURCE/how_tos/graph_viz.md) 翻译:([@Warln](https://github.com/Warln))√
Expand Down
78 changes: 33 additions & 45 deletions SOURCE/how_tos/overview.md
Original file line number Diff line number Diff line change
@@ -1,90 +1,78 @@
# Overview
# 综述 Overview


## Variables: Creation, Initializing, Saving, and Restoring
## Variables: 创建,初始化,保存,和恢复

TensorFlow Variables are in-memory buffers containing tensors. Learn how to
use them to hold and update model parameters during training.
TensorFlow Variables 是内存中的容纳 tensor 的缓存。了解用它们在训练时(during training)保存和更新模型参数(model parameters) 的方法。

[View Tutorial](../how_tos/variables/index.md)
[参看教程](../how_tos/variables/index.md)


## TensorFlow Mechanics 101
## TensorFlow 机制 101

A step-by-step walk through of the details of using TensorFlow infrastructure
to train models at scale, using MNIST handwritten digit recognition as a toy
example.
用 MNIST 手写数字识别作为一个小例子,一步一步的将使用 TensorFlow 基础架构(infrastructure)训练大规模模型的细节做详细介绍。

[View Tutorial](../tutorials/mnist/tf/index.md)
[参看教程](../tutorials/mnist/tf/index.md)


## TensorBoard: Visualizing Learning
## TensorBoard: 学习过程的视觉化

TensorBoard is a useful tool for visualizing the training and evaluation of
your model(s). This tutorial describes how to build and run TensorBoard as well
as how to add Summary ops to automatically output data to the Events files that
TensorBoard uses for display.
对模型进行训练和评估时,TensorBoard 是一个很有用的工具。此教程解释了创建和运行 TensorBoard 的方法, 和添加摘要操作(Summary ops)的方法,通过添加摘要操作(Summary ops),可以自动把数据输出到 TensorBoard 在展示时所使用的事件文件。

[View Tutorial](../how_tos/summaries_and_tensorboard/index.md)
[参看教程](../how_tos/summaries_and_tensorboard/index.md)


## TensorBoard: Graph Visualization
## TensorBoard: 图的视觉化

This tutorial describes how to use the graph visualizer in TensorBoard to help
you understand the dataflow graph and debug it.
此教程介绍了在 TensorBoard 中使用图的视觉化工具的方法,它可以帮助你理解 the dataflow graph 并 debug。

[View Tutorial](../how_tos/graph_viz/index.md)
[参看教程](../how_tos/graph_viz/index.md)


## Reading Data
## 数据读入

This tutorial describes the three main methods of getting data into your
TensorFlow program: Feeding, Reading and Preloading.
此教程解释了把数据传入 TensorSlow 程序的三种主要的方法: Feeding, Reading 和 Preloading.

[View Tutorial](../how_tos/reading_data/index.md)
[参看教程](../how_tos/reading_data/index.md)


## Threading and Queues
## 线程和队列

This tutorial describes the various constructs implemented by TensorFlow
to facilitate asynchronous and concurrent training.
此教程解释了 TensorFlow 中为更容易的进行异步和并发训练而实现的各种不同的结构(constructs)。

[View Tutorial](../how_tos/threading_and_queues/index.md)
[参看教程](../how_tos/threading_and_queues/index.md)


## Adding a New Op
## 添加新的 Op

TensorFlow already has a large suite of node operations from which you can
compose in your graph, but here are the details of how to add you own custom Op.
TensorFlow 已经提供一整套节点操作(operation),你可以在你的 graph 中随意使用它们,不过这里有关于添加自定义操作(custom op)的细节。

[View Tutorial](../how_tos/adding_an_op/index.md)
[参看教程](../how_tos/adding_an_op/index.md)


## Custom Data Readers
## 自定义数据的 Readers

If you have a sizable custom data set, you may want to consider extending
TensorFlow to read your data directly in it's native format. Here's how.
如果你有相当大量的自定义数据集合,可能你想要对 TensorFlow 进行扩展,使它能直接以数据自身的格式将其读入。

[View Tutorial](../how_tos/new_data_formats/index.md)
[参看教程](../how_tos/new_data_formats/index.md)


## Using GPUs
## 使用 GPUs

This tutorial describes how to construct and execute models on GPU(s).
此教程描述了用 GPU 构建和运行模型的方法。

[View Tutorial](../how_tos/using_gpu/index.md)
[参看教程](../how_tos/using_gpu/index.md)


## Sharing Variables
## 共享变量 Sharing Variables

When deploying large models on multiple GPUs, or when unrolling complex LSTMs
or RNNs, it is often necessary to access the same Variable objects from
different locations in the model construction code.
当在多 GPU 上部署大型的模型,或展开复杂的 LSTMs 或 RNNs 时,在模型构建代码的不同位置对许多相同的 Variable 对象(objects)进行读写常常是必须的。

The "Variable Scope" mechanism is designed to facilitate that.
设计"Variable Scope" 机制的目的就是为了有助于上述任务的实现。

[View Tutorial](../how_tos/variable_scope/index.md)
[参看教程](../how_tos/variable_scope/index.md)

原文: [How-to](http://tensorflow.org/how_tos/index.html) 翻译:[Terence Cooper](https://github.com/TerenceCooper) 校对:
<div class='sections-order' style="display: none;">
<!--
<!-- variables/index.md -->
Expand Down
40 changes: 20 additions & 20 deletions SOURCE/resources/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<!-- TOC-BEGIN This section is generated by neural network: DO NOT EDIT! -->
## 内容
### [常见问题](#AUTOGENERATED-frequently-asked-questions)
* [建立 TensorFlow ](#AUTOGENERATED-building-a-tensorflow-graph)
* [建立 TensorFlow graph](#AUTOGENERATED-building-a-tensorflow-graph)
* [运行 TensorFlow 计算过程](#AUTOGENERATED-running-a-tensorflow-computation)
* [Variables](#AUTOGENERATED-variables)
* [Tensor shapes](#AUTOGENERATED-tensor-shapes)
Expand All @@ -17,17 +17,17 @@

<!-- TOC-END This section was generated by neural network, THANKS FOR READING! -->

## 建立 TensorFlow <a class="md-anchor" id="AUTOGENERATED-building-a-tensorflow-graph"></a>
## 建立 TensorFlow graph <a class="md-anchor" id="AUTOGENERATED-building-a-tensorflow-graph"></a>

参看
[建立图的 API 文档](../api_docs/python/framework.md).
[建立 graph 的 API 文档](../api_docs/python/framework.md).

#### 为什么`c = tf.matmul(a, b)` 不立即执行矩阵相乘? <a class="md-anchor" id="AUTOGENERATED-why-does--c---tf.matmul-a--b---not-execute-the-matrix-multiplication-immediately-"></a>

在 TensorFlow 的 Python API 中, `a`, `b`, and `c` 都是
[`Tensor`](../api_docs/python/framework.md#Tensor) 对象. 一个 `Tensor` 对象是一个操作(operation)结果的字符别名,它实际上并不储存操作(operation)输出结果的值。
TensorFlow 鼓励用户去建立复杂的表达式(如整个神经网络及其梯度)来形成数据流的图
然后你可以将整体数据流图的计算过程交给一个 TensorFlow 的 [`Session`](../api_docs/python/client.md#Session),
TensorFlow 鼓励用户去建立复杂的表达式(如整个神经网络及其梯度)来形成 data flow graph
然后你可以将整个 data flow graph 的计算过程交给一个 TensorFlow 的 [`Session`](../api_docs/python/client.md#Session),
`Session` 可以运行整个计算过程,比起操作(operations)一条一条的执行效率高的多。


Expand All @@ -39,17 +39,17 @@ TensorFlow 鼓励用户去建立复杂的表达式(如整个神经网络及其
#### 如何在指定的设备上运行操作(operations)? <a class="md-anchor" id="AUTOGENERATED-how-do-i-place-operations-on-a-particular-device-"></a>

[`with tf.device(name):`](../api_docs/python/framework.md#device) context 中创建操作(operation),这样可以在指定的设备上运行操作(operation)。
关于 TensorFlow 怎样将操作(operation)分配给设备的细节,参看 [TensorFlow使用GPUs]; 使用多 GPU 的示范实例参看 [CIFAR-10 教程](../tutorials/deep_cnn/index.md)
关于 TensorFlow 怎样将操作(operations)分配给设备的细节,参看 [TensorFlow使用 GPU ](../how_tos/using_gpu/index.md); 使用多 GPU 的示范实例参看 [CIFAR-10 教程](../tutorials/deep_cnn/index.md)


#### 可用的 tensor 有哪些不同的类型? <a class="md-anchor" id="AUTOGENERATED-what-are-the-different-types-of-tensors-that-are-available-"></a>

TensorFlow 支持许多种不同的数据类型和 tensor shape ,更多细节请参看 [ranks, shapes, and type reference](../resources/dims_types.md)

## 运行 TensorFlow 计算过程 <a class="md-anchor" id="AUTOGENERATED-running-a-tensorflow-computation"></a>
## 运行 TensorFlow 计算过程 <a class="md-anchor" id="AUTOGENERATED-running-a-tensorflow-computation"></a>

参看
[运行图的 API 文档](../api_docs/python/client.md).
[运行 graph 的 API 文档](../api_docs/python/client.md).

#### 请详细解释 feeding 和 placeholders? <a class="md-anchor" id="AUTOGENERATED-what-s-the-deal-with-feeding-and-placeholders-"></a>

Expand Down Expand Up @@ -77,7 +77,7 @@ with tf.Session():
print c.eval()
```

在第二个例子中, session 的作用就象 [context manager](https://docs.python.org/2.7/reference/compound_stmts.html#with) , context manager 在 `with` 块的生存期,将 session 作为默认的 session。对简单应用的情形(如单元测试),context manager 的方法可以得到更简洁的代码; 如果你的代码要处理多个图和 session ,更直白的方式可能是显式调用 `Session.run()`
在第二个例子中, session 的作用就象 [context manager](https://docs.python.org/2.7/reference/compound_stmts.html#with) , context manager 在 `with` 块的生存期,将 session 作为默认的 session。对简单应用的情形(如单元测试),context manager 的方法可以得到更简洁的代码; 如果你的代码要处理多个 graph 和 session ,更直白的方式可能是显式调用 `Session.run()`


#### Sessions 有生存期吗? 调用时产生的 tensors 呢?<a class="md-anchor" id="AUTOGENERATED-do-sessions-have-a-lifetime--what-about-intermediate-tensors-"></a>
Expand All @@ -94,28 +94,28 @@ with tf.Session():

#### 运行时会并行计算图的执行的各个部分(parts of graph execution)吗? <a class="md-anchor" id="AUTOGENERATED-does-the-runtime-parallelize-parts-of-graph-execution-"></a>

TensorFlow 运行时会在许多不同的层面(dimensions)并行图的执行:
TensorFlow 运行时会在许多不同的层面(dimensions)并行图的执行(graph execution)

* 在一个CPU中用多核或是一个GPU中用多线程来并行许多单独的操作(operation)。
* 在 TensorFlow 图中各个独立的节点可以在多个设备上并行,这样就提供了加速的可能。[CIFAR-10 用多 GPU 训练](../tutorials/deep_cnn/index.md).
* 在 TensorFlow graph 中各个独立的节点可以在多个设备上并行,这样就提供了加速的可能。[CIFAR-10 用多 GPU 训练](../tutorials/deep_cnn/index.md).
* Session API 允许并行执行多并发的 steps (如 调用 [Session.run()](../api_docs/python/client.md#Session.run))。
如果单一的 step 不使用你计算机中所有的资源,这种方法可以使运行时有更高的吞吐量。

#### TensorFlow 支持哪些客户端编程语言? <a class="md-anchor" id="AUTOGENERATED-which-client-languages-are-supported-in-tensorflow-"></a>

TensorFlow 被设计成为支持多种客户端语言。当前支持最好的客户端语言是 [Python](../api_docs/python/index.md)[C++ 客户端 API](../api_docs/cc/index.md) 提供了启动图和运行 steps 的接口; 我们还有一个 [用 C++ 建立图的 API](https://tensorflow.googlesource.com/tensorflow/+/master/tensorflow/cc/tutorials/example_trainer.cc),此 API 是实验性的。
TensorFlow 被设计成为支持多种客户端语言。当前支持最好的客户端语言是 [Python](../api_docs/python/index.md)[C++ 客户端 API](../api_docs/cc/index.md) 提供了启动 graph 和运行 steps 的接口; 我们还有一个 [用 C++ 建立 graph 的 API](https://tensorflow.googlesource.com/tensorflow/+/master/tensorflow/cc/tutorials/example_trainer.cc),此 API 是实验性的。

从社区的利益出发,我们想要支持更多的客户端语言。 TensorFlow 有一个 [基于 C 的客户端 API](https://tensorflow.googlesource.com/tensorflow/+/master/tensorflow/core/public/tensor_c_api.h),它使得用许多不同的语言创建客户端变得很容易。我们请大家在新语言绑定上做出努力。

#### TensorFlow 会利用我计算机上所有可用的设备(GPUs 和 CPUs)吗?Does TensorFlow make use of all the devices (GPUs and CPUs) available on my machine? <a class="md-anchor" id="AUTOGENERATED-does-tensorflow-make-use-of-all-the-devices--gpus-and-cpus--available-on-my-machine-"></a>
#### TensorFlow 会利用我计算机上所有可用的设备(GPUs 和 CPUs)吗? <a class="md-anchor" id="AUTOGENERATED-does-tensorflow-make-use-of-all-the-devices--gpus-and-cpus--available-on-my-machine-"></a>

TensorFlow 支持多 GPU 和 CPU。 有关 TensorFlow 如何将操作(operations)分配到设备的细节请参看 [TensorFlow 如何使用 GPUs](../how_tos/using_gpu/index.md) 的文档,有关使用多 GPU 的示范实例请参看 [CIFAR-10 教程](../tutorials/deep_cnn/index.md)

请注意, TensorFlow 只使用计算能力(compute capability)大于 3.5 的 GPU 设备。

#### 当使用一个 reader 或 一个 queue 时,为什么 `Session.run()` 会挂起? <a class="md-anchor" id="AUTOGENERATED-why-does--session.run----hang-when-using-a-reader-or-a-queue-"></a>

[reader](../api_docs/python/io_ops.md#ReaderBase) 类和 [queue](../api_docs/python/io_ops.md#QueueBase) 类提供特殊的操作(operations),这些操作(operations)在有可用的输入(对有界队列则是空闲空间)前会 *阻塞* 。使用这些操作(operations)你可以创建复杂的[输入流水线(input pipelines)](../how_tos/reading_data/index.md) ,不过,这会使 TensorFlow 的计算过程更复杂。有关如何使用这些操作(operations)的更多信息请参看 how-to 文档中的[使用 `QueueRunner` 对象控制 queues 和 readers](../how_tos/reading_data/index.md#QueueRunners)
[reader](../api_docs/python/io_ops.md#ReaderBase) 类和 [queue](../api_docs/python/io_ops.md#QueueBase) 类提供特殊的操作(operations),这些操作(operations)在有可用的输入(对有界队列则是空闲空间)前会 *阻塞* 。使用这些操作(operations)你可以创建复杂的[输入流水线(input pipelines)](../how_tos/reading_data/index.md) ,不过,这会使 TensorFlow 的计算过程更复杂。有关如何使用这些操作(operations)的更多信息请参看 how-to 文档中的[使用 `QueueRunner` 对象来控制 queues 和 readers](../how_tos/reading_data/index.md#QueueRunners)

## Variables <a class="md-anchor" id="AUTOGENERATED-variables"></a>

Expand Down Expand Up @@ -150,11 +150,11 @@ TensorFlow 支持多 GPU 和 CPU。 有关 TensorFlow 如何将操作(operations
[`tf.reshape()`](../api_docs/python/array_ops.md#reshape) 操作(operation)会以不同的动态 shape 创建一个新的 tensor。


#### 我怎么创建这样一个图,它在批次大小可变(variable batch sizes)的情形下也可以正常运作? How do I build a graph that works with variable batch sizes? <a class="md-anchor" id="AUTOGENERATED-how-do-i-build-a-graph-that-works-with-variable-batch-sizes-"></a>
#### 我怎么创建这样一个 graph ,它在批次大小可变(variable batch sizes)的情形下也可以正常运作? <a class="md-anchor" id="AUTOGENERATED-how-do-i-build-a-graph-that-works-with-variable-batch-sizes-"></a>

如果能够创建一个图,在批次大小可变(variable batch sizes)的情形下也可以正常运作将会是十分有用的,例如可以使用相同的代码完成(小)批量训练((mini-)batch training)和单例推导(single-instance inference)。这样生成的图可以[保存起来当作协议缓存(protocol buffer)](../api_docs/python/framework.md#Graph.as_graph_def),也可以[导入至其他的程序](../api_docs/python/framework.md#import_graph_def)
如果能够创建一个 graph ,在批次大小可变(variable batch sizes)的情形下也可以正常运作将会是十分有用的,例如可以使用相同的代码完成(小)批量训练((mini-)batch training)和单例推导(single-instance inference)。这样生成的 graph 可以[保存起来当作协议缓存(protocol buffer)](../api_docs/python/framework.md#Graph.as_graph_def),也可以[导入至其他的程序](../api_docs/python/framework.md#import_graph_def)

创建一个可变大小的图时,要记住最重要的事情是不要将批次大小(batch size)编码成为 Python 常数,而是用一个字符性(symbolic)的 `Tensor` 来表示。下面的提示可能会有用:
创建一个可变大小的 graph 时,要记住最重要的事情是不要将批次大小(batch size)编码成为 Python 常数,而是用一个字符性(symbolic)的 `Tensor` 来表示。下面的提示可能会有用:

*[`batch_size = tf.shape(input)[0]`](../api_docs/python/array_ops.md#shape) 从一个叫 `input``Tensor` 提取批次的维度(batch dimention),再将其存入一个名为 `batch_size``Tensor`

Expand All @@ -165,13 +165,13 @@ TensorFlow 支持多 GPU 和 CPU。 有关 TensorFlow 如何将操作(operations

## TensorBoard <a class="md-anchor" id="AUTOGENERATED-tensorboard"></a>

#### 我怎样视觉化一个 TensorFlow ? <a class="md-anchor" id="AUTOGENERATED-how-can-i-visualize-a-tensorflow-graph-"></a>
#### 我怎样视觉化一个 TensorFlow graph ? <a class="md-anchor" id="AUTOGENERATED-how-can-i-visualize-a-tensorflow-graph-"></a>

参看[图的视觉化教程](../how_tos/graph_viz/index.md).
参看[ graph 的视觉化教程](../how_tos/graph_viz/index.md).

#### 向 TensorBoard 发送数据的最简单的方法是什么? <a class="md-anchor" id="AUTOGENERATED-what-is-the-simplest-way-to-send-data-to-tensorboard-"></a>

给你的 TensorFlow 图增加 summary 操作(ops),接着用 [`SummaryWriter`](../api_docs/python/train.md#SummaryWriter) 将这些 summaries 写入一个 log directory。然后用以下命令启动 TensorBoard 。
给你的 TensorFlow graph 增加 summary 操作(ops),接着用 [`SummaryWriter`](../api_docs/python/train.md#SummaryWriter) 将这些 summaries 写入一个 log directory。然后用以下命令启动 TensorBoard 。

python tensorflow/tensorboard/tensorboard.py --logdir=path/to/log-directory

Expand Down

0 comments on commit 2428b03

Please sign in to comment.