본문 바로가기

AI Theory/DL Basic8

HuggingFace custom dataset 저장하는 방법 이번에 수업에서 image classification project를 하다보니 colab으로 매 번 개별 이미지 파일들을 dataset으로 만드는게 시간도 오래걸리고, 무엇보다 vscode에서 사용하기 어려울 것 같아 불편하였다. 예전에 프로젝트를 할 때 huggingface dataset에 올려놓고 사용한 적이 있었는데, 그 방법을 다시 상기시킬 겸 적어보려한다. (사실 아래 링크에 매우 자세한 방법이 나와있습니다. 영어가 편하신 분들은 공식 레포를 읽는 것이 더 도움 될 수 있습니다!) https://huggingface.co/docs/datasets/image_dataset Create an image dataset There are two methods for creating and sharing.. 2023. 6. 18.
[Pytorch] hook은 왜 있는 것일까? 0. 들어가기에 앞서 Hook을 이용하여 기존 Class 바탕의 코드를 작성할 필요 없이 상태 값과 여러 React의 기능을 사용할 수 있습니다. - reactjs Hook(후킹)은 소프트웨어 공학 용어로, 운영 체제나 응용 소프트웨어 등의 각종 컴퓨터 프로그램에서 소프트웨어 구성 요소 간에 발생하는 함수 호출, 메시지, 이벤트 등을 중간에서 바꾸거나 가로채는 명령, 방법, 기술이나 행위를 말한다. (위키백과) 이렇게 말하면 조금 어려울 수 있는데, 쉽게 말해서 프로그램의 실행 로직을 분석하거나 프로그램에 추가적인 기능을 제공하고 싶을 때 사용되는 것 것이 hook이라고 생각하면 된다. pytorch 뿐만 아니라 react,C# 등에서도 자주 사용되는 방식으로 이번 포스팅에서는 hook이 무엇이고, py.. 2022. 9. 29.
[Pytorch] torch.nn.Module에는 어떤 method가 있을까? torch.nn.Module 은 여러 기능을 모아두는 상자 역할을 한다. 하나의 nn.Module 상자가 여러 pytorch의 기능을 모아둘수도 있고, 다른 상자를 포함할수도 있다. 공식 Document 에 올라와있는 nn.Module의 여러 기능을 살펴봐보자. add_module( name, module ) 현재 모듈에 자식 모듈 추가 apply( fn ) 모든 하위 모듈에 fn 함수 적용 (ex : parameters초기화) bfloat16( ) 모든 부동 소수점 parameters와 buffers를 bfloat16 type으로 캐스트 double( ) 모든 부동 소수점 parameters와 buffers를 double type으로 캐스트 half( ) 모든 부동 소수점 parameters와 buff.. 2022. 9. 29.
[Pytorch] torch.gather vs torch.Tensor.scatter_ (pytorch 인덱싱 방법) torch.gather과 torch.Tensor.scatter_은 그 형태가 매우 유사하여 비교하면서 정리해보면 더 쉽게 이해할 수 있다. 우선 torch.gather부터 보기 전에 파이토치에서 인덱싱을 어떻게 하는지부터 살펴보자. 1. index_select (파이토치 인덱싱) 파이토치에서 인덱싱은 기본적으로 index_select 함수를 사용한다. 💡 참고로 pytorch에서의 dim은 numpy에서의 axis로 생각하면 된다. torch.index_select(input, dim, *, out = None) → Tensor Parameters input ( Tensor ) - 입력값 dim ( int ) - 인덱스 할 기준 차원 index ( IntTensor or LongTensor ) - 인덱싱.. 2022. 9. 29.
딥러닝을 위한 경사하강법(Gradient Descent) Reference : 네이버 부스트캠프 AI Tech 교육 자료 1. 경사하강법이란? 경사하강법(Gradient Descent)은 미분값을 이용해 어떤 함수의 극소값(최소점)을 찾아가는 최적화 알고리즘이다. 위키백과에 따르면 미분(微分, 영어: derivative) 또는 도함수(導函數)는 어떤 함수의 정의역 속 각 점에서 함숫값의 변화량과 독립 변숫값의 변화량 비의 극한 혹은 극한들로 치역이 구성되는 새로운 함수다. 이러한 정의는 우리가 고등학교에서 배웠듯, 다항함수, 삼각함수와 같은 함수의 특정 점에서의 순간 기울기를 구하는데 사용된다. 경사하강법에서 사용되는 미분의 의미 역시 거의 비슷하다. 미분은 변수의 움직임에 따른 함수값의 변화를 측정하기 위한 도구로 최적화(Optimization)에서 제일 많.. 2022. 9. 23.
Inception v1,v2,v3,v4는 무엇이 다른가 (+ CNN의 역사) - References https://youngq.tistory.com/40 https://junklee.tistory.com/111 https://medium.com/@msmapark2/vgg16-%EB%85%BC%EB%AC%B8-%EB%A6%AC%EB%B7%B0-very-deep-convolutional-networks-for-large-scale-image-recognition-6f748235242a https://velog.io/@whgurwns2003/Network-In-NetworkNIN-%EC%A0%95%EB%A6%AC Neural Networks - Networks in Networks and 1x1 Convolutions https://deep-learning-study.tistory.c.. 2022. 3. 30.