Week09 Day43

torch.nn.Module torch.nn.Module은 pytorch에서 모델을 만드는데 기본이 되는 class이며 상속하여 원하는 모델을 구현한다. 이 class에 대해서 좀 더 알아봐야겠다. 나중에 추가… daily mission import torch.nn as nn class BasicBlock(nn.Module): def __init__(self, in_channel: int, out_channels: [int, int]): super(BasicBlock, self).__init__() out1, out2 = out_channels self.co...

더보기

Week09 Day42

위 과정은 문제를 정의하고 어떤 데이터를 수집할 것이며 이 데이터에는 어떤 특성이 있고 전처리를 한 후 모델링을 하고 학습하는 과정을 나타낸다. 이 중 어떤 부분이 가장 시간을 많이 사용할까? 전처리(pre-processing) Data preprocessing is an important step in the data mining process. The phrase “garbage in, garbage out” is particularly applicable to data mining and machine learning projects. Data-gathering methods are often loos...

더보기

Week09 Day41

P stage 첫날이다. 앞으로 2주간 image classification을 진행한다. competition 형태로 운영되며 네이버 클라우드 플랫폼에서 24시간 사용할 수 있는 GPU를 지원해줬다. U stage는 교수님들이 주로 강의를 해주었지만 P stage부터는 현재 현업에서 일하고 계시는 분들이 강의를 해주신다. 그래서 좀 더 실용적인 내용을 배울 것으로 기대하고 있다. EDA(Exploratory data analysis) In statistics, exploratory data analysis is an approach to analyzing data sets to summarize their ...

더보기

P stage 시작 전

내일부터 P stage 시작이다. 3개월동안 4개의 프로젝트를 한다. 첫 프로젝트는 모두가 같이 하고 2, 3, 4는 각자 선택한 프로젝트를 진행한다. 1, 2 프로젝트는 개인으로 활동하고 3, 4는 팀별 프로젝트이다. 만약 선택한 프로젝트의 신청 인원이 너무 많으면 임의로 옮겨질 수 있다고 했는데 다행이 신청한 프로젝트로 배정받았다. 나는 computer vision으로 진로를 선택했다. 그와 관련된 프로젝트를 선택했고 현재 object detection 공부를 하고 있다. P stage 전 1주일 쉬는 기간동안 관련 공부를 다 하려고 했는데 그러지 못했다… 쉬고 싶었다… 현재 faster R-CNN 정리를...

더보기

Last U stage

오늘은 U stage 마지막 날이다. 지난 특강 주에서 3.1절에 하지 못한 강의를 오늘 진행했다. Upstage.ai의 김성훈 대표님의 특강을 해주셨다. 좋은 인재가 되려면 어떻게 해야 되는가, 좋은 인재상이란 그리고 대표님의 대학시절부터 현재까지 모습을 대략적으로 들었다. 들으면서 느낀 점은 좋은 인재가 되는 것은 정말 힘들구나 라고 생각했다. 억지로 누군가 제시한 인재상이 되려고 집착하니까 힘들어진다고 생각된다. 그냥 나의 개성을 살려서 좀 더 특별한 사람이 되어야겠다고 다짐했다. 마지막으로 대표님이 우리들에게 하고 싶은 말은 포기하지 말고 끝까지 해라. 끝까지 하면 후회없다. 라고 해주셨다. 오늘 90분동...

더보기

Week08 Weekend

8주가 지났다. 배운 것도 없는데 벌써 2달이 지났다. 23~28일까지 쉬고 다음 주 29일부터 P stage 시작이다. 쉬는 기간동안 그간 미뤘던 공부를 해야 된다. 반드시 해야 된다… 8주차는 이상하게도 머리가 너무 아파서 공부를 많이 못했다. 일찍 잤다… 심지어 주말도 놀았다… 앞으로 더 놀면 난 진짜 망한다… 8주차 학습정리 많이 밀렸다… P stage는 4개의 프로젝트가 있는데 1, 2는 개인, 3, 4는 팀 프로젝트이다. 뭘 할지 정했고 그거에 맞춰서 쉬는 기간동안 공부할 생각이다. 아쉬운 것은 P stage에 대한 posting을 하지 못한다는 것이다. U stage 끝난 기념으로 팀원끼리 롤링 페...

더보기

Week08 Day39

mini-code print(0.1 + 0.2, 0.1 + 0.2 == 0.3) # 0.3 False val = 0 for _ in range(10): val += 0.1 print(val, val == 1.0) # 0.999999 False 이번 mini-code는 정밀도(precision)에 대한 것이다. 컴퓨터는 모든 수를 2진수로 나타내는데 0.1이나 0.2는 유한소수이지만 2진수로 나타내면 무한소수가 된다. 고정된 길이의 비트를 사용하기 때문에 소수를 정확하게 표현하지 못할 수 있다. 실제로 0.1과 0.2를 소수점 30자리까지 출력해보면 다음과 같이 부정확하다는 것을 알 수 있다. a = 0.1 b...

더보기

Week08 Day36

mini-code a = 256 print(a is 256) # True b = 257 print(b is 257) # False is는 주소값을 비교하고 ==는 값을 비교한다. -5~256의 정수는 자주 사용한다고 생각하여 메모리에 미리 할당했다. 그래서 변수에 위 값을 할당하면 새롭게 값을 할당하는게 아니라 미리 할당되어 있던 주소를 가리킨다. 그래서 위 코드를 보면 print(a is 256) 은 True가 출력된다. a는 메모리 어딘가 256이 저장된 주소를 가리킨다. b에 257이 저장되며 print(b is 257)은 서로 가리키는 주소가 다르므로 False가 나온다. 1주차에 위 코드에 대해 배웠다....

더보기