Skip to content

Conversation

@ghost
Copy link

@ghost ghost commented Dec 6, 2019

라이선스 동의

변경해주시는 내용에 BSD 3항 라이선스가 적용됨을 동의해주셔야 합니다.

더 자세한 내용은 기여하기 문서를 참고해주세요.

동의하시면 아래 [ ][x]로 만들어주세요.

  • 기여하기 문서를 확인하였으며, 본 PR 내용에 BSD 3항 라이선스가 적용됨에 동의합니다.

관련 이슈 번호

이 Pull Request와 관련있는 이슈 번호를 적어주세요.

이슈 또는 PR 번호 앞에 #을 붙이시면 제목을 바로 확인하실 수 있습니다. (예. #999 )

PR 종류

이 PR에 해당되는 종류 앞의 [ ][x]로 변경해주세요.

  • 오탈자를 수정하거나 번역을 개선하는 기여
  • 번역되지 않은 튜토리얼을 번역하는 기여
  • 공식 튜토리얼 내용을 반영하는 기여
  • 위 종류에 포함되지 않는 기여

PR 설명

이 PR로 무엇이 달라지는지 대략적으로 알려주세요.

https://pytorch.org/tutorials/beginner/Intro_to_TorchScript_tutorial.html
위 공식 페이지의 튜토리얼의 번역입니다.

@ghost
Copy link
Author

ghost commented Dec 6, 2019

번역하면서 모호했던 내용들이 존재합니다.
번역에 문제가 존재하거나 더 나은 번역이 있다면 알려주세요 :)

symbolic derivatives (148행) -> 심볼릭 미분값
This way, scripting and tracing can be used when the situation calls for each of them and used together. (341행) -> 이러한 방식으로, 상황에 따라 스크립팅과 추적을 함께 사용할 수 있습니다.

@9bow 9bow requested review from 9bow, adonisues and bongmo December 12, 2019 04:34
@9bow 9bow added this to the 1.3 milestone Dec 12, 2019
@9bow
Copy link
Member

9bow commented Dec 12, 2019

확인이 늦어 죄송합니다.
말씀해주신 symbolic derivatives는 문맥 상 MATLAB 등에의 symbolic calucation 같은 것을 뜻하는 것 같은데, 적절한 단어를 찾기는 어려워보이긴 합니다. ^^; 다만 위에 적어주셨던 심볼릭 미분값 보다는 기호식 미분(symbolic derivatives) 등과 같은 식으로의 병기는 어떨까 싶은데요, 자세한 내용은 살펴보고 말씀드리겠습니다.
감사합니다!

Comment on lines 16 to 17
- ``forward`` 함수 정의
- 모듈을 계층 구조로 구성
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

목록이나 제목 등에서는 ~ 정의하기 / ~ 구성하기 등의 어미를 사용하면 좀 더 매끄럽지 않을까 싶습니다.

#
# Let’s start out be defining a simple ``Module``. A ``Module`` is the
# basic unit of composition in PyTorch. It contains:
# 간단한 ``모듈`` 을 정의하는 것부터 시작하겠습니다. ``모듈`` 은 PyTorch의
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Module과 Parameter가 모듈이나 매개변수가 아닌 torch.nn.Moduletorch.nn.Parameter를 뜻하는 경우에는 원어 그대로 사용하는 것이 좋을 것 같습니다. 다만 문맥 중에서 각각이 뜻하는 것이 어떤 것인지는 확인 부탁드립니다. (_ _)

# 3. ``forward`` 함수. 모듈이 호출될 때 실행되는 코드입니다.
#
# Let’s examine a small example:
# 작은 예를 시험해 봅시다:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

작은 예제로 시작해보겠습니다 등과 같은 약간의 의역도 괜찮지 않을까요? 참고 부탁드립니다. :)

# We instantiated the module, and made ``x`` and ``y``, which are just 3x4
# matrices of random values. Then we invoked the cell with
# ``my_cell(x, h)``. This in turn calls our ``forward`` function.
# 모듈을 인스턴스화하고, 3x4 크기의 랜덤 값들로 이루어진 행렬 ``x`` ``y`` 를 만들었습니다.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

