리스트 예시: 게시물이 존재할 경우 3건을 노출합니다.
-
NumPy
Shallow Copy v.s. Deep Copy
넘파이 배열을 사용하다보면 변수를 지정하는 방법에 따라, 변수에 저장된 값이 변동이 되는 경우와 되지 않는 경우로 나뉜다. 기본 적으로 특정 ndarray를 가리키는 변수를 다른 변수에 대입하게 되면, 2개의 다른 변수가 하나의 ndarray를 가리키게 되는데, 이 대입을 하는 방식에서 얕은 복사(Shallow Copy)와 깊은 복사(Deep Copy)의 2가지 형태로 나뉠 수 있다. 배열의 shape을 바꾸거나 슬라이싱을 할경우 원본 ndarray의 데이터를 공유하는 새로운 ndarray 객체를 생성하는데, 우리는 이를 보고 얕은 복사라고한다. 만약 원본 ndarray와 값을 공유하지 않고 별도의 객체 메모리를 가지고 싶다면, .copy() 메소드를 사용하도록 한다.
-
NumPy
넘파이 배열(ndarray)이란?
넘파이 배열은 N차원의 배열 객체의 형태이며, 하나의 넘파이 배열 내에서는 모든 원소에대해 동일한 데이터 형태를 지니며, 차원(Dimension)을 뜻하는 축(Axis)의 개념이 빈번하게 사용된다. 넘파이 배열은 기본적으로 실수 형태의 데이터 저장할때는 'Float 64'로 정수형태의 데이터를 저장할때는 'Int 32'로 저장이된다. 실수 형태의 원소를 정수 형태로 변환할 경우에는 소수점 이하가 버림되고 변환된다. Tip!> 'ndarray.dim': N차원 배열의 차원의 수를 반환함. 'ndarray.shape': N차원 배열의 각 축 방향에 대한 차원 크기를 튜플형식으로 반환함. 'ndarray.dtype': N차원 배열의 원소에 대한 데이터 형태를 반환함. 'ndarray.size': N차원 배열에..
-
PyTorch
PyTorch 학습 모델 저장 및 불러오기
딥러닝 학습이 이루어진 모델의 파라미터를 저장하고, 다시 이를 불러와서 학습 모델에 입력하는 방법은 다음의 코드를 통해 이행할 수 있다. 다만 주의 해야할 점은, 학습 파라미터를 저장하고 불러올 때, 해당 변수가 GPU상에 존재하는지 아니면 CPU상에 존재하는지를 유념해두고 저장 및 불러오기 절차를 거쳐야한다. 딥러닝을 학습할때는 대부분 GPU가 있다는 전제하에서 진행되나, CPU로만 진행될 수도 있으므로 이부분을 꼭 기억하자!!! (P.S. pickle_protocol=4 는 Python 버전 3.4 이후에서부터 구현된 기능으로 큰 객체를 효율적으로 저장하게해줌.)
갤러리 예시: 게시물이 존재할 경우 4건을 노출합니다.