일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Overfitting
- back propagation
- 조합론
- object detection
- 크루스칼
- 이분 탐색
- tensorflow
- 자바스크립트
- c++
- 다익스트라
- lazy propagation
- 너비 우선 탐색
- DP
- BFS
- 우선 순위 큐
- dropout
- dfs
- NEXT
- 분할 정복
- pytorch
- 가끔은_말로
- 플로이드 와샬
- 문자열
- 백트래킹
- 가끔은 말로
- 미래는_현재와_과거로
- 2023
- 알고리즘
- 세그먼트 트리
- 회고록
- Today
- Total
목록전체 글 (549)
Doby's Lab
PyTorch 한국 사용자 모임 페이지를 통한 PyTorch 기본 스터디를 끝냈습니다 :) 아래 깃허브 리포지토리에서 공부한 코드 및 추가적으로 궁금한 부분들을 실험하여 정리해두었습니다. https://github.com/drawcodeboy/Study-PyTorch GitHub - drawcodeboy/Study-PyTorch: Pytorch 기본 스터디 목적 리포지토리 Pytorch 기본 스터디 목적 리포지토리. Contribute to drawcodeboy/Study-PyTorch development by creating an account on GitHub. github.com https://draw-code-boy.tistory.com/580 optimizer.step()은 정말 가중치를 건들..
🤔 Problem PyTorch의 Tensor는 requires_grad가 True로 되어있을 때, 변화도에 대한 연산의 추적을 가능하게 합니다. 즉, 각 Tensor에 대해서 .grad 속성과 .grad_fn 속성이 생깁니다. .grad는 현재 Tensor에 대해 목적함수가 얼마큼 변했나에 대한 변화도의 값, 즉 미분 값을 담고 있으며, .grad_fn은 이전 Tensor에 대해서 현재 Tensor를 미분해 줄 때, 어떠한 연산에 대한 미분을 해주어야 하는지 특정 연산에 대한 미분 함수 정보를 담고 있습니다. (값이 아닌 함수 정보임을 유의) 예를 들어, b = a + 2라면, b에는 a에 대해 미분을 할 때, 더하기 연산을 통해 생성이 되었으니 더하기 연산으로 만들어졌다는 것을 알고 있다는 뜻입니다...
🤔 QuestionPyTorch에서는 모델을 학습시킬 때, (특히 Back Propagation이 일어날 때) 아래와 같은 과정을 거칩니다. 1) optimizer의 종류와 learning rate에 따른 optimizer를 선언하면서 model의 parameter 값을 넘깁니다.2) .grad 속성 값을 optim.zero_grad()를 통해 초기화시킵니다. (.grad accumulate 방지)3) 그 다음, .backward()를 호출시켜서 각 Tensor의 .grad 속성을 갱신합니다. 4) 마지막으로, optimizer.step()을 통해서 각 Tensor의 업데이트를 진행합니다. 이 과정에서 궁금했던 부분은 '정말 실제 model의 가중치를 업데이트하는가?'였습니다. 너무나..
🤔 IntroPyTorch를 공부하다가 파이썬에서 OOP를 하게 되었습니다.예전에 파이썬에서 Class에 대해 공부한 것과 이번 학기에 학교에서 공부하게 된 객체지향프로그래밍(Java)을 통해 상속(inheritance)에 대한 개념을 알고 있었습니다.더 나아가 PyTorch 핸들링을 위해 파이썬의 상속에 대해 추가적으로 알게 된 점들을 정리해보고자 합니다.(+ 개념 정리 아닙니다. 개념에 대해서는 정리가 잘 된 부분들이 많기에 궁금한 부분들만 정리했습니다.) 해당 포스팅에서는 부모 클래스를 상속받는 자식 클래스의 Constructor(__init__ 메서드)에서 super().__init__()의 유무에 따른 차이를 알아봅니다.🤔 자식 클래스에서 super().__init__()을 하..
✅ Intro Medical AI 쪽으로 커리어를 만들어나가고 싶다 말하고, 드디어 처음으로 Medical AI 프로젝트를 해보았습니다. 이번 활동은 daiv에서 이루어졌으며, 저는 2023 Summer Challenge 기수로 참여했습니다. AI에 관심 있는 분들은 여기서 많은 활동을 해보시길 추천드립니다. 저에게는 많은 걸 얻어갈 수 있는 시간이었습니다. 아래 instagram 링크를 통해 Challenge 모집을 모니터링하시면 됩니다 :) https://www.instagram.com/team.daiv/ 이번 활동에서 저는 Data Engineering과 팀장을 맡았었으며, 전반적인 프로젝트를 기록하되 Data Engineering 중심적으로 기록해 보겠습니다. ✅ Category Intro Git..
https://www.acmicpc.net/problem/1431 1431번: 시리얼 번호 첫째 줄에 기타의 개수 N이 주어진다. N은 50보다 작거나 같다. 둘째 줄부터 N개의 줄에 시리얼 번호가 하나씩 주어진다. 시리얼 번호의 길이는 최대 50이고, 알파벳 대문자 또는 숫자로만 이루어 www.acmicpc.net Level: Silver III Solved By: Sort, ASCII 1. char to int 파이썬에는 char에 대한 ASCII를 반환해 주는 ord() 함수가 있습니다. ord는 Ordinal Position의 약자로 문자의 원래 위치를 의미한다고 합니다. 이 함수를 이용하여 ord('9') (9의 ASCII 값)를 넘지 않는, 즉 숫자인 문자에 대해서 ord('0') (0의 AS..
https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net Level: Gold V Solved By: String (split) 1. 문자열 split 입력이 까다로운 문제입니다. 파이썬에서는 이러한 문자열에 대해 핸들링을 할 수 있는 split()라는 함수가 있으며, delimiter를 ', '로 할당하여 분리를 해준 뒤에 맨 앞 원소와 맨 마지막 원소에 담겨있는 '[', ']'를 없애줍니다. 2. 모든 reverse를 처리하면 시간 초과다. 제가 알기로는 reverse 함수는 O(N)으로 알고 있습니다. ..
✅ Intro 2023 제1회 철도 인공지능 경진대회 열차 주행 안전성 진단을 위한 탈선계수 예측 모델 개발 경진대회를 개최합니다! aifactory.space 본 포스팅은 23.08.01 ~ 23.08.28의 대회 기간에 관한 로그입니다. 전역을 하면서 복학하기 전 1달 남은 시간 동안 어떤 것들을 해보아야 할지 고민을 하다가 AI 프로젝트의 전반적인 프로세스를 다시 한번 느껴보기 위해서 대회에 참여해 보아야겠다고 생각했습니다. 그리고, 처음으로 AI 대회를 나가는 것이기 때문에 경험적인 부분에서 더 스펙트럼을 넓힐 수 있고, 성적을 기대하기보다는 나의 부족한 부분들을 알아가 보자는 마음으로 임했습니다. 대회에 대한 정보는 동아리 친구들로부터 알게 되었으며 이 글을 통해 감사한 마음을 전합니다. 또한,..