From 4ac3b83ee3a626307fad777c182f3751fdc8ca36 Mon Sep 17 00:00:00 2001 From: TerenceCooper Date: Tue, 17 Nov 2015 11:45:21 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E6=96=87=E6=A1=A3=E5=86=85=E7=9A=84=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SOURCE/resources/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SOURCE/resources/faq.md b/SOURCE/resources/faq.md index 5ea6b74..0676afe 100755 --- a/SOURCE/resources/faq.md +++ b/SOURCE/resources/faq.md @@ -39,7 +39,7 @@ TensorFlow 鼓励用户去建立复杂的表达式(如整个神经网络及其 #### 如何在指定的设备上运行操作(operations)? 在 [`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 有哪些不同的类型? From 2cf6b5c2de50fab0fe2324be767a0ae752d0bced Mon Sep 17 00:00:00 2001 From: TerenceCooper Date: Tue, 17 Nov 2015 12:19:27 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E5=B0=86=E6=96=87=E6=A1=A3=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E2=80=98=E5=9B=BE=E2=80=99=E6=94=B9=E4=B8=BA'graph'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SOURCE/resources/faq.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/SOURCE/resources/faq.md b/SOURCE/resources/faq.md index 0676afe..4f388ac 100755 --- a/SOURCE/resources/faq.md +++ b/SOURCE/resources/faq.md @@ -6,7 +6,7 @@ ## 内容 ### [常见问题](#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) @@ -17,17 +17,17 @@ -## 建立 TensorFlow 图 +## 建立 TensorFlow graph 参看 -[建立图的 API 文档](../api_docs/python/framework.md). +[建立 graph 的 API 文档](../api_docs/python/framework.md). #### 为什么`c = tf.matmul(a, b)` 不立即执行矩阵相乘? 在 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)一条一条的执行效率高的多。 @@ -46,10 +46,10 @@ TensorFlow 鼓励用户去建立复杂的表达式(如整个神经网络及其 TensorFlow 支持许多种不同的数据类型和 tensor shape ,更多细节请参看 [ranks, shapes, and type reference](../resources/dims_types.md) -## 运行 TensorFlow 计算过程 +## 运行 TensorFlow 计算过程。 参看 -[运行图的 API 文档](../api_docs/python/client.md). +[运行 graph 的 API 文档](../api_docs/python/client.md). #### 请详细解释 feeding 和 placeholders? @@ -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 呢? @@ -94,16 +94,16 @@ with tf.Session(): #### 运行时会并行计算图的执行的各个部分(parts of graph execution)吗? -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 支持哪些客户端编程语言? -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),它使得用许多不同的语言创建客户端变得很容易。我们请大家在新语言绑定上做出努力。 @@ -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? +#### 我怎么创建这样一个 graph ,它在批次大小可变(variable batch sizes)的情形下也可以正常运作? -如果能够创建一个图,在批次大小可变(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` 。 @@ -165,13 +165,13 @@ TensorFlow 支持多 GPU 和 CPU。 有关 TensorFlow 如何将操作(operations ## TensorBoard -#### 我怎样视觉化一个 TensorFlow 图? +#### 我怎样视觉化一个 TensorFlow graph ? -参看[图的视觉化教程](../how_tos/graph_viz/index.md). +参看[ graph 的视觉化教程](../how_tos/graph_viz/index.md). #### 向 TensorBoard 发送数据的最简单的方法是什么? -给你的 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 From 61a75dbd83966d4fdaa4c204349ebfa7a65cda48 Mon Sep 17 00:00:00 2001 From: TerenceCooper Date: Tue, 17 Nov 2015 12:42:09 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E4=B8=80=E4=BA=9B=E5=B0=8F=E7=9A=84?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SOURCE/resources/faq.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SOURCE/resources/faq.md b/SOURCE/resources/faq.md index 4f388ac..9f8577e 100755 --- a/SOURCE/resources/faq.md +++ b/SOURCE/resources/faq.md @@ -107,7 +107,7 @@ TensorFlow 被设计成为支持多种客户端语言。当前支持最好的客 从社区的利益出发,我们想要支持更多的客户端语言。 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? +#### TensorFlow 会利用我计算机上所有可用的设备(GPUs 和 CPUs)吗? TensorFlow 支持多 GPU 和 CPU。 有关 TensorFlow 如何将操作(operations)分配到设备的细节请参看 [TensorFlow 如何使用 GPUs](../how_tos/using_gpu/index.md) 的文档,有关使用多 GPU 的示范实例请参看 [CIFAR-10 教程](../tutorials/deep_cnn/index.md) @@ -115,7 +115,7 @@ TensorFlow 支持多 GPU 和 CPU。 有关 TensorFlow 如何将操作(operations #### 当使用一个 reader 或 一个 queue 时,为什么 `Session.run()` 会挂起? -[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 From 446a83d06c4a1a138d0fbfc650b608f54a5470d8 Mon Sep 17 00:00:00 2001 From: TerenceCooper Date: Wed, 18 Nov 2015 22:46:39 +0800 Subject: [PATCH 4/6] almost halfway --- SOURCE/how_tos/overview.md | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/SOURCE/how_tos/overview.md b/SOURCE/how_tos/overview.md index c63a4e1..9214ecd 100755 --- a/SOURCE/how_tos/overview.md +++ b/SOURCE/how_tos/overview.md @@ -1,16 +1,18 @@ -# Overview +# 综述 Overview -## Variables: Creation, Initializing, Saving, and Restoring +## Variables: 创建,初始化,保存,恢复 Variables: Creation, Initializing, Saving, and Restoring +TensorFlow Variables 是内存中的容纳 tensor 的缓存。了解用它们在训练时(during training)保存和更新模型参数(model parameters) 的方法,[参看教程](../how_tos/variables/index.md)。 TensorFlow Variables are in-memory buffers containing tensors. Learn how to use them to hold and update model parameters during training. [View Tutorial](../how_tos/variables/index.md) -## TensorFlow Mechanics 101 +## TensorFlow 机制 101 TensorFlow Mechanics 101 +用 MNIST 手写数字识别作为一个小例子,一步一步的将使用 TensorFlow 基础架构(infrastructure)训练大规模模型的细节做详细介绍介绍,[参看教程](../tutorials/mnist/tf/index.md)。 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. @@ -52,24 +54,26 @@ to facilitate asynchronous and concurrent training. [View Tutorial](../how_tos/threading_and_queues/index.md) -## Adding a New Op +## 添加新的 Op Adding a New Op +TensorFlow 已经提供一整套节点操作(operation),你可以在你的 graph 中随意使用它们,不过这里有关于添加自定义操作(custom op)的细节,[参看教程](../how_tos/adding_an_op/index.md)。 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. - [View Tutorial](../how_tos/adding_an_op/index.md) -## Custom Data Readers +## 自定义数据的 Reader Custom Data Readers +如果你有相当大量的自定义数据集合,可能你想要对 TensorFlow 进行扩展,使它能直接以数据自身的格式将其读入,[参看教程](../how_tos/new_data_formats/index.md)。 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. [View Tutorial](../how_tos/new_data_formats/index.md) -## Using GPUs +## 使用 GPU Using GPUs +此教程描述了 用 GPU 构建和运行模型的方法。 This tutorial describes how to construct and execute models on GPU(s). [View Tutorial](../how_tos/using_gpu/index.md) From 6f4e2bbcfb5739ad3850c09df93a828b34509198 Mon Sep 17 00:00:00 2001 From: TerenceCooper Date: Thu, 19 Nov 2015 16:56:15 +0800 Subject: [PATCH 5/6] overview translation done --- SOURCE/how_tos/overview.md | 82 +++++++++++++++----------------------- 1 file changed, 33 insertions(+), 49 deletions(-) diff --git a/SOURCE/how_tos/overview.md b/SOURCE/how_tos/overview.md index 9214ecd..320f918 100755 --- a/SOURCE/how_tos/overview.md +++ b/SOURCE/how_tos/overview.md @@ -1,94 +1,78 @@ # 综述 Overview -## Variables: 创建,初始化,保存,恢复 Variables: Creation, Initializing, Saving, and Restoring +## Variables: 创建,初始化,保存,和恢复 -TensorFlow Variables 是内存中的容纳 tensor 的缓存。了解用它们在训练时(during training)保存和更新模型参数(model parameters) 的方法,[参看教程](../how_tos/variables/index.md)。 -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 机制 101 TensorFlow Mechanics 101 +## TensorFlow 机制 101 -用 MNIST 手写数字识别作为一个小例子,一步一步的将使用 TensorFlow 基础架构(infrastructure)训练大规模模型的细节做详细介绍介绍,[参看教程](../tutorials/mnist/tf/index.md)。 -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) -## 添加新的 Op Adding a New Op +## 添加新的 Op -TensorFlow 已经提供一整套节点操作(operation),你可以在你的 graph 中随意使用它们,不过这里有关于添加自定义操作(custom op)的细节,[参看教程](../how_tos/adding_an_op/index.md)。 -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. -[View Tutorial](../how_tos/adding_an_op/index.md) +TensorFlow 已经提供一整套节点操作(operation),你可以在你的 graph 中随意使用它们,不过这里有关于添加自定义操作(custom op)的细节。 +[参看教程](../how_tos/adding_an_op/index.md)。 -## 自定义数据的 Reader Custom Data Readers -如果你有相当大量的自定义数据集合,可能你想要对 TensorFlow 进行扩展,使它能直接以数据自身的格式将其读入,[参看教程](../how_tos/new_data_formats/index.md)。 -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. +## 自定义数据的 Readers -[View Tutorial](../how_tos/new_data_formats/index.md) +如果你有相当大量的自定义数据集合,可能你想要对 TensorFlow 进行扩展,使它能直接以数据自身的格式将其读入。 +[参看教程](../how_tos/new_data_formats/index.md)。 -## 使用 GPU Using GPUs -此教程描述了 用 GPU 构建和运行模型的方法。 -This tutorial describes how to construct and execute models on GPU(s). +## 使用 GPUs -[View Tutorial](../how_tos/using_gpu/index.md) +此教程描述了用 GPU 构建和运行模型的方法。 +[参看教程](../how_tos/using_gpu/index.md) -## 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. +## 共享变量 Sharing Variables -The "Variable Scope" mechanism is designed to facilitate that. +当在多 GPU 上部署大型的模型,或展开复杂的 LSTMs 或 RNNs 时,在模型构建代码的不同位置对许多相同的 Variable 对象(objects)进行读写常常是必须的。 -[View Tutorial](../how_tos/variable_scope/index.md) +设计"Variable Scope" 机制的目的就是为了有助于上述任务的实现。 +[参看教程](../how_tos/variable_scope/index.md)。 + +原文: [How-to](http://tensorflow.org/how_tos/index.html) 翻译:[Terence Cooper](https://github.com/TerenceCooper) 校对: