목록전체 글 (315)
rueki
https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net n = int(input()) t = [] for _ in range(n): s, e = map(int, input().split()) t.append([e, s]) t.sort() mt_end = -1 cnt = 0 for i in range(n): if t[i][1] >= mt_end: mt_end = t[i][0] cnt += 1 print(cnt) 매 입력으로 회의 시작, 끝 시간 입력된다. 회의가 끝나는 시간 기준으로 정렬을 하게 되면 각 회의 마다 시작 시간 비교가 가능하다 (1, 4) (3,5) 를 ..
https://www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net 카드의 개수가 최소인 것끼리 더해나가는 것이 가장 최적의 해를 구할 수 있는 방법이다. 우선순위 큐를 사용하여 차례대로 뽑는 방식을 사용 문제의 예시로는 카드가 순서대로 10, 20, 40 이렇게 입력된다. 1. 10 + 20 2. (10 + 20) + 40 import queue card_queue = queue.PriorityQueue() n = int(input()) for _..
ML, DL에서 가장 좋은 성능을 보일 수 있는 간단한 방법은 큰 모델을 학습시키는 것이다. 그러나 실제 환경에서 큰 모델을 사용하는 것은 자원의 한계가 있는 부분이 많기 때문에 사실상 어렵다. 그래서 나온 방법이 학습된 큰 모델을 작은 모델로 안의 내용을 전달, 즉 지식을 전달하는 프로세스를 적용한 Knowledge Distilation 기법이 나왔다. 이를 통해서 누릴 수 있는 효과는, 모델의 사이즈는 작은 것을 사용하지만 성능은 큰 모델과 최대한 유사한 성능을 낼 수 있다는 점이다. 큰 모델의 일반화된 부분을 작은 모델로 이전하는 방법은 큰 모델의 아웃풋을 작은 모델의 target 값으로 사용하는 것인데 이를 soft target이라고 한다. 여기서 전이시킬 때 큰 모델 학습시킬 때와 같은 데이터를..

https://github.com/facebookresearch/fvcore GitHub - facebookresearch/fvcore: Collection of common code that's shared among different research projects in FAIR computer vis Collection of common code that's shared among different research projects in FAIR computer vision team. - GitHub - facebookresearch/fvcore: Collection of common code that's shared among dif... github.com from fvcore.nn import ..
내 로컬에서 다른 서버로 젠킨스 프로젝트 파일을 전송 및 배포를 하고자하기 위해선 SSH를 주로 사용하는데, 이는 외부에서 리눅스 서버 접속할 때도 많이 사용한다. 젠킨스에서 SSH 설정을 어떻게 하는지 알아보자. 1. Jenkins 관리 - 플러그인 관리에서 "publish over ssh" 를 설치하자. - 설치가 되어있다면 확인도 해볼 것 2. Jenkins 관리 - 시스템 설정 - Publish over SSH 에 필요 내용 입력 여기서는 개인 서버가 없기 때문에 로컬에서 도커 컨테이너 생성을 통한 가상 서버를 생성해서 사용했다. 도커 컨테이너 명을 docker-server라고 해서 이와 같이 입력했고 hostname은 ip를 입력하면 되는데 외부 서버가 있다면 해당 서버 ip를, 로컬에서 컨테이..
Jenkins에서 git 설정을 다 했다면, git code를 이제 가져와야 하는데 역시 간단하다. 프로젝트 구성에 들어가서 소스코드 관리 부분에서 가져올 레포지토리의 주소를 입력하면 된다. 주의할 점은 branch가 default로 master로 되어있어서 본인 레포지토리의 branch 명을 확인 후 입력하면 된다. 그리고 코드 업데이트 시 지속적으로 빌드 및 업데이트를 해주기 위해서 빌드 trigger에서 Poll SCM을 체크해주고, Schedule에 규칙을 명시하면 명시한 대로 빌드가 진행이 된다. Poll SCM의 특징은 매번 자동으로 업데이트가 되는 것이 아니고, 코드에 변경이 일어나 커밋이 일어나는 경우 재빌드를 해준다는 점이다. * Poll SCM 규칙 매 시간 설정하려면 * * * * *..
Jenkins에서 git에 있는 코드를 가져오기 이전에 git을 설치하고 설정하는 것이 우선이다. Dashboard의 Jenkins 관리에 들어가면 플러그인 관리가 있는데 여기를 들어가보자. Plugin Manager에서 설치가능 항목에서 git을 검색하면 여러가지가 나올텐데 추후에도 필요한 플러그인이 있다면 여기서 검색해서 설치하면 된다. 사전에 설치가 되어 있을 수도 있으니 설치된 플러그인 목록에서 같이 확인하면 된다. 이제 플러그인 관리 옆에있는 Global tool Configuration에서 Git 칸에 가서 설정하면 Jenkins에서 git 설정은 끝이나게 된다.
Jenkin를 실행하고 나서 좌측 상단에 Item 추가하기를 누르면 새 프로젝트를 생성할 수 있다. 여기서 기본작업으로 하는 것이기 때문에 freestyle project로 생성해보자. 프로젝트를 생성 후 구성에 들어가면 General로 시작되는 화면이 보인다. 계속 스크롤 하다보면 build steps라는 항목이 있는데 여기서 소스코드 빌드를 할 수 있는 다양한 방법들이 있다. 여기서는 Execute shell로 한번 build를 해보려고 한다. Command로 echo "First Project"를 입력하고 apply, 저장을 눌러보자. 그리고 대쉬보드의 내 프로젝트로 들어가서 지금 빌드라는 항목을 누르게 되면 변경사항에 대해서 build를 하게 된다. 빌드한 것의 결과를 확인할 수가 있는데 성공적으..