Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KO: translation ko/tutorials/eager/ #421

Conversation

Projects
None yet
5 participants
@Choiuijin1125
Copy link
Contributor

commented Mar 25, 2019

Start a translation in en/tutorials/eager,
except _style_transfer.ipynb(pull request 369)

@review-notebook-app

This comment has been minimized.

Copy link

commented Mar 25, 2019

Check out this pull request on ReviewNB: https://app.reviewnb.com/tensorflow/docs/pull/421

Visit www.reviewnb.com to know how we simplify your Jupyter Notebook workflows.

@Choiuijin1125

This comment has been minimized.

Copy link
Contributor Author

commented Apr 1, 2019

Checking Colab is complete. :)
6 files were translated

  1. index.md
  2. eager_basics.ipynb
  3. custom_training.jpynb
  4. custom_training_walkthrough.ipynb
  5. custom_layer.jpynb
  6. automatic_differentiation.ipynb

Thanks!

@Choiuijin1125 Choiuijin1125 marked this pull request as ready for review Apr 1, 2019

@rickiepark

This comment has been minimized.

Copy link
Contributor

commented Apr 1, 2019

Thanks @Choiuijin1125 .
@lamberta Can I review this?

@lamberta

This comment has been minimized.

Copy link
Member

commented Apr 1, 2019

Thank you, @Choiuijin1125
@rickiepark Please do! 👍

@Choiuijin1125

This comment has been minimized.

Copy link
Contributor Author

commented Apr 1, 2019

Thanks @rickiepark, @lamberta I really appreciate it, if you review my documents.
Please give me some advice, I'll follow your rule. 👍

@rickiepark
Copy link
Contributor

left a comment

I'll review this PR one by one.
It took some time than I expected. :)

Show resolved Hide resolved site/ko/tutorials/eager/automatic_differentiation.ipynb Outdated
" <a target=\"_blank\" href=\"https://colab.research.google.com/github/tensorflow/docs/blob/master/site/en/tutorials/eager/automatic_differentiation.ipynb\"><img src=\"https://www.tensorflow.org/images/colab_logo_32px.png\" />Run in Google Colab</a>\n",
" </td>\n",
" <td>\n",
" <a target=\"_blank\" href=\"https://github.com/tensorflow/docs/blob/master/site/en/tutorials/eager/automatic_differentiation.ipynb\"><img src=\"https://www.tensorflow.org/images/GitHub-Mark-32px.png\" />View source on GitHub</a>\n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 2, 2019

Contributor

/en/ --> /ko/

