일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Python
- 모두를 위한 딥러닝
- 백준
- reinforcement learning
- object detection
- 프로그래머스
- coding test
- computer vision
- 논문
- 알고리즘
- 내용추가
- Today
- Total
목록전체 글 (41)
NISSO
label은 알아도 ground-truth는 CBIR 공부하면서 처음 알게 됐다. 위의 사진을 보자. 이게 뭘까? '바지'라고 답한 사람도 있을 것이고, '슬랙스', '검은 슬랙스', '신발', '하반신' 등 여러가지 답이 나올 것이다. 1 이라는 숫자를 봤을 때, 객관적인 정답 1은 label이다. ground-truth는 내가 원하는 답이다. 이 사진을 '검은 슬랙스' 라고 알고리즘이 분류하길 바라면 '검은 슬랙스'가 ground-truth가 되는 것이다.
구글이나 네이버 등에서 제공하고 있는 서비스 중, 이미지 검색이 있다. 이미지 파일이나 이미지 URL을 입력하면 유사한 이미지를 검색해주는 서비스다. 이 기술이 Content-based Image Retrieval (CBIR), 즉 컨텐츠(내용) 기반 이미지 검색이고, CNN을 사용한다. 기존의 텍스트 기반 검색이 아닌, 이미지를 구성하고 있는 feature들의 유사도를 기반으로 이미지를 검색하는 것이다. 두 가지 유형이 있다. 1. category-level retrieval 2. instance-level retrieval 예를 들어, 올림픽대교 이미지를 입력했을 때 '다리' 이미지가 어느 것이든 검색되면 category-level, 올림픽대교 이미지만 검색되면 instance-level의 검색이다...
너무 내 얘기만 일기처럼 써서 새로 게시글을 쓴다. 내가 지원할 때는 1기 진행 중이라 정보가 거의 없었기 때문에, 혹시 보게 될 분을 위해... 조금이나마 도움이 되길 바라며 써봅니다. 잡담은 최대한 줄이고 내가 궁금했던 정보들 위주로, 기억나는대로 작성해보겠다. 1,2차 후기에 앞서 전 글에도 썼지만 개인적으로 합격에 가장 중요한 건 코딩테스트인 것 같다. * 여기서 솔은 추측일 뿐. 제출개수와 솔 또한 구분 불가 == 1차 == - 자소서 + 코테 + BAT로 이뤄졌는데, 코테가 중요한 듯 하다. - 코테 동점 시 자소서로 거르기 때문에, 코테에 자신이 없던 나는 자소서에 힘을 줬다. - 부스트캠프 프리코스 강의는 약간 도움이 된다. 하지만 그걸로 전반적인 시험 준비는 안 된다. - 총 19문제 중..
주요 정보 요약은 2편 참고 2021.07.09 - [잡담] - 네이버 부스트캠프 AI Tech 2기 탈락 후기 2편 (1,2차 요약) 교육을 듣기 위해 시험을 봐야한다는 게 속상했지만, 어떻게 보면 공부하는 게 합격하기 가장 쉬운 길일 수도 있다. 1차 붙은 것도 기말고사 다음날 코테 본 거라 공부할 시간이 없었는데, 기적이라고 생각한다. 2차도 계절학기 중간고사 다음날이라 공부할 시간이 없었던 게 아쉽지만, 덕분에 좋은 경험 했다. 나한테는 첫 코테였고 그 덕분에 짧은 시간이지만 공부도 열심히 했다. 1차 붙을 줄 전혀 모르고 계절학기 시작 전에 공부를 안 했기 때문에 벌 받은 듯 하다 ㅠㅠ 아, 그리고 또 하나는 블로그를 시작했다. 그동안 미뤄왔던 블로그를 부캠 준비로 코테 공부하면서 시작할 수 있..
from itertools import permutations def solution(numbers): answer = [] for i in range(len(numbers)): for j in permutations(list(numbers), r=i+1): n,s = int(''.join(j)),0 for i in range(int(n**0.5)+1): if n%(i+1) == 0: s += 1 if s==1 and n>1 or n==2: answer.append(n) return len(list(set(answer))) itertools를 사용했었지만 permutations는 처음 써봤다. 그리고 를 공부 안 하고 내 방식대로 소수를 찾았더니 2를 탐지를 못해서 그냥 2면 소수라고 리스트에 넣어줬다...
import math def solution(progresses, speeds): queue,answer = [math.ceil((100-progresses[0])/speeds[0])],[] for p,s in zip(progresses[1:]+[0], speeds[1:]+[1]): crnt = math.ceil((100-p)/s) if crnt > queue[0]: answer.append(len(queue)) queue = [] queue.append(crnt) return answer 레벨 2는 처음 푸는데 스택/큐 문제도 거의 안 풀어봤고, 알 것 같은데 안 풀려서 문제랑 거의 싸우다싶이 풀었다. 코테가 약 2시간 남았으니 코드 설명은 나중에 쓰기로... (지금 안 쓰면 나중에도 안 쓸 것 같아서..
def solution(p, c): p.sort() c.sort() for i in range(len(c)): if p[i] != c[i]: return p[i] return p[-1] 내 풀이. for i,j in zip(p,c): if i!=j: return i for문을 이렇게 바꾸면 더 깔끔해진다. 그리고 알게 된 건, Counter 객체끼리는 뺄셈이 가능하다는 것. 리스트끼리는 왜 뺄셈이 안 되냐고 생각했었는데 Counter객체가 가능한지는 몰랐다. import collections def solution(participant, completion): answer = collections.Counter(participant) - collections.Counter(completion) retur..
def dfs(v): print(v, end=' ') visit[v] = 1 for i in range(1,n+1): if s[v][i]==1 and visit[i]==0: dfs(i) def bfs(v): queue = [v] visit[v] = 0 while queue: v = queue[0] print(v, end=' ') queue.pop(0) for i in range(1,n+1): if s[v][i]==1 and visit[i]==1: queue.append(i) visit[i] = 0 n,m,v = map(int, input().split()) s = [[0]*(n+1) for _ in range(n+1)] visit = [0]*(n+1) for _ in range(m): x,y = map(..