AI Basic
-
deep learning 기초 정리AI Basic 2023. 9. 13. 01:41
아래 예를 통해서 deep learning 기초를 배워보자! 책이서 배웠던 내용을 하나하나 짧은 시간에 실습하면 익힐 수 있어서 참 좋다. https://github.com/karpathy/lecun1989-repro/ x = torch.relu(x) 만 변경해보자 맨 마지막은 변경하지 않는것을 잊지 말자! 별로 성능향상이 크지 않는 것을 알 수 있다. relu 자체가 gradient vanishing을 없애기 위해서 도입된것을 생각해보면 당연한 이치이다. 네트워크가 크지 않으므로 vanishing 될것이 없다. 23 eval: split train. loss 1.838940e-02. error 0.93%. misses: 67 eval: split test . loss 3.550898e-02. error..
-
python 기초 정리AI Basic 2023. 9. 11. 01:44
https://github.com/karpathy/lecun1989-repro/ > torch.Size([12, 1, 5, 5]) 의 출력이 나온다. 3. assert 기능 사용 내가 뭔가 확인하고 틀린 경우 assert를 이용해서 개발자에게 알려준다. https://wikidocs.net/21050 03_가정 설정문(assert) assert는 뒤의 조건이 True가 아니면 AssertError를 발생한다. ``` >>> a = 3 >>> assert a == 2 #결과 Traceback (most r… wikidocs.net 여기서는 element크기 체크 용으로 사용하고 있다. true 이면 그냥 넘어가고 false인경우 에러가 발생한다. assert self.H2w.nelement() + self..
-
심층 신경망: 33년 전과 지금 33년(by Andrej Karpathy)AI Basic 2023. 9. 3. 02:41
딥러닝에대해서 잘 모르는가? 초보자인가? 이 글을 읽고 소스코드를 이해해보자! 상당한 도움이 된다. 즉 상당히 좋은 글이다. 특히 초보자인 나한테는 Karpathy의 코드 스타일을 볼 수 있어서 너무 좋았다. 아래 글을 읽으면 여러가지를 읽힐 수 있다. 1. Augmentation - 데이터 증폭 if self.training # 래덤하게 -1,0,1을 얻는다 shift_x, shift_y = np.random.randint(-1, 2, size=2) # 랜덤하게 얻은 -1,0,1중 한 값을 dim 2,3 즉 height, width방햐으로 shift시킨다 x = torch.roll(x, (shift_x, shift_y), (2, 3)) 2. dropout이 어떻게 사용되는지 알 수 있습니다. x = F..
-
yolov5 모델로 보행자 사람 자전거만 탐지하기/검증파일 실행해보기.AI Basic 2023. 3. 22. 02:03
transfer learning을 공부하기 위해서 yolo를 공부하고 있음. https://freddiekim.tistory.com/16 Transfer Learning Tutorial(전이학습) 전이학습이 어떤 방식으로 이루어 지는지 궁금해서 아래 예제로 공부하면서 코드를 작성해봤다. 재사용을 위해서 리팩토링을 했므으로 같은 함수이다. 출저 : https://9bow.github.io/PyTorch-tutorials-kr-0 freddiekim.tistory.com 위 예에서 난 resnet을 이용해서 250장 정도 train데이터를 이용해서 90%이상 벌과 개미를 구분하는 네트워크를 만들었음. 이번에는 coco데이터로 학습되어 있는 네트워크를 이용해서 난 사람,자전거,보행자만 탐지하고 싶고 적은 장수..
-
yolov5 실행하기AI Basic 2023. 3. 18. 02:19
앞에서 transfer learning을 통해서 잘되는것을 확인했다. 요약을 하면 출력이 1000개인 resnet 모델을 이용해서 벌과 개미를 구분하기 위해서 학습데이터 약 250개 검증데이터 150개 정도를 사용해서 90%이상 구분하는 네트워크를 만들어 보았다. 잘 학습이되었을때는 98%까지 검증데이터에서 되는것을 확인하였다. yolov5는 실행해 보기 엄청 쉽다. https://github.com/ultralytics/yolov5 사이트에서 git clone해서 다운 받고 ### prerequisite git clone https://github.com/ultralytics/yolov5 # clone cd yolov5 pip install -r requirements.txt # install 위 코드..
-
Transfer Learning Tutorial(전이학습)AI Basic 2023. 3. 12. 01:04
전이학습이 어떤 방식으로 이루어 지는지 궁금해서 아래 예제로 공부하면서 코드를 작성해봤다. 재사용을 위해서 리팩토링을 했므으로 같은 함수이다. 출저 : https://9bow.github.io/PyTorch-tutorials-kr-0.3.1/beginner/transfer_learning_tutorial.html 전이학습(Transfer Learning) 튜토리얼 — PyTorch Tutorials 0.3.1 documentation 이 튜토리얼에서는 전이학습(Transfer Learning)을 이용하여 신경망을 어떻게 학습시키는지 배워보겠습니다. 전이학습에 대해서 더 알아보시려면 CS231n 노트 를 읽어보시면 좋습니다. 실제로 충분한 9bow.github.io 나는 위 예제가 가장 좋은것 같다. 그래..
-
Transformer가 transfer learning에 적합한 이유.AI Basic 2023. 3. 7. 01:16
chat gpt에게 transformer가 transfer learning에 적합한 이유를 물었더니 아래 처럼 대답해줬다. 직관적으로 잘 말해주는것 같다. Transformer 모델은 transfer learning에 적합한 모델 중 하나입니다. 이는 다음과 같은 이유로 설명될 수 있습니다: Pre-training with large amounts of unlabeled data: Transformer 모델은 주로 대규모 텍스트 데이터를 사용하여 사전 학습됩니다. 이를 통해 모델은 텍스트 데이터의 다양한 특징과 구조를 파악하고, 다양한 태스크에 적용할 수 있는 범용적인 텍스트 임베딩을 학습할 수 있습니다. Self-attention mechanism: Transformer 모델은 자기 어텐션 메커니즘(s..
-
conda yml 만드는 법(feat. 많이 설치되어 있다고 쫄지 말자)AI Basic 2023. 2. 13. 01:22
conda env create -f environment.yml 보통 yml 설치 파일이 제공 되고 위 명령어를 통해서 설치한다. 그러나 python 버전을 변경하고 했는데 종속성 때문에 잘 안될때가 있다. 내 경우는 디버깅 때문에 3.6 에서 3.7로 업그레이드하고 싶었는데 계속 안되었다. 그래서 만들기로 했는데 실제로 몇개 명령어를 치지 않았지만 yml 에는 수많은 툴들이 깔려 있었다. 즉 툴 많이 설치되어 있다고 이런 많은 라이브러리를 사용해야 하나? 하면서 쫄지 말자.... https://pytorch.kr/get-started/previous-versions/ 참조해서 conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cu..