전체 글 123

[논문 리뷰] U-GAT-IT(GAN)

0. KT 에이블스쿨에서 마무리 과정으로 빅프로젝트를 진행하고 있다. 여기서 내가 주로 맡은 분야는 논문 ugatit을 이용해 사용자가 이용할 수 있게 api화 하고 그걸 django를 이용해 웹 페이지를 만들어 배포하는 것이였다. 이 글에서는 ugatit을 직접 학습 시키는데 1Epoch당 227시간이 걸려 할 수 없었지만 그 이론이 기존 cycle gan과 다르게 재밌고 질문 대비를 위해 부족하지만 최대한 공부한 만큼 남겨 보려한다. 이후 어떻게 flask를 이용해 api로 만들었고 어떻게 그것을 이용해 장고에서 배포했는지도 빠른 시일내에 남기겠다. 1. Introduction cycle Gan, UGATIT 같은 GAN 방식은 소위 unsupervised image-to-image translati..

DL 2022.05.13

프로그래머스 Lv2. 다리를 지나는 트럭

출처 : https://programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 programmers.co.kr 풀이: def solution(bridge_length, weight, truck_weights): answer = 0 trucks_on_bridge = [0] * bridge_length while len(trucks_on_bridge): answer += 1 trucks_on_bridge.pop(0) if truck_wei..

카테고리 없음 2022.03.25

프로그래머스 Lv1 모의고사 - Python

출처 : https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 풀이 : def solution(answers): answer = [] c1 = [1,2,3,4,5] c2 = [2,1,2,3,2,4,2,5] c3 = [3,3,1,1,2,2,4,4,5,5] cnt = [0, 0, 0] for i in range(len(answers)) : if answers[i] == c1[i % 5]: cnt[0] += 1 if a..

코딩테스트 2022.03.22

백준 12865 평범한 배낭 - Python

출처 : https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net import sys n, k = map(int, input().split()) bag = [[0,0]] dp = [[0 for _ in range(k+1)] for _ in range(n+1)] for _ in range(n): bag.append(list(map(int, input().split()))) for i in ..

코딩테스트 2022.03.16

백준 2565 전깃줄 - python

출처 : https://www.acmicpc.net/problem/2565 2565번: 전깃줄 첫째 줄에는 두 전봇대 사이의 전깃줄의 개수가 주어진다. 전깃줄의 개수는 100 이하의 자연수이다. 둘째 줄부터 한 줄에 하나씩 전깃줄이 A전봇대와 연결되는 위치의 번호와 B전봇대와 연결되는 www.acmicpc.net 풀이 : n = int(input()) line = [] for _ in range(n): line.append(list(map(int,input().split()))) line.sort() dp = [1 for i in range(n)] for i in range(n): for j in range(i): if line[i][1] > line[j][1]: dp[i] = max(dp[i], dp[..

코딩테스트 2022.03.13

백준 11054 가장 긴 바이토닉 부분수열 - Python

출처 : https://www.acmicpc.net/problem/11054 11054번: 가장 긴 바이토닉 부분 수열 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) www.acmicpc.net 풀이 : n = int(input()) a = list(map(int, input().split())) inc = [1 for i in range(n)] for i in range(n): for j in range(i): if a[i] > a[j]: inc[i] = max(inc[i], inc[j]+1) dec = [1 for i in range(n)] for i in range(n-1, -1, -1): f..

코딩테스트 2022.03.12

2.1 이산 확률 변수

이진 확률 변수 x ∈\in∈ {0,1} 을 고려하자.예를 들어 x는 동전 던지기의 예제로 x=0은 뒷면, x=1은 앞면이라고 하자.그런데 동전이 망가져서 앞면과 뒷면이 나올 확률이 다르다고 가정하자.x = 1일 확률은 매개변수 μ\muμ를 통해 다음과 같이 표현 가능하다.p(x=1∣μ)=μp(x =1 |\mu) = \mup(x=1∣μ)=μ여기서 0 ≤\le≤μ≤1\mu\le1μ≤1 이다. 그리고 p(x=0∣μ)=1−μp(x = 0 |\mu) = 1 - \mup(x=0∣μ)=1−μ가 된다. 따라서 x에 대한 확률 분포를 다음과 같이 적을 수 있다.Bern(x∣μ)=μx(1−μ)1−xBern(x|\mu) = \mu^x(1 - \mu)^{1-x}Bern(x∣μ)=μx(1−μ)1−x이것을 베르누이분포..

PRML/chap2 2022.03.07

Chapter2. 확률 분포

목표몇몇 확률 분포의 예시와 그 성질에 대해 살펴보고자 한다.밀도 추정(Density Estimation)한정된 수의 관찰 집합 x1,...,xN\mathbf{x}_1, ... ,\mathbf{x}_Nx1​,...,xN​이 주어졌을 때 확률 변수 x의 확률 분포 p(x)p(x)p(x)를 모델링 하는 것데이터 포인트들은 독립적이며, 동일하게 분포되어 있다고 가정할 것이다.사실 관찰된 데이터로 부터 추측해볼 수 있는 확률 분포는 끝도없이 많다.각각의 데이터 포인트 x1,...,xN\mathbf{x}_1, ... ,\mathbf{x}_Nx1​,...,xN​에 대해서 0이 아닌 값을 가지는 어떤 분포 p(x)p(x)p(x)도 모 분포의 후보가 될 수 있다.우선적으로 이산 확률 변수의 이항 분포와 다항 분..

PRML/chap2 2022.03.07

백준 10844 쉬운 계단 수 - python

출처 : https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 풀이 : n = int(input()) dp = [[0] * 10 for i in range(n+1)] for i in range(1,10): dp[1][i] = 1 for i in range(2, n+1): for j in range(10): if j == 0 : dp[i][j] = dp[i-1][j+1] elif j == 9 : dp[i][j] = dp[i-1][j-1] else : dp[i][j] = dp[i-1][j-1] + dp[i-1][j+1] print(sum(dp[n]) % 1000000..

코딩테스트 2022.03.06