https://velog.io/@olxtar/Torchvision-PIL-torch.Tensor-PIL-Image [Torchvision / PIL] torch.Tensor PIL Image PIL/Numpy Array/Torch Tensor 이미지끼리 변환하기 / torchvision.transforms.ToTensor() / torchvision.transforms.ToPILImage velog.io PIL이나 opencv로 이미지를 열때는 (height, width, channel) 순으로 shape를 가지게 된다 img = Image.open('/content/karina.jpeg') img2 = cv2.imread('/content/karina.jpeg') print(np.array(img).s..
1. model이 가지는 parameter 확인하기 model에 정의된 modules가, 가지고 있는 forward 계산에 쓰일 parameter tensor가 저장되어 있음 .state_dict(), .parameters() 함수를 이용하여 저장된 parameter를 볼 수 있음 .state_dict()는 무엇이 무엇의 parameter인지 확인 가능 .parameters()는 그냥 parameter를 출력해서 뭐가 뭔지 확인은 어렵다 parameter는 weight와 bias로 이루어져있다는 것을 알 수 있다 2. parameter tensor parameter는 tensor 기반의 class 그냥 tensor가 있고, grad를 가질 수 있는 parameter tensor라는 것이 있는거임.. 이거..
text classification 모델을 training할려고 하는데.. 익숙한 cuda error를 만났다 경험상 정확한 원인은 알 수 없고 tensor 타입이라든지 gpu cpu 안맞다든지.. 등등 여러가지 이유로 발생하는거고 CUDA_LAUNCH_BLOCKING=1 넣어보라는건 아무 효과도 없음 이런 경우는 가장 좋은건 데이터를 하나만 빼서 model에 넣어봐서 output을 하나만 계산해봐야함 그리고 저 에러만나면 런타임 다시 시작해야함 ------------------------------------------------------------------------------ 근데 뭐 여러가지 시도해봄 device에 torch.device("cuda:0")냐 torch.device("cuda")..
1. view 원소의 수를 유지하면서 tensor의 크기를 변경하는 방법 numpy의 reshape와 같은 역할 t = np.array([[[0,1,2], [3,4,5]], [[6,7,8], [9,10,11]]]) ft = torch.FloatTensor(t) print(ft.shape) torch.Size([2, 2, 3]) 1-1) 이제 ft tensor를 view를 사용해서 2차원 tensor로 변경 print(ft.view([-1,3])) #ft라는 텐서를 (?,3)의 크기로 변경 print(ft.view([-1,3]).shape) tensor([[ 0., 1., 2.], [ 3., 4., 5.], [ 6., 7., 8.], [ 9., 10., 11.]]) torch.Size([4, 3]) vie..
1. 연산 그래프 텐서플로우와 같은 최신 프레임워크를 사용하여 머신러닝 모델을 구축할 때 일반적으로 사용하는 구성 요소 보통 최신 프레임워크에서는 데이터를 tensor로 표현 tensor는 임의 차원의 배열을 나타내는 데이터 구조 파이썬의 numpy에서 사용하는, 이미지나 오디오 등 다양한 데이터를 나타낼때 데이터가 구조화 되었는지 여부와 상관없이 ndarray를 주로 사용하는데 이와 비슷하다 tensorflow를 포함한 최신 머신러닝 프레임워크는 머신러닝 모델이라는 것이 곧 tensor의 연산 그래프라는 사실을 보여준다. 연산그래프는 tensor의 조작이나 변환에 사용되는 체인으로 정의 2. 시각화 연산 그래프는 tensorflow를 포함한 최신 머신러닝 프레임워크의 핵심이고, 모든 종류의 수학적 구조..
1. pytorch 소개 딥러닝을 다루는 대표적인 라이브러리인 Tensorflow, Keras, Pytorch중 페이스북 인공지능 연구팀에 의해 개발된 라이브러리 Pytorch python의 언어 구조와 굉장히 유사하며, 간결함 내부적으로 Computed Unified Device Architecture(CUDA)와 CUDA based Deep Neural Network(cuDNN)라는 API(application programming interface)를 이용해 GPU(graphics processing unit)연산을 가능하게 하여 연산 속도가 월등히 빠르다. numpy와 autogradient와 function을 제공해주는 framework 데이터의 형태로, numpy 구조의 array를 받아 te..