torch 예제

이 자습서에서는 독립적인 예제를 통해 PyTorch의 기본 개념을 소개합니다. 이 예제에서는 nn 패키지를 사용하여 2계층 네트워크를 구현합니다. 그렇다면 이 단계별 자습서를 계속 읽어야 하는 이유는 무엇입니까? 위의 PyTorch 오토 그라드 예제와 는 대조적으로, 여기에 우리는 간단한 2 층 그물에 맞게 TensorFlow를 사용합니다 : 이 게시물은 내가 그것을 쓰기 시작했을 때 예상했던 것보다 훨씬 길었지만, 나는 그것을 다른 것으로 만들지 않을 것입니다 – 나는 그것이 필요한 단계 중 대부분을 가지고 있다고 믿습니다. eds는 PyTorch를 사용하여 딥 러닝 모델을 개발하는 방법을 구조화되고 증분방식으로 배우기 위해 쓰루로 이동합니다. PyTorch 텐서의 동작은 NumPy의 배열과 유사합니다. 바라건대, 이 게시물의 모든 코드를 통해 작업을 완료 한 후, 당신은 더 나은 감사하고 더 쉽게 PyTorch의 공식 자습서를 통해 귀하의 방법을 작동 할 수 있습니다. PyTorch를 사용하면 이 기능을 확장하고 사용자 정의 손실 함수를 작성하는 것이 매우 쉽습니다. 우리는 아래와 같이 우리 자신의 교차 엔트로피 손실 함수를 작성할 수 있습니다 (NumPy-esque 구문 참고): PyTorch를 도입하기 전에 먼저 numpy를 사용하여 네트워크를 구현합니다. 나는 제로 브랜 스튜디오LUA와 토치로 시작하는 좋은 IDE로 발견했다.

ZeroBrane 내에서 토치를 실행하기 위해 다음 단계가 유용합니다. 예를 들어, 토치가 차원(배치, 채널, 높이, 너비)과 함께 작동하므로 다른 순서를 사용하면 개별 레이어에 문제가 발생할 수 있습니다. 이 최소한의 예에 따라 컨볼루션 레이어 카탈로그를 참조하여 보다 복잡한 컨볼루션 네트워크를 구성할 수 있습니다. 잠깐만 기다리세요… 나는이 튜토리얼은 PyTorch에 대한 생각! 토치.nn.Module 클래스를 하위 분류하여 PyTorch에서 모델을 정의할 수 있습니다. 모델은 두 단계로 정의됩니다. 먼저 모델의 매개변수를 지정한 다음 입력에 적용되는 방법을 간략하게 설명합니다. 학습 가능한 매개 변수(ReLU, maxpool와 같은 작업)를 포함하지 않는 작업의 경우 일반적으로 torch.nn.functional 모듈을 사용합니다. 여기에 여기에서 빌린 단일 숨겨진 계층 신경망의 예입니다:이 단계에서 당신은 train.py evaluate.py 코드의 대부분을 이해할 수 있어야합니다 (우리가 데이터를 가져 오는 방법을 제외하고, 우리는 후속 게시물에 올 것이다).

손실을 주시하는 것 외에도 정확도 및 정밀도/리콜과 같은 다른 메트릭을 모니터링하는 것도 도움이 됩니다. 이렇게 하려면 모델/net.py 파일에서 모델 출력 일괄 처리에 대한 고유한 메트릭 함수를 정의할 수 있습니다. 쉽게 하기 위해 PyTorch 변수를 Metric 함수로 전달하기 전에 PyTorch 변수를 NumPy 배열로 변환합니다. 손실 함수의 섹션에 설정된 다중 클래스 분류 문제의 경우 NumPy를 사용하여 정확도를 계산하는 함수를 작성할 수 있습니다. 유용 (또는, 전혀!) 그것에, 그것은 잘 개념을 보여줍니다. 간단하지만 실제 데이터 집합을 고려하여 예제를 쉽게 확장할 수 있습니다. 또한 다른 컨테이너와 레이어, 활성화 함수 및 기준의 큰 카탈로그를 고려하여 보다 복잡한 모델을 정의할 수 있습니다. 토치는 확장하기 쉽습니다 – 단순히 carpedm20 / 멋진 토치 컨설팅은 연구에서 최신 네트워크를 구현하는 많은 흥미로운 저장소로 이어질 것입니다. 그러나 가장 일반적인 경우에는 사용자 지정 기준 및 사용자 지정 모듈 작성(예: