본문 바로가기
728x90
반응형

Python286

[Python] Enum (열거형, Enumeration Type) Enum은 Enumeration type의 abbreviation. 한정된 수의 가능한 값을 value로 가질 수 있는 데이터 타입 을 가르킴.(보통 프로그래머가 가질 수 있는 값들의 집합을 정의해줌.) 프로그래밍에서 Enum을 사용하면 코드의 가독성과 안정성이 향상됨. 요일, 월, status code 등과 같이 한정된 갯수의 고정된 상수들 중에서 value 가 선택 되는 variable 을 위해 Enum이 사용됨. Enum을 사용하면 "다양한 값을 가지는 int, float나 str 을 사용하는 경우"보다 오류 가능성이 줄어들며,프로그래머가 해당 타입의 variable이 가질 수 있는 값의 범위를 보다 명확하게 이해할 수 있도록 해줌. PyQt 또는 PySide 등과 같은 GUI 라이브러리에서 정렬의.. 2024. 3. 24.
[OOP] Example: MObject, Point, and Class 그려지는 객체를 추상화한 MObject 를 super-class로 하고, "점"을 추상화한 Point 클래스와 Point 클래스를 상속하여 "원"을 추상화한 Circle 클래스를 간단히 만들어 봄. 사실 Circle 클래스는 Point 클래스와 is-a 관계 보다는 has-a 관계가 어울리지만, 연습을 위해서 만들어 봄. Environment matplotlib를 사용하여 그릭기 때문에 해당 라이브러리는 설치되어야 함. (Test 된 환경은 Python 3.12.1과 matplotlib 3.8.3임.) Files src 파일들의 구성은 다음과 같음. oop_test.py oop ├── Circle.py ├── MObject.py └── Point.py oop_test.py test를 위한 main scr.. 2024. 3. 23.
[DL] PyTorch: Autograd (Basic) Autograd 사용하기.Autograd는reverse mode automatic differentiation을 구현하여backpropagation을 자동으로 수행하는 도구임.https://dsaint31.me/mkdocs_site/ML/ch08/back_propagation/ BMEBack propagation (역전파, 오차 역전파) 딥러닝 모델을 학습시키기 위한 핵심 알고리즘. Back propagation은 다음 2가지를 조합하여 ANN을 학습시킴. "Reverse-mode AutoDiff" (Reverse-mode automatic differentiation) "Gradiendsaint31.me PyTorch에서는 autograd는 tensor와 함께 핵심 구성요소로, 모든 tensor 연산의.. 2024. 3. 22.
[DL] PyTorch: view, data, and detach PyTorch에서 tensor.view()와 tensor.data를 제공하며 이들은 다음과 같은 용도로 사용됨.tensor.view()tensor.view(*shape) 메서드는 tensor 인스턴스의 dimension을 수정하는데 사용됨.이 메서드는 새로운 shape를 가진 같은 데이터의 새로운 tensor 인스턴스를 반환하지만, 원본 tensor 인스턴스와 underlying memory를 공유하여 같은 데이터를 공유함.즉, 메모리를 재할당하지 않고 tensor의 shape와 각 축의 stride만이 바뀜.view()를 사용할 때 반환되는 tensor 인스턴스는 기본 텐서 인스턴스와 데이터를 공유하기 때문에,하나를 변경하면 다른 하나도 변경됨.이는 Nueral Network를 구축할 때, 각 laye.. 2024. 3. 22.
[DL] PyTorch: TPU사용하기 - XLA https://github.com/pytorch/xla GitHub - pytorch/xla: Enabling PyTorch on XLA Devices (e.g. Google TPU)Enabling PyTorch on XLA Devices (e.g. Google TPU). Contribute to pytorch/xla development by creating an account on GitHub.github.com 다음 문서도 참고할 것.https://github.com/pytorch/xla/blob/master/API_GUIDE.md TPU로 PyTorch를 사용하기 위해서는 PyTorch / XLA 를 이용한다. PyTorch/xla의 정의 다음과 같음:“intermediate backend ena.. 2024. 3. 21.
[DL] Storage: PyTorch 텐서를 위한 메모리 관리 Storage는 Tensor 인스턴스의 실제 데이터가 저장되는 1D Numerical Array를 관리함.여러 Tensor 인스턴스들이 같은 storage를 공유할 수 있음. Storage는memory에서 contiguous data block를 관리하며,컴퓨터의 memory에서 homogeneous and contiguous array의 특징상 1D 임.cpu 또는 gpu 등의 memory의 실제 data가 저장된 contiguous block을 관리.다양한 shape의 Tensor 인스턴스들은 자신의 storage인스턴스를 통해 data block을 관리함.어찌 보면 Tensor 인스턴스들은 고유한 shape, stride, offset 을 가진 일종의 View에 해당한다. 참고: 다음 URL에서 c.. 2024. 3. 21.
728x90
반응형