pytoch를 살펴보면 가끔 (... , inplace=True) 를 볼 수 있다.이는 입력에 대해 copy 하지 않고 직접적으로 operation을 진행한다는 의미로 볼 수 있다.
torch.cat(tensors, dim=0, \*, out=None) → Tensortorch.cat은 tensor를 concatenate해주는 역할을 한다.
learning rate scheduler중에 대표적으로 사용하는 것 중 하나인 cosine-annealing-with-warmup 방법이 있다.또 스튜핏한 짓을 해버렸는데, epoch이 10짜리인 훈련에서 scheduler step을 epoch으로 가져가 버렸다.그러
Mixed precision은 뭘까 ?
torch.topk() 는 input tensor의 가장 높은 k 개의 value값들과 index를 뽑아주는 함수이다.
https://pytorch.org/docs/stable/generated/torch.nn.Linear.html새롭게 알게된 점Pytorch의 Linear layer 모듈은 오직 TensorFloat32 dtype만을 지원한다.
AdamW의 수도코드는 아래와 같다.
를 해주고 싶을 때 사용하면 된다.
Pytorch DataPrallel말 그대로 Data를 병렬적으로 처리하기 위한 module level에서의 multi gpu 사용 방법이다.진짜 간단한데 다음과 같은 코드 한줄로 병렬화를 할 수 있다.DDP에 비하면 정말 간단하다 !근데 귀찮게 Data를 나누는 이유
Pytorch를 가지고 모델을 훈련하다보면 가끔 GPU util이 제대로 나오지 않는 상황을 발견할 수 있다.여러가지 이유가 있겠지만, 가장 먼저 생각해볼 것은 GPU에 올리기 위한 CPU의 연산이 적절히 수행되고 있는가를 살펴볼 수 있을 것이다. 특히, Imagene
가끔 데이터를 쓰다보면torch.util.data.Dataset을 list를 통해 indexing 하고 싶을 때가 있을것이다.이를 위해torch.utils.data.Subset이 존재한다.이런식으로 사용하면, 내가 원하는 index를 가지는 데이터만을 데이터셋으로 불러
위 함수를 사용하면, 여러개의 데이터셋을 합칠 수 있다.
list 안에 이미 torch.Tensor이 있고, 그것들의 dtype이 CUDA일 경우, 이를 하나의 torch.Tensor로 변환하려면 torch.stack을 사용할 수 있습니다. 이 함수는 주어진 텐서의 리스트를 하나의 텐서로 쌓아줍니다.다음은 예제 코드입니다:p
CONV2DPytorch Conv2d linkConvolutional layer란 무엇인가 ?Convolutional network를 구성하는 layer를 의미하는데, 이미지 데이터를 위해 설계된 네트워크이다. 그러면 기존의 Fully connected layer와는
BatchNorm2d는 4D input (a mini-batch of 2D inputs with additional channel dim)에 적용되는데, Internal Covariate Shift는 줄여주는 역할을 한다고 함.코드는 아래와 같이 동작 시킬 수 있음$$
os.environ\["CUDA_VISIBLE_DEVICES"]= 사용하고자 하는 GPU
conda create -n ~ python=3.10 conda activate ~ conda install pytorch pytorch-cuda=11.8 -c pytorch -c nvidia conda install -c "nvidia/label/cuda-11.8.0" cuda-toolkit
torch.flatten(input, start_dim=0, end_dim=- 1) → Tensortorch.flatten 은 입력을 1차원 텐서로 reshape 해준다. start_dim과 end_dim을 입력해줄 수 있다.요런식으로 작동한다.start_dim을 설정
https://pytorch.org/docs/stable/generated/torch.optim.RMSprop.htmlRMSprop 수도코드는 아래와 같다.차근차근 위 내용을 설명해보자.일단 RMSprop이 왜나왔나부터 보면AdaGrad의 학습이 진행될 때 학
왜 얘만 deepspeed가 깔리냐