다른 문서에서는 무작위 값들과 같은 표현을 사용하기도 하였는데요, 사실 이건 중요한 내용은 아니라 무시해주셔도 될 것 같습니다.

Comment on lines 148 to 150
# 많은 프레임 워크는 완전한 프로그램 표현이 주어지면 심볼릭 미분값(symbolic derivatives)을
# 계산하는 접근법을 취합니다. 그러나, PyTorch에서는 그라디언트 테이프(gradient tape)를
# 사용합니다. 연산이 발생할 때 이를 기록하고, 미분값을 계산할 때 거꾸로 재생합니다.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

많은 프레임워크들은 프로그램식 표현인 기호식 미분(symbolic derivatives)으로 연산하는 접근법을 취하고 있습니다. 하지만, PyTorch에서는 변화도 테이프(gradient tape)을 사용합니다. 정도로 번역해보았는데요, 역시나 매끄럽지는 않은 것 같습니다;;;
적절히 참고 부탁드립니다. (_ _)
(gradient는 다른 문서에서는 변화도로 번역하고 첫 1~2번 가량을 원어와 같이 표기하고 있습니다.)

@bongmo
혹시 다른 좋은 번역이 있을까요?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@9bow 님, 많은 프레임워크들은 주어진 프로그램 코드로부터 기호식 미분(symbolic derivatives)을 계산하는 접근법을 취하고 있습니다.
로 하시면 어떨까요? full program representation 이라는 것이 학습을 위해서 작성해 놓은 코드의 맥락으로 해석해 보았습니다.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bongmo
감사합니다

@k1101jh
위 번역도 참고 부탁드립니다.

Copy link
Author

@ghost ghost Dec 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

감사합니다!
두분의 의견 반영하여 다음과 같이 번역하겠습니다.

많은 프레임워크들은 주어진 프로그램 코드로부터 기호식 미분(symbolic derivatives)을 계산하는 접근법을 취하고 있습니다. 하지만, PyTorch에서는 변화도 테이프(gradient tape)를 사용합니다.

#
# .. figure:: https://github.com/pytorch/pytorch/raw/master/docs/source/_static/img/dynamic_graph.gif
# :alt: How autograd works
# :alt: 오토 그라드(autograd)가 작동하는 방식
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(기존에 번역이 어려운 단어에 대해서는 음차 사용을 말씀드렸음에도 불구하고) autograd는 기존 문서들에서는 그대로 autograd package를 표현하는 경우가 많아 autograd로 표현했었는데요, 이번에는 이대로 진행하고 나중에 일관성을 갖도록 정리하는 시간을 갖는 것이 어떨까 싶습니다. 다만, 띄어쓰기 없는 오토그라드는 어떨까요? ^^;

# **추적(tracing)** 이라 부르는 것을 검사하는 것으로 시작하겠습니다.
#
# Tracing ``Modules``
# ``모듈`` 추적
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(위에서 말씀드렸던) Module이 torch.nn.Module을 가르키는 예가 아닐까 싶습니다.

# class. As before, we’ve instantiated it, but this time, we’ve called
# ``torch.jit.trace``, passed in the ``Module``, and passed in *example
# inputs* the network might see.
# 조금 되감아서 ``MyCell`` 의 두 번째 버전을 가져왔습니다. 이전에 이것을
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

살짝 앞으로 돌아가 MyCell의 두번째 버전을 가져와보았습니다. 정도의 번역이 조금 더 매끄럽지 않을까 생각합니다. 참고 부탁드립니다. (_ _)

# (or IR), commonly referred to in Deep learning as a *graph*. We can
# examine the graph with the ``.graph`` property:
# TorchScript는 일반적으로 딥 러닝에서 *그래프* 라고 하는 중간 표현(또는 IR)에
# 정의를 기록합니다. ``.graph`` 속성으로 그래프를 검사할 수 있습니다:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 문서에서는 examine을 많이 사용한 것 같습니다. 문맥에 따라 조금씩 동사를 바꿔가며 사용해보시는 것은 어떨까요?
.graph 속성으로 그래프를 확인해볼 수 있습니다. 정도도 괜찮을 것 같습니다.

