본문 바로가기

분류 전체보기

(7)
6. PyTorch Model 구성 📌 Pytorch 모델 구성 방법PyTorch에서 torch.nn.Module을 상속받아 커스텀 모델을 구성하는 방법은 크게 두 가지가 있습니다.사전 학습 모델(Pretrained Model) 활용기존에 학습된 모델을 불러와 추가 학습(Fine-tuning)하거나 특정 레이어만 변경하여 사용하는 방식입니다.직접 모델을 정의하는 방식torch.nn.functional에 포함된 함수들을 활용하여 모델을 처음부터 직접 설계하는 방법입니다.이 두 가지 방식 모두 __init__ 함수와 forward 함수를 반드시 구현해야 합니다.__init__: 모델의 레이어를 정의하는 생성자 함수forward: 모델이 입력 데이터를 받아 연산을 수행하는 과정아래의 코드는 절대적인 코드가 아니며, 본인이 가진 데이터와 사용하..
5. PyTorch Dataset / DataLoader Custom Data를 구성해야 하는 이유PyTorch에서는 기본적으로 torchvision.datasets 모듈을 통해 여러 유명한 데이터셋(CIFAR-10, ImageNet, MNIST 등)을 바로 사용할 수 있습니다.하지만, torchvision.datasets에서 제공하지 않는 데이터를 사용하려면 Custom Dataset을 구성해야 한다.Custom Dataset을 구성하면 얻는 이점Custom Dataset을 사용하면 원하는 데이터 형식을 직접 정의하여 불러올 수 있다.transform을 활용하여 전처리를 쉽게 적용 가능.데이터셋을 동적으로 로드하고 변형하기 위해Custom Dataset이 필수 메서드로 가져야하는 것‘__init__’: Dataset 객체가 생성될 때 단 한번만 실행되는 메서..
4. PyTorch에서 제공하는 여러 함수 아래부터는 한 번씩 따라서 직접 코딩해 보시고, 실행 결과를 확인해 보시길 권합니다.PyTorch에서 제공하는 함수들은 입력 변수가 "Tensor 형태"여야 오류 없이 정상적으로 실행됩니다4.1 수학 관련 함수# 제곱근print(torch.sqrt(torch.tensor(9)))# 절대값print(torch.abs(torch.tensor(-1.3)))# 자연지수print(torch.exp(torch.tensor(1)))# 로그print(torch.log(torch.exp(torch.tensor(1)))) #자연로그print(torch.log10(torch.tensor(100)))print(torch.log2(torch.tensor(4)))보시는 것처럼 torch.log 함수는 자연로그(밑이 e)를 계산합..
3. Tensor Indexing, Slicing(텐서 인덱싱, 슬라이싱) 아래부터는 한 번씩 따라서 직접 코딩해 보시고, 실행 결과를 확인해 보시길 권합니다.3.1 Tensor Indexing# 1차원 dimension indexingx = torch.arange(1, 10)print(x)print(x[3])print(x[-1])# 1차원 dimension boolean indexingprint(x>5)print(x[x>5])# 1차원 dimension list indexingprint(x[[3,5,7]])# 1차원 dimension indexing된 element로 새로운 tensor 구성print(x[torch.tensor([1,3,4])])# 2차원 dimension indexingx = torch.arange(1,10).reshape(3, 3)print(x)# 1번 행..
2. Tensor 연산 아래부터는 한 번씩 따라서 직접 코딩해 보시고, 실행 결과를 확인해 보시길 권합니다.2. Tensor 연산tensor의 element-wise 덧셈 코드입니다.# tensor 덧셈 # 1D tensor 덧셈tensor_1 = torch.randn(3)tensor_2 = torch.randn(3)tensor_3 = torch.add(tensor_1, tensor_2)print(tensor_3)print(tensor_1 + tensor_2) # 2D tensor 덧셈tensor_1 = torch.randn(3, 3)tensor_2 = torch.randn(3, 3)tensor_3 = torch.add(tensor_1, tensor_2)print(tensor_3)print(tensor_1 + ten..
1. Tensor 생성 Pytorch란?Pytorch는 Facebook AI Research에서 개발한 오픈 소스 머신러닝 라이브러리Dynamic Computation Graph를 사용하여 runtime에 연산 그래프를 동적으로 구성CUDA를 활용하여 GPU 가속을 간편하게 적용 가능Python과 같이 쉽고 사용이 직관적Numpy와 유사한 Tensor를 이용다양한 딥러닝 모델 지원(CNN, RNN, Transformer 등)Hugging Face의 Transformers와 같은 다른 라이브러리와의 통합Tensor란?Tensor는 다차원 배열(Multi-dimensional array) 구조로, 선형대수학의 벡터 및 행렬을 확장한 개념Tensor는 Pytorch에서 데이터를 표현하는 기본 단위효율적인 연산 수행을 위해 Broad..
인공지능 대학원 준비 및 합격 후기 인공지능 대학원을 준비하는 분들이 많을것으로 예상되어 도움이 되고자 후기를 남겨봅니다.저는 석박통합으로 연세대, 한양대에 지원을 하였고 석사로는 성균관대, GIST, UNIST에 지원을 하였습니다.최종 합격은 한양대, 성균관대에 했습니다. 1. 준비 및 스펙저는 학부 3학년 시절부터 자대 연구실에 진학하며 자연스럽게 논문을 읽고 작성하는 경험을 쌓았고, 이를 계기로 대학원 진학을 결심하게 되었습니다. 연구실에서 인공지능을 본격적으로 공부하기 시작하며 Pytorch, Tensorflow, 인공지능의 기초 개념, 그리고 Foundation 모델 관련 논문 등을 학습했습니다.선형대수학과 확률통계 등 수학적 기초가 부족하다는 것을 느껴, 졸업 후 한학기 동안 수학 공부에 집중하였습니다. 이 과정에서 다양한 서적..