배열 3

[딥러닝] PyTorch - Tensor

1. TensorTensor(torch.Tensor)Numpy의 배열(Array)와 행렬(Matrix)와 매우 유사한 구조Pytorch에서 scalar, vector, matrix, tensor 등을 표현하는데 사용 Pytorch의 Tensor는 GPU나 TPU같은 연산 가속을 위한 특수한 하드웨어에서 사용할 수 있다Backward Pass에서 계산된 Gradient(.grad)를 저장한다기본적으로 torch.Tensor에 어떤 operation (더하기, 곱셈) 등을 취하면 해당 operation이 Computational Graph에 기록된다 Tensor란?데이터를 표현하는 단위로, 다차원 배열의 일반화된 모습이다. Pytorch에서 Tensor를 가지고 연산을 수행하면, 해당 연산은 Computat..

[자료구조 in C++] 정적 배열(Array)

배열$($Array$)$란? 배열(Array)은 자료구조의 한 형태로, 동일한 자료형의 데이터를 연속적인 메모리 공간에 순차적으로 저장하는 구조이다. 배열은 다음과 같은 특징을 가지고 있다. 고정 크기: 배열을 생성할 때, 그 크기가 정해지며, 대부분의 프로그래밍 언어에서는 배열의 크기를 변경할 수 없다 인덱스 접근: 배열의 각 요소는 인덱스(또는 위치)를 통해 접근할 수 있다. 이 인덱스는 0부터 시작하여 $($배열의 크기$)$ - 1 까지의 값을 가진다 동일한 자료형: 배열에 저장되는 모든 요소는 동일한 자료형이어야 한다. 예를 들어, 정수형 배열에는 정수만 저장할 수 있다. 자료구조에서의 Array std::array는 메모리를 자동으로 할당하고 해제한다. std::array는 원소의 타입과 배열 ..

[자료구조 in C++] 연속된 자료구조와 연결된 자료구조

자료구조의 중요성 응용 프로그램을 설계할 때 데이터 관리는 필수적 요소이다. 특히, 요즘 빅데이터 시대라고 불리는 만큼 데이터 관리는 더욱더 중요하게 고려되어야 할 항목이다. 프로그래머는 데이터를 메모리에 저장하기 위해 여러 자료 구조를 활용할 수 있다. 프로그램에서 필요한 기능을 구현하고, 동작 성능과 안정성을 확보하려면 적절한 자료구조$($Data Structure$)$ 를 선택하여야 한다. 자료구조는 크게 연속된 자료구조와 연결된 자료구조로 분류할 수 있다. 시간 복잡성$($Time Complexity$)$ 데이터를 처리하기에 앞서 데이터를 어떠한 형태로 저장할 것인가가 결정되어야 한다. 이를 결정하기 위한 적합한 지표들이 몇 가지 있는데, 대표적으로 알고리즘 복잡도 혹은 시간복잡도$($Time C..