# information contained in the graph is not useful for end users. Instead,
# we can use the ``.code`` property to give a Python-syntax interpretation
# of the code:
# 그러나, 이것은 매우 낮은 수준의 표현이며 그래프에 포함된 대부분의 정보는
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

다른 문서들에서는 low-level을 저수준 / high-level을 고수준으로 표기하였습니다. 위의 random과 같이 참고만 부탁드립니다.

# of the code:
# 그러나, 이것은 매우 낮은 수준의 표현이며 그래프에 포함된 대부분의 정보는
# 최종 사용자에게 유용하지 않습니다. 대신, ``.code`` 속성을 사용하여 코드에
# 대한 파이썬 구문 해석을 제공할 수 있습니다:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

아래 Python과 파이썬이 혼용되고 있는데요, Python으로 통일하는 것은 어떨까요?


######################################################################
# So **why** did we do all this? There are several reasons:
# 그래서 우리는 **어째서** 이 모든 것을 했을까요? 여기에는 몇 가지 이유가 있습니다:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

**어째서** 이런 일들을 해야 할까요? 정도는 어떨까요?

# 4. TorchScript allows us to interface with many backend/device runtimes
# that require a broader view of the program than individual operators.
# 1. TorchScript 코드는 기본적으로 제한된 파이썬 인터프리터인 자체 인터프리터에서
# 호출될 수 있습니다. 이 인터프리터는 글로벌 인터프리터 락(Global Interpreter Lock)을
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

많이 사용하는 용어인 GIL(Global Interpreter Lock) 정도로 바꿔주셔도 좋을 것 같습니다.

######################################################################
# This way, scripting and tracing can be used when the situation calls for
# each of them and used together.
# 이러한 방식으로, 상황에 따라 스크립팅과 추적을 함께 사용할 수 있습니다.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

상황에 따라 따로 사용하거나, 함께 사용할 수도 있습니다. 정도는 어떨까요?

# 수 있습니다.
#
# Further Reading
# 추가 자료
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

다른 문서에서는 Read Later더 읽을거리로 번역해보았는데요, 여기에서도 참고해주셔도 좋을 것 같습니다.

TorchScript 소개
===========================
*James Reed (jamesreed@fb.com), Michael Suo (suo@fb.com)*, rev2
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

다른 문서와 조금 다른 포맷이기는 하지만,
이 문장 앞에 Author: 를 추가하고, 다음 줄에 번역: 으로 준혁님 성함과 GitHub(또는 홈페이지) 링크를 추가하시는 것은 어떨까요?

Copy link
Member

@9bow 9bow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

빠르게 읽어보며 저의 주관적인 의견들을 덧붙여보았습니다. 일부 명시적으로 수정 요청을 드린 것들 외에는 참고만 해주셔도 좋을 것 같은데요, 확인해주시고 완료 여부 알려주시면 합치도록 하겠습니다. 감사합니다! (_ _)

@ghost
Copy link
Author

ghost commented Dec 13, 2019

리뷰 감사합니다! 확인하고 다시 알려드리겠습니다.

@ghost
Copy link
Author

ghost commented Dec 13, 2019

리뷰를 반영하여 다시 commit 했습니다. 감사합니다! 😄

@9bow 9bow self-requested a review December 13, 2019 13:45
Copy link
Member

@9bow 9bow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

기여 감사합니다.

@bongmo @adonisues
혹시 추가 리뷰 진행 예정이시면 알려주시기를 부탁드립니다. 없으시면 합치겠습니다.

@9bow
Copy link
Member

9bow commented Dec 14, 2019

추가 리뷰는 없는 것으로 하고 병합하겠습니다.

@9bow 9bow merged commit a306df3 into PyTorchKorea:master Dec 14, 2019
@9bow
Copy link
Member

9bow commented Dec 18, 2019

새로 빌드한 결과물을 https://tutorials.pytorch.kr/beginner/Intro_to_TorchScript_tutorial.html 에서 확인하실 수 있습니다. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants