-
Notifications
You must be signed in to change notification settings - Fork 282
Intro_to_TorchScript_tutorial.py 번역 #20
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
Conversation
|
번역하면서 모호했던 내용들이 존재합니다.
|
|
확인이 늦어 죄송합니다. |
| - ``forward`` 함수 정의 | ||
| - 모듈을 계층 구조로 구성 |
There was a problem hiding this comment.
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의 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Module과 Parameter가 모듈이나 매개변수가 아닌 torch.nn.Module과 torch.nn.Parameter를 뜻하는 경우에는 원어 그대로 사용하는 것이 좋을 것 같습니다. 다만 문맥 중에서 각각이 뜻하는 것이 어떤 것인지는 확인 부탁드립니다. (_ _)
| # 3. ``forward`` 함수. 모듈이 호출될 때 실행되는 코드입니다. | ||
| # | ||
| # Let’s examine a small example: | ||
| # 작은 예를 시험해 봅시다: |
There was a problem hiding this comment.
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`` 를 만들었습니다. |
There was a problem hiding this comment.
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)를 | ||
| # 사용합니다. 연산이 발생할 때 이를 기록하고, 미분값을 계산할 때 거꾸로 재생합니다. |
There was a problem hiding this comment.
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
혹시 다른 좋은 번역이 있을까요?
There was a problem hiding this comment.
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 이라는 것이 학습을 위해서 작성해 놓은 코드의 맥락으로 해석해 보았습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
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)가 작동하는 방식 |
There was a problem hiding this comment.
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`` | ||
| # ``모듈`` 추적 |
There was a problem hiding this comment.
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`` 의 두 번째 버전을 가져왔습니다. 이전에 이것을 |
There was a problem hiding this comment.
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`` 속성으로 그래프를 검사할 수 있습니다: |
There was a problem hiding this comment.
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: | ||
| # 그러나, 이것은 매우 낮은 수준의 표현이며 그래프에 포함된 대부분의 정보는 |
There was a problem hiding this comment.
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`` 속성을 사용하여 코드에 | ||
| # 대한 파이썬 구문 해석을 제공할 수 있습니다: |
There was a problem hiding this comment.
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: | ||
| # 그래서 우리는 **어째서** 이 모든 것을 했을까요? 여기에는 몇 가지 이유가 있습니다: |
There was a problem hiding this comment.
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)을 |
There was a problem hiding this comment.
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. | ||
| # 이러한 방식으로, 상황에 따라 스크립팅과 추적을 함께 사용할 수 있습니다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
상황에 따라 따로 사용하거나, 함께 사용할 수도 있습니다. 정도는 어떨까요?
| # 수 있습니다. | ||
| # | ||
| # Further Reading | ||
| # 추가 자료 |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
다른 문서와 조금 다른 포맷이기는 하지만,
이 문장 앞에 Author: 를 추가하고, 다음 줄에 번역: 으로 준혁님 성함과 GitHub(또는 홈페이지) 링크를 추가하시는 것은 어떨까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
빠르게 읽어보며 저의 주관적인 의견들을 덧붙여보았습니다. 일부 명시적으로 수정 요청을 드린 것들 외에는 참고만 해주셔도 좋을 것 같은데요, 확인해주시고 완료 여부 알려주시면 합치도록 하겠습니다. 감사합니다! (_ _)
|
리뷰 감사합니다! 확인하고 다시 알려드리겠습니다. |
|
리뷰를 반영하여 다시 commit 했습니다. 감사합니다! 😄 |
9bow
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
기여 감사합니다.
@bongmo @adonisues
혹시 추가 리뷰 진행 예정이시면 알려주시기를 부탁드립니다. 없으시면 합치겠습니다.
|
추가 리뷰는 없는 것으로 하고 병합하겠습니다. |
|
새로 빌드한 결과물을 https://tutorials.pytorch.kr/beginner/Intro_to_TorchScript_tutorial.html 에서 확인하실 수 있습니다. :) |
라이선스 동의
변경해주시는 내용에 BSD 3항 라이선스가 적용됨을 동의해주셔야 합니다.
더 자세한 내용은 기여하기 문서를 참고해주세요.
동의하시면 아래
[ ]를[x]로 만들어주세요.관련 이슈 번호
이 Pull Request와 관련있는 이슈 번호를 적어주세요.
이슈 또는 PR 번호 앞에 #을 붙이시면 제목을 바로 확인하실 수 있습니다. (예. #999 )
PR 종류
이 PR에 해당되는 종류 앞의
[ ]을[x]로 변경해주세요.PR 설명
이 PR로 무엇이 달라지는지 대략적으로 알려주세요.
https://pytorch.org/tutorials/beginner/Intro_to_TorchScript_tutorial.html
위 공식 페이지의 튜토리얼의 번역입니다.