본문 바로가기
728x90
반응형

분류 전체보기352

[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에 해당한다. 참고: 다음 U.. 2024. 3. 21.
[Tensor] NaN Safe Aggregation Functions NaN (Not a Number) 값을 포함하는 Tensor 인스턴스에서 Aggregation Function을 사용할 때, NaN을 무시 또는 특정값으로 처리하는 기능을 제공하는 함수. NumPy 기존의 aggregaton function의 이름에 nan을 앞에 붙인 이름을 가지며, 수행 중 NaN을 무시함. 다음의 함수들이 대표적인 예임. np.nansum, np.nanmean, np.nanmax, np.nanmin, np.nanargmin, np.nanargmax, np.nanmedian, np.nanstd, np.nanvar, np.nanprod, np.nanquantile, np.nanpercentile PyTorch 역시, 기존의 aggregaton function의 이름에 nan을 앞에 붙인.. 2024. 3. 20.
[Tensor] vectorized op. (or universal func) Numpy에서 제공하는 ufunc. (Universal Functions)은 homogeneous and contiguous tensor 에서 모든 elements에 같은 연산을 적용하여 기존의 반복 loop에 기반한 연산에 비해 압도적인 속도를 보이면서 간편한 연산자 하나로 처리하도록 지원해줌. ufunc는 일종의 vectorized operation (or vector operation) 임. 실제로 ufunc은 homogeneous and contiguous에 최적화된 바이너리 구현물에 대한 binding이라고 볼 수 있음. Python interface가 제공되어 쉽게 사용가능하지만, 내부적으로는 C, C++등의 컴파일 언어로 만들어진 바이너리 구현물이 동작한다고 보면 된다. https://ds3.. 2024. 3. 19.
[ML] where: numpy 의 idx찾기 numpy에서 ndarray 인스턴스에서 특정 조건을 만족하는 elements의 위치(index, idx)를 찾는 기능을 numpy 모듈의 where 함수가 제공해줌. 기본적으로 numpy에서 index를 나타내는 방식은 각각의 축마다 해당 축에서의 index인 scalar 값들을 가지고 있는 개별의 1차원 ndarray 객체들을 item으로 가지는 tuple (sequence type이면됨)이 이용됨. 3차원의 ndarray에 대한 경우, 3개의 sequence type 인스턴스를 item으로 3개 가진 tuple이 where함수의 반환값이 됨 (당연히 item인 3개의 sequence 인스턴스는 같은 length를 가짐). 다음의 코드로 사용법을 확인할 것. import numpy as np r = .. 2024. 3. 19.
[DL] Tensor: Indexing <Simple, Slicing, Fancy, Boolean Mask> numpy나 pytorch, tensorflow의 텐서들도파이썬의 list 또는 tubple 에서의 indexing과 slicing이 거의 그대로 사용됨.2023.07.12 - [Python] - [Python] list (sequence type) : summary [Python] list (sequence type) : summarylist는 ordered mutable collection으로, collection을 위한 python data type들 중 가장 많이 사용된다. C에서의 array와 같이 가장 기본적인 collection임. 단, heterogeneous item을 가질 수 있으며, 여러 methods를 가지는ds31x.tistory.com 단, multi-dimension에서 squ.. 2024. 3. 18.
[matplotlib] patches: 도형 그리기. patches 는 모듈은 Artist 의 subclass인 Patch 클래스들을 제공하여, 다음의 다양한 2D 도형을 쉽게 그릴 수 있게 해줌. Arc (호), Circle (원), CirclePolygon (원의 근사 다각형), Ellipse (타원), Arrow (화살표), FancyArrow (모양 변경 기능이 좀 더 보강된 화살표), Rectangle (사각형), RegularPolygon (정규다각형), PathPatch 등등 다음 그림은 Artist와 Patch, 그리고 patches에서 실제 사용되는 다양한 도형을 추상화한 클래스간의 상속관계를 보여줌. 간단히 말하면, Patch는 face color와 edge color를 가지는 Artist 임. 예제: 원그리기. 간단하게 Circle을 이.. 2024. 3. 18.
728x90
반응형