"id": "xh8WkEwWpnm7"
},
"source": [
"# 자동미분(Automatic Differentiation)과 그래디언트 테이프(Gradient Tape)"

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 2, 2019

Contributor

It's not good to write Korean and English together in title, because title is used for navigation in tensorflow.org (e.g, https://www.tensorflow.org/alpha/guide/effective_tf2).
Long navigation will not give good user experience.
Please add English words in body text.

"id": "vDJ4XzMqodTy"
},
"source": [
"이전 튜토리얼에서 우리는 Tensor와 Tensor의 연산들에 대해서 알아보았습니다. 이번 튜토리얼에서는 머신러닝 모델을 최적화할 수 있는 주요 기술 중 하나인 [자동미분(automatic differentiation)](https://en.wikipedia.org/wiki/Automatic_differentiation)에 대해 알아보겠습니다."

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 2, 2019

Contributor

As you may know, please don't translate 'we'(우리는) or 'you'. It's not natural in public document using Korean.

"source": [
"## 그래디언트 테이프(Gradient Tape)\n",
"\n",
"텐서플로는 자동미분(주어진 입력 변수에 따른 그래디언트 연산)을 위한 [tf.GradientTape](https://www.tensorflow.org/api_docs/python/tf/GradientTape) API를 제공합니다. `tf.GradientTape`는 안에서 실행된 모든 연산을 tape에 \"기록\"합니다. 그리고 [역방향 미분(reverse mode differentiation)](https://en.wikipedia.org/wiki/Automatic_differentiation)을 사용하여 각각의 기록된 연산들과 관련된 테이프와 그래디언트들을 사용하여 기록된 연산의 그래디언트를 계산합니다. \n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 2, 2019

Contributor

Some popular phrase is often written no space(e.g, '딥러닝'(deep learning)). But most phrase need to follow original text. So I suggest '자동미분' --> '자동 미분'.

In derivative context, 'with respect to' is translated '에 대해' by most math people.
In 'computing the gradient of a computation', computation means ops in tensorflow. So it's good that 'computing' is translated '계산', but 'computation' is translated '연산'. If two words are used interchangeable, users are confused.
I suggest '따른 그래디언트 연산' --> '대한 연산의 그래디언트(gradient)를 계산하는 것'

tape --> "테이프"(tape)

"역방향" is often used to explain backpropagation algorithm. So I recommend other words(e.g, '후진') to explain auto diff.
There is no 'auto', but you can add '자동' for concrete explanation.
'mode' can be translated '모드' or '방식'.
'을 사용하는' meaning as 'using' is used twice in a sentence. It's not comfortable to read duplicated phrases. So I suggest '을 사용하는' --> '으로'.
'역방향 미분(...)을 사용하는' --> '후진 모드 자동 미분(...)으로' or '후진 방식 자동 미분(...)으로'

In 'that tape and the gradients accociated with each recorded operation', It's not clear that tape and gradients are accociated with recording ops or only gradients are associated. But if you translate it to '기록된 연산들과 관련된 테이프와 그래디언트들을', both must be accociated with ops. So I suggest to change the order of words.
In many cases, you don't need to translate the plural form.
So I suggest '기록된 연산들과 관련된 테이프와 그래디언트들을' --> '기록된 연산과 관련된 그래디언트와 테이프를'.

"id": "DK05KXrAAld3"
},
"source": [
"### 고차원(Higher-order) 그래디언트\n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 2, 2019

Contributor

Move English to text.

In derivative context, 'high-order' is translated to '고계도' not '고차원'.
(https://ko.wikipedia.org/wiki/%EA%B3%A0%EA%B3%84%EB%8F%84%ED%95%A8%EC%88%98)

"source": [
"### 고차원(Higher-order) 그래디언트\n",
"\n",
"`GradientTape` 컨텍스트 매니저안에 있는 연산들은 자동미분을 위해 기록됩니다. 만약 그래디언트가 컨텍스트 안에서 연산되면 그래디언트 연산 또한 기록되어집니다. 그 결과 똑같은 API가 고차원 그래디언트에서도 잘 작동합니다. 예를 들면:"

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 2, 2019

Contributor

'연산' appear twice. I just recommend to translate 'compute' to '계산', not '연산'.
'연산' is reserved for 'operation' or 'computation'. :)
'연산되면' --> '계산되면'

In 'the gradient computation is recorded as well', 'the' is used to refer specific gradient.
So I suggest '그래디언트 연산 또한' --> '그 그래디언트 연산 또한'

You don't need to translate passive form.
'기록되어집니다' --> '기록됩니다'

'고차원' --> '고계도'

"with tf.GradientTape() as t:\n",
" with tf.GradientTape() as t2:\n",
" y = x * x * x\n",
" # t 컨텍스트 매니저 안의 그래디언트 연산\n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 2, 2019

Contributor

'연산' --> '계산'
I prefer a complete sentence just like 't 컨텍스트 매니저 안에서 그래디언트를 계산합니다'. :)

" with tf.GradientTape() as t2:\n",
" y = x * x * x\n",
" # t 컨텍스트 매니저 안의 그래디언트 연산\n",
" # 이것은 또한 그래디언트 계산이 미분가능하다는것을 의미합니다. \n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 2, 2019

Contributor

'계산' --> '연산'

There is no 'itself', but you can add it to clarify the meaning.
'그래디언트 계산이 미분가능하다는것을' --> '그래디언트 연산 자체도 미분가능하다는 것을'

"source": [
"## 다음 단계\n",
"\n",
"이번 튜토리얼에서는 텐서플로에서 그래디언트 계산법을 배웠습니다. 이를 통해 우리는 신경망을 구축하고 훈련시키는 데 필요한 기본 요소를 충분히 확보할 수 있습니다."

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 2, 2019

Contributor

To translate 'cover',
'배웠습니다' --> '다루었습니다'

Remove '우리는'.

You can use '배웠습니다' here because it is duplicated.
'enough' can be translated like 'many'.
'기본 요소를 충분히 확보할 수 있습니다' --> '많은 기본 요소를 배웠습니다'

@Choiuijin1125

This comment has been minimized.

Copy link
Contributor Author

commented Apr 2, 2019

Thank you so much!!! @rickiepark
you gave me a lot of details 👍, And I'm sorry for you must spend time reviewing my documents...
First of all, I just edited common mistakes of other files to loose your burden :

  • en → ko
  • del '우리'
  • del english in title
  • check space of some phrase
  • plural form
  • '계산' and '연산'
@rickiepark
Copy link
Contributor

left a comment

Just finish custom_layers.ipynb :)

"</table>"
]
},
{

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 4, 2019

Contributor

Please add a disclaimer note to every notebooks. You can refer ko/tutorials/keras/basic_classification.ipynb.

"id": "UEu3q4jmpKVT"
},
"source": [
"신경망을 구축하기 위해서 고수준 API인 `tf.keras`를 사용하길 권합니다. 대부분의 텐서플로 API는 즉시 실행(eager execution)을 활성화할 수 있습니다."

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 4, 2019

Contributor

Most TF API can be used with eager mode, not activate the eager mode.
By default, Keras API works in graph mode and optionally in eager mode.
To avoid confusing, I suggest '을 활성화할' --> '과 함께 사용할'.

"source": [
"## 층: 유용한 연산자 집합\n",
"\n",
"머신러닝을 위한 코드를 작성하는 대부분의 시간동안 개별적인 연산과 변수를 조작하는 것보다는 고수준의 추상화 수준에서 작업하기를 원합니다.\n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 4, 2019

Contributor

'Most of the time' don't means real time. I suggest '대부분의 시간동안' --> '대부분의 경우에'

There is '수준' twice in '고수준의 추상화 수준'. I suggest '높은 수준의 추상화에서' or '고수준의 추상화에서'.

When translate 'you want to do something', it's better to translate indirectly like 'you will do something'. So I suggest '작업하기를 원합니다.' --> '작업할 것입니다'.

"\n",
"머신러닝을 위한 코드를 작성하는 대부분의 시간동안 개별적인 연산과 변수를 조작하는 것보다는 고수준의 추상화 수준에서 작업하기를 원합니다.\n",
"\n",
"많은 머신러닝 모델은 비교적 단순한 층(layer)의 구성과 적층(stacking)으로 표현가능합니다. 또한 텐서플로는 여러 표준형 층을 제공하므로 사용자 고유의 응용 프로그램에 관련된 층을 처음부터 작성하거나, 기존 층의 구성으로 쉽게 작성할 수 있습니다.\n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 4, 2019

Contributor

composition is '구성' but Korean say it as 'combination of layers' commonly.
And Someone can read this phrase as '층의 적층'.
So I suggest '층(layer)의 구성과 적층(stacking)으로' --> '층(layer)을 조합하고 쌓아서' with less Chinese characters.

It's better to avoid using same verb repeatedly in a sentence. So I suggest '구성으로 쉽게 작성할 수 있습니다' --> '조합으로 쉽게 만들 수 있습니다'

"\n",
"많은 머신러닝 모델은 비교적 단순한 층(layer)의 구성과 적층(stacking)으로 표현가능합니다. 또한 텐서플로는 여러 표준형 층을 제공하므로 사용자 고유의 응용 프로그램에 관련된 층을 처음부터 작성하거나, 기존 층의 구성으로 쉽게 작성할 수 있습니다.\n",
"\n",
"텐서플로는 [케라스](https://keras.io) API 의 풀패키지를 tf.keras package에 포함하고 있습니다. 케라스 층은 모델을 구축하는데 매우 유용합니다."

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 4, 2019

Contributor

'full' means 'whole'.
So I suggest '케라스 API 의 풀패키지를 tf.keras package에' --> 전체 케라스 API를 tf.keras 패키지에'

"source": [
"변수를 생성하기 위해 `build`가 호출되길 기다릴 필요가 없다는 것에 주목하세요. 또한 변수를 `__init__`에 생성할 수도있습니다. \n",
"\n",
"다른 독자가 표준형 층의 동작을 잘 알고 있기 때문에, 가능한 경우 표준형 층을 사용하는것이 전체 코드를 읽고 유지하는데 더 쉽습니다. 만약 tf.keras.layers 또는 tf.contrib.layers에 없는 층을 사용하기 원하면 [github issue](http://github.com/tensorflow/tensorflow/issues/new)에 이슈화하거나, 풀리퀘스트를 요청하세요."

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 4, 2019

Contributor

Translating 'other readers' explicitly is awkward. Just remove it and use passive form.
I suggest '다른 독자가 표준형 층의 동작을 잘 알고 있기 때문에' --> '표준형 층의 동작이 잘 알려져 있기 때문에' or '표준형 층의 작동 방식이 익숙하기 때문에'

'github issue에 이슈화하거나' --> '깃허브에 이슈를 남기거나'

You can send PR, not request PR.
I suggest '풀리퀘스트를 요청하세요' --> '풀리퀘스트(pull request)를 보내세요'

"source": [
"## 모델: 층 구성\n",
"\n",
"머신러닝 모델에서 대부분의 흥미로운 유사 layer(layer-likely)는 여러 층의 집합으로 구현되어집니다. 예를 들어, 레스넷(resnet)의 각 잔여 블록(residual block)은 합성곱(convolution), 배치 정규화(batch normalization), 쇼트컷(shortcut) 등으로 구성되어있습니다. \n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 4, 2019

Contributor

Just like human translation, :)
'대부분의 흥미로운 유사 layer(..)는 여러 층의 집합으로 구현되어집니다' --> '재미있는 많은 것들은 기존의 층을 조합하여 구현됩니다'

Add a space
'구성되어있습니다' --> '구성되어 있습니다'

"\n",
"머신러닝 모델에서 대부분의 흥미로운 유사 layer(layer-likely)는 여러 층의 집합으로 구현되어집니다. 예를 들어, 레스넷(resnet)의 각 잔여 블록(residual block)은 합성곱(convolution), 배치 정규화(batch normalization), 쇼트컷(shortcut) 등으로 구성되어있습니다. \n",
"\n",
"여러 층의 집합을 포함한 유사 layer를 생성하기위해 사용하는 메인 클래스는 tf.keras.Model입니다. 다음은 tf.keras.Model을 상속(inheritance)하여 구현합니다."

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 4, 2019

Contributor

You can translate 'layer-like things' to 'model'.
'여러 층의 집합을 포함한 유사 layer를 생성하기위해' --> '다른 층을 포함한 모델을 만들기 위해'

To correspond '다음은', I suggest '구현합니다' --> '구현한 코드입니다'

"print([x.name for x in block.trainable_variables])"
]
},
{

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 4, 2019

Contributor

There is one more sentence between two code cells. ;)

"source": [
"# 다음 단계\n",
"\n",
"이제 이전 노트북으로 돌아가서 선형 회귀 예제에 좀 더 나은 구조를 만들기 위해 층과 모델을 적용할 수 있습니다."

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 4, 2019

Contributor

I suggest '좀 더 나은 구조를 만들기 위해 층과 모델을 적용할 수 있습니다' --> '층과 모델을 사용하여 좀 더 나은 구조를 적용할 수 있습니다'

@Choiuijin1125

This comment has been minimized.

Copy link
Contributor Author

commented Apr 4, 2019

@rickiepark thanks! I edited all of the comments.
And I'm going to send pull request about duplicate issue. :)

@rickiepark
Copy link
Contributor

left a comment

Finish the review of custom_training.ipynb
Thanks! :)

"id": "k2o3TTG4TFpt"
},
"source": [
"이전 튜토리얼에서는 머신러닝을 위한 기초 빌딩 블록인 자동 미분(automatic differentiation)을 위한 텐서플로 API를 알아보았습니다. 이번 튜토리얼에서는 이전 튜토리얼에서 소개되었던 초기 타입의 텐서플로를 사용하여 간단한 머신러닝을 구축해보겠습니다. \n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 8, 2019

Contributor

'building block' is often translated '구성 요소', so I suggest '기초 빌딩 블록인' --> '기본 구성 요소인'.

'primitives' means building block. so I suggest '초기 타입의 텐서플로를' --> '텐서플로의 기본 요소를'.

People often say 'to do machine learning' or 'to build machine learning model'.
I suggest '구축해보겠습니다' --> '수행해보겠습니다'.

"source": [
"이전 튜토리얼에서는 머신러닝을 위한 기초 빌딩 블록인 자동 미분(automatic differentiation)을 위한 텐서플로 API를 알아보았습니다. 이번 튜토리얼에서는 이전 튜토리얼에서 소개되었던 초기 타입의 텐서플로를 사용하여 간단한 머신러닝을 구축해보겠습니다. \n",
"\n",
"텐서플로는 상용구를 줄이기 위해 유용한 추상화를 제공하는 고수준 신경망(neural network) API인 `tf.keras`를 포함하고 있습니다. 신경망에 관련된 일을 하고 있는 사람에게는 이러한 고수준의 API을 강하게 추천합니다. 그러나 이번 짧은 튜토리얼에서는 탄탄한 기초를 기르기 위한 신경망 학습을 다루겠습니다. "

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 8, 2019

Contributor

boilerplate means something like '상용구', but in this sentence it's better to emphasize to avoid repeating code.
I suggest '상용구를' --> '반복되는 코드를'

It's better that 'people working with' is not translated literally.
I suggest '신경망에 관련된 일을 하고 있는 사람들에게는' --> '신경망을 다룰 때'.

In many cases, Avoiding conjunctions is good practice.
So I suggest to just remove '그러나'.

'first principles' means almost same things like build blocks.
So I suggest '위한 신경망 학습을 다루겠습니다' --> '위해 기본적인 요소만으로 신경망을 훈련시켜 보겠습니다'

}
],
"source": [
"import tensorflow as tf\n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 8, 2019

Contributor

Please add "from future import absolute_import, division, print_function, unicode_literals" to this notebook and others based on b5cb76b.

"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\82108\\Anaconda3\\lib\\site-packages\\h5py\\__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.\n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 8, 2019

Contributor

Please remove outputs. You can change cell type source to markdown temporarily to remove output.

"source": [
"## 변수\n",
"\n",
"텐서플로 안에서 텐서(Tensor)는 상태가 없고, 변경이 불가능한(immutable stateless) 객체입니다. 그러나 머신러닝 모델은 상태가 변경될(stateful) 필요가 있습니다. 예를 들어, 모델 학습에서 예측을 계산하기 위한 동일한 코드는 시간이 지남에 따라 다른 양상(희망적으로 더 낮은 손실로 가는 방향으로)을 보여야 합니다. 이 연산 과정을 통해 변화되어야 하는 상태를 표현하기 위해 상태가 변경 가능한 파이썬 언어를 사용 할 수 있습니다. "

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 8, 2019

Contributor

In 'Tensors in TensorFlow', 'in' can be translated as like 'of' to make more natural.
I suggest '텐서플로 안에서' --> '텐서플로의'.

'양상' is a word not used widely in technical docs. :)
For more easy reading, I suggest '다른 양상(희망적으로 ...)을 보여야 합니다' --> '다르게 (희망하건대 ...) 동작해야 합니다'.

'stateful programming language' is hard to translate.
The concept is from imperative programming opposite to functional programming.
So I suggest '상태가 변경 가능한 파이썬 언어를' --> '명령형 프로그래밍 언어인 파이썬을'

"name": "stdout",
"output_type": "stream",
"text": [
"Current loss: \n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 8, 2019

Contributor

Remove output.

"source": [
"### 훈련 루프 정의\n",
"\n",
"현재 우리는 네트워크와 훈련 데이터를 가지고 있습니다. 모델의 변수(`W` 와 `b`)를 업데이트하기 위해 훈련 데이터를 사용하여 훈련시킵니다. 그리고 [경사 하강(gradient descent)](https://en.wikipedia.org/wiki/Gradient_descent)을 사용하여 손실을 감소시킵니다. 경사 하강에는 여러가지 방법이 있으며, `tf.train.Optimizer` 에 구현되어있습니다. 이러한 구현을 사용하는것을 강력히 추천드립니다. 그러나 이번 튜토리얼에서는 기본적인 방법을 사용하겠습니다."

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 8, 2019

Contributor

For easy reading.
'현재 우리는 네트워크와 훈련 데이터를 가지고 있습니다' --> '이제 네트워크와 훈련 데이터가 준비되었습니다'.
'훈련시킵니다' --> '훈련시켜 보죠' to represent "let's".
'경사하강' --> '경사 하강법' to use popular word.

"id": "RwWPaJryD2aN"
},
"source": [
"마지막으로, 훈련 데이터를 반복적으로 실행하고, `W` 와 `b`의 변화과정을 확인합니다."

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 8, 2019

Contributor

Add a space, '변화과정' --> '변화 과정'

"source": [
"## 다음 단계\n",
"\n",
"이번 튜토리얼에서는 변수를 다루었으며, 지금까지 논의된 초기 타입의 텐서플로를 사용하여 간단한 선형모델을 구축하고 훈련시켰습니다.\n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 8, 2019

Contributor

By the same reason above, '초기 타입의 텐서플로를' --> '텐서플로의 기본 요소를'.

Add a space, '선형모델' --> '선형 모델'

"\n",
"이번 튜토리얼에서는 변수를 다루었으며, 지금까지 논의된 초기 타입의 텐서플로를 사용하여 간단한 선형모델을 구축하고 훈련시켰습니다.\n",
"\n",
"이론적으로, 이것은 텐서플로를 머신러닝 연구에 사용하는데 필요한 대부분입니다. 실제로 신경망에 있어 `tf.keras`와 같은 고수준 API는 고수준 빌딩 블록(\"\"으로 불리는)을 제공하고, 저장 및 복원을 위한 유틸리티, 손실 함수 모음, 최적화 전략 모음 등을 제공하기 때문에 더욱 편리합니다. "

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 8, 2019

Contributor

Perhaps it's not all you need to learn. :)
I suggest that '이것은 텐서플로를 머신러닝 연구에 사용하는데 필요한 대부분입니다' --> '텐서플로를 머신러닝 연구에 사용하기 위해 알아야 할 것이 매우 많습니다'.

'빌딩 블록(...)을' --> '구성 요소(...)를'

@Choiuijin1125

This comment has been minimized.

Copy link
Contributor Author

commented Apr 8, 2019

@rickiepark thank you so much!
I really appreciate it :)
I'll fix it tomorrow, and I'm sorry to miss some space word.
Good night :)

@rickiepark
Copy link
Contributor

left a comment

I finished custom_training_walkthrough.ipynb.
This translation is better.
Thank you!

"id": "JtEZ1pCPn--z"
},
"source": [
"# 사용자 정의 학습: 둘러보기"

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 17, 2019

Contributor

I suggest '둘러보기' --> '자세히 둘러보기', because there are already custom_training.ipynb.

"1. 데이터 가져오기 및 분석.\n",
"2. 모델 타입 선정.\n",
"3. 모델 훈련.\n",
"4. 모델 효과 검증.\n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 17, 2019

Contributor

'검증' is often used for representing validation. It may make readers confused.
I suggest '검증' --> '평가'.

"source": [
"### 임포트 및 즉시 실행 구성\n",
"\n",
"텐서플로를 포함하여 필요한 파이썬 모듈을 임포트하고, 즉시 실행을 활성화합니다. 즉시 실행은 텐서플로가 연산이 나중에 실행되는 [계산 그래프(computational graph)](https://www.tensorflow.org/guide/graphs)를 만드는 대신에 연산을 즉시 평가하고 구체적인 값을 반환하게 합니다. 만약 파이썬 대화형 창이나 상호작용 콘솔을 사용하시면 더욱 익숙할 겁니다. 즉시 실행은 [Tensorlow >=1.8](https://www.tensorflow.org/install/) 부터 사용 가능합니다.\n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 17, 2019

Contributor

It's good practice to avoid that subject is after other subject.
I suggest '텐서플로가 연산이' --> '텐서플로 연산이'.

" </td></tr>\n",
"</table>\n",
"\n",
"다행히도 다른사람들이 먼저 꽃받침과 꽃잎의 길이와 폭이 측정된 [120개의 붓꽃 데이터](https://en.wikipedia.org/wiki/Iris_flower_data_set)를 만들어 놓았습니다. 이것은 머신러닝 분류문제에 있어 초보자에게 유명한 고전 데이터셋입니다. "

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 17, 2019

Contributor

Just add a space
'다른사람들이' --> '다른 사람들이'
'분류문제' --> '분류 문제'

"id": "3Px6KAg0Jowz"
},
"source": [
"## 훈련 데이터 가져오기 및 분석\n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 17, 2019

Contributor

There is no proper word to translate 'parse'.
Many people say it '파싱'.
So I suggest '분석' --> '파싱'

"\n",
"모델을 평가하는것은 모델을 훈련하는것과 유사합니다. 가장 큰 차이는 훈련 데이터가 아닌 *[테스트 데이터 세트](https://developers.google.com/machine-learning/crash-course/glossary#test_set)* 를 사용했다는 것입니다. 공정하게 모델의 유효성을 평가하기위해, 모델을 평가하기위한 예제는 반드시 훈련 데이터와 달라야합니다. \n",
"\n",
"테스트 데이터 세트를 설정하는것은 훈련 데이터 세트를 설정하는 것과 유사합니다. CSV 파일을 다운로드하고 값을 구분합니다. 그 후 약간의 셔플을 적용합니다."

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 17, 2019

Contributor

Add a space.
'설정하는것은' --> '설정하는 것은'

'parse' can be translate '파싱'
I suggest '구분합니다' --> '파싱합니다'

'give it a little shuffle' means 'not shuffle'.
I suggest '그 후 약간의 셔플을 적용합니다' --> '셔플은 적용하지 않습니다'

"source": [
"### 테스트 데이터 세트를 사용한 모델 평가\n",
"\n",
"훈련 단계와는 다르게 모델은 테스트 데이터에 대해서 오직 한 번의 [에포크](https://developers.google.com/machine-learning/glossary/#epoch)를 진행합니다. 다음의 코드 셀은 테스트 셋을 반복하여 실행하고 실제 레이블과 비교합니다. 이는 전체 테스트 데이터 세트에 대한 정확도를 측정하는데 사용됩니다."

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 17, 2019

Contributor

'테스트 셋을 반복하여' means 'iterate over test set', not 'iterate over each example'.
I suggest '테스트 셋을 반복하여' --> '테스트 셋에 있는 샘플에 대해'

"id": "HcKEZMtCOeK-"
},
"source": [
"마지막 배치에서 모델이 일반적으로 정확하다는 것을 확인할 수 있습니다. "

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 17, 2019

Contributor

'모델이 일반적으로 정확하다는 것을' --> '모델이 올바르게 예측한 것을'

"id": "7Li2r1tYvW7S"
},
"source": [
"## 예측을 위해 훈련된 모델 사용하기\n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 17, 2019

Contributor

'예측을 위해 훈련된 모델 사용하기' --> '훈련된 모델로 예측하기'

"\n",
"이제 붓꽃을 분류하기 위해 완벽하지는 않지만 어느 정도 검증된 모델을 가지고 있습니다. 훈련된 모델을 사용하여 [레이블 되지 않은 데이터](https://developers.google.com/machine-learning/glossary/#unlabeled_example)를 예측해봅시다.\n",
"\n",
"실제로는 레이블 되지 않은 예제들은 여러 소스(앱, CSV 파일, 직접 제공 등)로부터 제공될 수 있습니다. 지금은 레이블을 예측하기 위해 수동으로 3개의 레이블 되지 않은 예제를 제공하겠습니다. 레이블은 다음과 붓꽃 이름으로 매핑되어있습니다.\n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 17, 2019

Contributor

'다음과 붓꽃' --> '다음과 같은 붓꽃'
:)

@lamberta

This comment has been minimized.

Copy link
Member

commented Apr 22, 2019

Hi @Choiuijin1125 and @rickiepark,
What is the status of this pull request? I'm trying to clean up the docs PR list :)

@lamberta lamberta added the ko label Apr 23, 2019

@rickiepark

This comment has been minimized.

Copy link
Contributor

commented Apr 23, 2019

Hi @lamberta
There are two files left. I'll review those files soon.

@rickiepark
Copy link
Contributor

left a comment

@Choiuijin1125
I reviewed eager_basics.ipynb
Thank you!

"source": [
"## 텐서플로 임포트\n",
"\n",
"시작하기 위해서 텐서플로 모듈을 임포트하고 즉시 실행(eager execution)을 활성화합니다. 즉시 실행 활성화로 텐서플로에 대한 대화형 프론트엔드(frontend)가 가능합니다. 세부사항은 나중에 이야기할 것입니다."

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 30, 2019

Contributor

Eager execution makes TensorFlow is more interactive.
So I suggest "즉시 실행 활성화로 텐서플로에 대한 대화형 프론트엔드(frontend)가 가능합니다" --> "즉시 실행은 텐서플로를 조금 더 대화형 프론트엔드(frontend)에 가깝게 만들어 줍니다".

"source": [
"## 텐서\n",
"\n",
"텐서는 다차원 배열입니다. 넘파이(NumPy) `ndarray` 객체와 비슷하며, `Tensor` 객체는 데이터 타입과 크기를 가지고 있습니다. 또한 텐서는 GPU 같은 가속기 내에서 상주할 수 있습니다. 텐서플로는 텐서를 생성하고 이용하는 풍부한 연산 라이브러리([tf.add](https://www.tensorflow.org/api_docs/python/tf/add), [tf.matmul](https://www.tensorflow.org/api_docs/python/tf/matmul), [tf.linalg.inv](https://www.tensorflow.org/api_docs/python/tf/linalg/inv) etc.)를 제공합니다. 이러한 연산자는 자동적으로 순수 파이썬 타입을 전환합니다. 예를 들어:\n"

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 30, 2019

Contributor

'memory' is omitted.
'가속기 내에서' --> '가속기 메모리에'

Most people say converting type as '변환', not '전환'.
I suggest '타입을 전환합니다' --> '타입을 변환합니다'.

"source": [
"넘파이 배열과 텐서플로 텐서의 가장 확연한 차이는 다음과 같습니다:\n",
"\n",
"1. `텐서`는 가속기 메모리(GPU, TPU와 같은)의 사용이 가능합니다.\n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 30, 2019

Contributor

For proofreading,
I suggest '의 사용이 가능합니다' --> '에서 사용할 수 있습니다'

"id": "Dwi1tdW3JBw6"
},
"source": [
"### 넘파이 적합성\n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 30, 2019

Contributor

Compatibility means '호환성'
I suggest '적합성' --> '호환성'

"source": [
"### 넘파이 적합성\n",
"\n",
"텐서와 넘파이 배열 사이의 전환은 다소 간단합니다.\n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 30, 2019

Contributor

I suggest '전환' --> '변환' including all other places.

"\n",
"모델을 훈련시키고 평가 루프를 제공할 간단하고 재사용 가능한 조각으로부터, 복잡한 입력 파이프라인을 구축하기위해 데이터셋 API를 사용하기를 권장합니다. \n",
"\n",
"만약 텐서플로 그래프에 익숙하다면, 데이터셋 객체를 생성하기 위한 API는 즉시 실행이 활성화 되어도 동일하게 유지됩니다. 하지만 데이터셋의 요소를 반복하는 프로세스가 약간 더 간단해집니다.\n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 30, 2019

Contributor

For proofreading,
I suggest '그래프에 익숙하다면' --> '그래프에 익숙하다면 알겠지만'.

"* 데이터셋 생성.\n",
"* 즉시 실행 활성화를 통한 데이터셋 반복\n",
"\n",
"모델을 훈련시키고 평가 루프를 제공할 간단하고 재사용 가능한 조각으로부터, 복잡한 입력 파이프라인을 구축하기위해 데이터셋 API를 사용하기를 권장합니다. \n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 30, 2019

Contributor

It's better to translate 'pieces' indirectly
I suggest '재사용 가능한 조각으로부터' --> '재사용 가능한 모듈로부터'

"\n",
"만약 텐서플로 그래프에 익숙하다면, 데이터셋 객체를 생성하기 위한 API는 즉시 실행이 활성화 되어도 동일하게 유지됩니다. 하지만 데이터셋의 요소를 반복하는 프로세스가 약간 더 간단해집니다.\n",
"또한 `tf.data.Dataset` 객체를 통하여 파이썬 반복문을 사용할 수 있으며, 명시적으로 `tf.data.Iterator` 객체를 생성할 필요가 없습니다.\n",
"그 결과, [텐서플로 가이드](https://www.tensorflow.org/guide/datasets)의 반복자(iterator)에 관한 논의는 즉시 실행이 활성화될 때에는 관계없습니다. "

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 30, 2019

Contributor

For proofreading,
'관계 없습니다' --> '신경 쓰지 않아도 됩니다'

"id": "zI0fmOynH-Ne"
},
"source": [
"### 데이터셋 소스 생성\n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 30, 2019

Contributor

Here Dataset means tf.data.Dataset.
데이터셋 소스 --> 소스 Dataset

"source": [
"### 데이터셋 소스 생성\n",
"\n",
"굉장히 유용한 함수중 하나인 [`Dataset.from_tensors`](https://www.tensorflow.org/api_docs/python/tf/data/Dataset#from_tensors), [`Dataset.from_tensor_slices`](https://www.tensorflow.org/api_docs/python/tf/data/Dataset#from_tensor_slices)를 사용하여 데이터셋 소스를 생성하거나 파일로부터 읽어들이는 객체인 [`TextLineDataset`](https://www.tensorflow.org/api_docs/python/tf/data/TextLineDataset) 또는 [`TFRecordDataset`](https://www.tensorflow.org/api_docs/python/tf/data/TFRecordDataset)를 사용하여 데이터셋 소스를 생성하세요. 더 많은 정보를 위해서 [텐서플로 가이드](https://www.tensorflow.org/guide/datasets#reading_input_data)를 참조하세요."

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 30, 2019

Contributor

For same reason,
'데이터셋 소스를' --> '소스 dataset'

factory means factory pattern.
I suggest '굉장히 유용한 함수중 하나인 Dataset.from_tensors, Dataset.from_tensor_slices를 사용하여 데이터셋 소스를 생성하거나 파일로부터 읽어들이는 객체인 TextLineDataset 또는 TFRecordDataset를 사용하여 데이터셋 소스를 생성하세요'
-->
'Dataset.from_tensors, Dataset.from_tensor_slices와 같은 팩토리(factory) 함수 중 하나를 사용하거나 파일로부터 읽어들이는 객체인 TextLineDataset 또는 TFRecordDataset를 사용하여 소스 dataset을 생성하세요'

@rickiepark
Copy link
Contributor

left a comment

@Choiuijin1125
I finish to review all notebook you push.
After modify notebook, please sync with the updates in en folders.
Thanks! :)

2. [자동 미분과 그래디언트 테이프](automatic_differentiation.ipynb)
3. [사용자 정의 학습 : 기초](custom_training.ipynb)
4. [사용자 정의 층](custom_layers.ipynb)
5. [사용자 정의 학습 : 둘러보기](custom_training_walkthrough.ipynb)

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 30, 2019

Contributor

'둘러보기' --> '자세히 둘러보기'

[docs@tensorflow.org](https://groups.google.com/a/tensorflow.org/forum/#!forum/docs)로
메일을 보내주시기 바랍니다.

즉시 실행(Eager execution)은 더 나은 연산을 위한 실행에 의해 정의되는 명령형 인터페이스를 제공합니다.

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 30, 2019

Contributor

I think it's natural to translate 'advanced' as '고급'.

메일을 보내주시기 바랍니다.

즉시 실행(Eager execution)은 더 나은 연산을 위한 실행에 의해 정의되는 명령형 인터페이스를 제공합니다.
사용자 정의 층, 정방향 전파, 자동 미분을 사용한 훈련 루프를 작성하세요. 이 노트북으로 시작한 다음 순서대로 진행하세요.

This comment has been minimized.

Copy link
@rickiepark

rickiepark Apr 30, 2019

Contributor

For proofreading,
'이 노트북으로 시작한 다음 순서대로 진행하세요.' --> '이 노트북으로 보고 난 후에 다음 문서를 읽어보세요'

@Choiuijin1125

This comment has been minimized.

Copy link
Contributor Author

commented Apr 30, 2019

Thank you so much @rickiepark !!! I really appreciate it I just check it now, I'll finish as soon as possible :)
Hi, @lamberta I'll finish this PR in 2days thanks :)

@Choiuijin1125

This comment has been minimized.

Copy link
Contributor Author

commented May 2, 2019

Hi @lamberta, @MarkDaoust :) can u review these files? I just finished it.
colab check is also done. thanks :)

@lamberta

This comment has been minimized.

Copy link
Member

commented May 2, 2019

Thanks for the ping. @rickiepark, can you approve/LGTM this and I'll merge. thanks, all

@rickiepark

This comment has been minimized.

Copy link
Contributor

commented May 2, 2019

@lamberta Sure, I'll check it.

@rickiepark
Copy link
Contributor

left a comment

Hi, @Choiuijin1125
Thanks for update from reviews. There are some typos. Can you check this? :)

" * 총 120개의 예가 있으며, 각 예들은 4개의 특성(feature), 3개의 레이블(label)을 가지고 있습니다.\n",
"2. 후속행은 데이터 레코드입니다. 한 줄당 한가지 *[예](https://developers.google.com/machine-learning/glossary/#example)*입니다.\n",
" * 처음 4개의 필드는 *[특성](https://developers.google.com/machine-learning/glossary/#feature)*입니다.: 이것들은 예제의 특징을 나타냅니다. 이 필드들는 붓꽃의 측정값을 부동소수점으로 나타냅니다.\n",
" * 총 120개의 샘플가 있으며, 각 샘플들은 4개의 특성(feature), 3개의 레이블(label)을 가지고 있습니다.\n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark May 2, 2019

Contributor

Typo: "샘플가" --> "샘플이"

@@ -352,7 +352,7 @@
"id": "gB_RSn62c-3G"
},
"source": [
"`make_csv_dataset` 함수는 `tf.data.Dataset` 의 `(features, label)` 쌍을 반환합니다. `features`는 사전형 객체인: `{'feature_name': value}`로 주어집니다.\n",
"`make_csv_dataset` 함수는 `tf.data.Dataset` 의 `(features, label)` 쌍으로 구성된 `tf.data.Dataset`을 반환합니다. `features`는 딕셔너리 객체인: `{'feature_name': value}`로 주어집니다.\n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark May 2, 2019

Contributor

remove "tf.data.Dataset 의"

"\n",
"[tf.keras.Sequential](https://www.tensorflow.org/api_docs/python/tf/keras/Sequential)은 여러 층을 연이어 쌓은 모델입니다. 이 구조는 층의 인스턴스를 취하며, 아래의 케이스의 경우 각 층당 10개의 노드(node)를 가지는 2개의 [Dense(완전 연결 층)](https://www.tensorflow.org/api_docs/python/tf/keras/layers/Dense) 3개의 예측(레이블의 수) 노드를 가지는 출력 층으로 구성되어있습니다. 첫 번째 층의 `input_shape` 매개변수는 데이터셋의 특성의 수와 관계있습니다."
"[tf.keras.Sequential](https://www.tensorflow.org/api_docs/python/tf/keras/Sequential)은 여러 층을 연이어 쌓은 모델입니다. 이 구조는 층의 인스턴스를 취하며, 아래의 경우 각 층당 10개의 노드(node)를 가지는 2개의 [밀집(dense)](https://www.tensorflow.org/api_docs/python/tf/keras/layers/Dense) 3개의 예측(레이블의 수) 노드를 가지는 출력 층으로 구성되어있습니다. 첫 번째 층의 `input_shape` 매개변수는 데이터셋의 특성의 수와 관계있습니다."

This comment has been minimized.

Copy link
@rickiepark

rickiepark May 2, 2019

Contributor

Here, Dense is python class. So "Dense(완전 연결 층)" is right.

@@ -682,7 +682,7 @@
"id": "3IcPqA24QM6B"
},
"source": [
"모델을 최적화하기 위해 사용되는 *[그래디언트(gradient)](https://developers.google.com/machine-learning/crash-course/glossary#gradient)* 계산하기위해 [tf.GradientTape](https://www.tensorflow.org/api_docs/python/tf/GradientTape) 컨텍스트를 사용합니다. 더 자세한 정보는 [즉시 실행 가이드](https://www.tensorflow.org/guide/eager)를 확인하세요. "
"모델을 최적화하기 위해 사용되는 *[그래디언트(gradient)](https://developers.google.com/machine-learning/crash-course/glossary#gradient)* 계산하기 위해 [tf.GradientTape](https://www.tensorflow.org/api_docs/python/tf/GradientTape) 컨텍스트를 사용합니다. 더 자세한 정보는 [즉시 실행 가이드](https://www.tensorflow.org/guide/eager)를 확인하세요. "

This comment has been minimized.

Copy link
@rickiepark

rickiepark May 2, 2019

Contributor

Add '를': '그래디언트(..) 계산하기 위해

@@ -199,15 +199,15 @@
"id": "Dwi1tdW3JBw6"
},
"source": [
"### 넘파이 적합성\n",
"### 넘파이 호환성\n",
"\n",
"텐서와 넘파이 배열 사이의 전환은 다소 간단합니다.\n",

This comment has been minimized.

Copy link
@rickiepark

rickiepark May 2, 2019

Contributor

Please let me know if you don't agree to change '전환' to '변환'. :)

This comment has been minimized.

Copy link
@Choiuijin1125

Choiuijin1125 May 2, 2019

Author Contributor

@rickiepark No, totally :) I'll check more carefully, I'm so sorry :(

@Choiuijin1125

This comment has been minimized.

Copy link
Contributor Author

commented May 2, 2019

@rickiepark, Sorry for the late reply I just checked it now. can you review this PL again? :)
thanks!!

@rickiepark

This comment has been minimized.

Copy link
Contributor

commented May 3, 2019

@Choiuijin1125
Great, Almost done!
There is one more thing to do. :)
Please refer files in en/tutorials/eager and add following line.
from __future__ import absolute_import, division, print_function, unicode_literals
Thank you!

@Choiuijin1125

This comment has been minimized.

Copy link
Contributor Author

commented May 3, 2019

@rickiepark Sure, definitely!! I'm done.
Thanks :) have a good night.

@rickiepark

This comment has been minimized.

Copy link
Contributor

commented May 3, 2019

Thank you @Choiuijin1125.

@lamberta LGTM :)

Choiuijin1125 and others added some commits Mar 16, 2019

Start translation of other files
1. automatic_differentiation
2. custom_layers
3. custom_training
4. custom_training_walkthrough
5. eager_basisc
6. index.md
Update from 4e28c14
Edit a typing error
Update from 61caa15
edit common mistakes
Update from 2e78c66
Change some word
layer → 층
Update from f50c18c
Second review with @rickiepark

@lamberta lamberta force-pushed the Choiuijin1125:Ko-tutorials-eager-ver2 branch from ddbb77f to fd3ba6a May 3, 2019

@lamberta
Copy link
Member

left a comment

Thanks so much! This was a lot of work to translate and review. Nice job 👍

@TensorFlow-Docs-Copybara TensorFlow-Docs-Copybara merged commit fd3ba6a into tensorflow:master May 3, 2019

2 checks passed

cla/google All necessary CLAs are signed
import/copybara Change imported to the internal review system
Details

TensorFlow-Docs-Copybara pushed a commit that referenced this pull request May 3, 2019

@lamberta

This comment has been minimized.

Copy link
Member

commented May 3, 2019

This is published! Thanks again: https://www.tensorflow.org/tutorials/eager?hl=ko

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.