반응형

전체 글 115

[Linux] apt, dpkg에서 lock-fronted 오류

Linux에서 apt, dpkg 등의 명령어를 사용할 때, 종종 다음과 같은 오류가 발생한다. 이때, 다음과 같이 프로세스나 특정 lock관련 디렉토리를 삭제해주면 해결된다. - 모든 프로세스 kill $ sudo killall apt apt-get - lock관련 디렉토리 삭제 $ sudo rm /var/lib/apt/lists/lock $ sudo rm /var/cache/apt/archives/lock $ sudo rm /var/lib/dpkg/lock* - configure 설정 $ dpkg --configure -a - upgrade or update $ sudo apt update 이후에, 다시 apt나 dpkg를 수행하면 동작한다.

참고 및 꿀팁 2021.05.17

R-squared (r2 score)

R-squared는 선형 회귀 모델에 대한 적합도 측정값이다. 선형 회귀 모델을 Fitting 한 후, 모델이 데이터에 얼마나 적합한지 확인해야 하는데 몇가지 주요 적합도 통계 방법중 하나이다. 적합도 평가 r2 score는 0과 1사이의 값을 가지며 1에 가까울수록 선형회귀 모델이 데이터에 대하여 높은 연관성을 가지고 있다고 해석할 수 있다. r2 score의 공식은 $r^{2} score = 1- \frac{SSE}{SST}$ SST는 전체 제곱의 합, SSE는 제곱 오차항을 의미한다. 식을 정리해 보면, 파이썬 코드 from sklearn.metrics import r2_score r2 = r2_score(y, lr.predict(x_2) y는 실제 관측된 데이터, lr은 linear regress..

Mathmatics 2021.03.30

멀쩡한 사각형

멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 따라 1cm × 1cm의 정사각형으로 잘라 사용할 예정이었는데, 누군가가 이 종이를 대각선 꼭지점 2개를 잇는 방향으로 잘라 놓았습니다. 그러므로 현재 직사각형 종이는 크기가 같은 직각삼각형 2개로 나누어진 상태입니다. 새로운 종이를 구할 수 없는 상태이기 때문에, 이 종이에서 원래 종이의 가로, 세로 방향과 평행하게 1cm × 1cm로 잘라 사용할 수 있는 만큼만 사용하기로 하였습니다. 가로의 길이 W와 세로의 길이 H가 주어질 때, 사용할 수 있는 정사각형의 개수를 구하는 solut..

RANSAC(Random Sample Consensus)

RANSAC이란? 관측된 데이터들에 대하여 근사 모델(Fitting Model)의 파라미터를 추정하는 방법 중 하나이며, 무작위로 샘플 데이터를 뽑은 다음 최대로 일치하는 모델을 선택하기 때문에 노이즈 or 이상치(Outlier)에 영향을 덜 받는 방법이다. 그러나, 임의의 데이터를 선택하기 때문에 같은 데이터임에도 결과가 매번 달라질수 있으며 Outlier의 분포가 일정한 구조를 갖게 되면 Outlier에 근사할 수 있다. RANSAC 알고리즘 N : 반복횟수, t = 모델과의 거리 임계값, max_point = inlier 데이터 max_point = 0, 모델 파라미터에 근사한 데이터들의 수를 초기화 관측된 데이터 안에서 무작위로 세점을 뽑는다. 세 점을 이용하여 근사한 모델 f(x)을 구한다. 구..

Albumentations 이미지 Augmentation API 소개

이미지 증강방법은 딥러닝이나 컴퓨터 비전에서 학습된 모델의 퀄리티를 향상하기 위해 사용되는 방법이며, 기존 학습데이터를 이용하여 새로운 데이터를 생성하는 목적을 가지고 있다. Pytorch, Tensorflow등 다양한 프레임워크에서 사용 가능하며 pixel-level transforms, spatial-level transforms 등의 70개 연산을 지원한다. 또한, 데이터 타입(RGB-images, grayscale images, multispectral image, segmentation masks, bounding boxes, and keypoints)등 에서 이용 가능한다. Semantic segmentation on the Inria dataset Medical imaging Object d..

[Part 3] Image Segmentation Using Deep Learning, A survey

Written by Shervin Minaee, Yuri Boykov, Fatih Porikli, Antonio Plaza, Nasser Kehtarnavaz, and Demetri Terzopoulos Fully convolutional networks Convolutional models with graphical models Encoder-decoder based models Multi-scale and pyramid network based models R-CNN based models(for instance segmentation) Dilated convolutional models and DeepLab family Recurrent neural network based models Attent..

[Part 2] Image Segmentation Using Deep Learning, A survey

Written by Shervin Minaee, Yuri Boykov, Fatih Porikli, Antonio Plaza, Nasser Kehtarnavaz, and Demetri Terzopoulos Fully convolutional networks Convolutional models with graphical models Encoder-decoder based models Multi-scale and pyramid network based models R-CNN based models(for instance segmentation) Dilated convolutional models and DeepLab family Recurrent neural network based models Attent..

[Part 1] Image Segmentation Using Deep Learning, A survey

Written by Shervin Minaee, Yuri Boykov, Fatih Porikli, Antonio Plaza, Nasser Kehtarnavaz, and Demetri Terzopoulos 논문에서 다루고자 하는 카테고리는 아래와 같으며, 3회에 걸쳐 리뷰해볼까 합니다. Fully convolutional networks Convolutional models with graphical models Encoder-decoder based models Multi-scale and pyramid network based models R-CNN based models(for instance segmentation) Dilated convolutional models and DeepLab famil..

Metrics for segmentation Models

서로 다른 Segmentation 모델들에 대해 성능 비교하기 위해서는 benchmark 데이터 셋에 대한 평가지표가 필요하며, 가장 많이 쓰이는 merics들을 정리해보고자 한다. Pixel accuracy Mean Pixel Accuracy(MPA) Intersection over Union(IoU) Mean-IoU Precision/Recall/F1 score Dice coefficient Pixel accuracy : 분할된 픽셀 수(classified)를 전체 픽셀 수로 나눈다. K+1개의 클래스(K는 foreground class - 분할하고자 하는 물체의 수, 1은 background-배경)라고 할때, 수식은 다음과 같다. $ PA = \frac{\sum_{i=0}^{K}p_{ii}}{\su..

[python] np.transpose (python ,c)

np.transpose(arr, *axes) arr.transpose(*axes) np.transpose(Numpy v1.19 Manual)에 대한 정의는 다음과 같다. Reverse or permute the axes of an array; returns the modified array. For an array a with two axes, transpose(a) gives the matrix transpose. 해석해보면, 배열(array)의 축을 뒤집거나 변경하십시오; 수정된 배열을 반환합니다. 축이 두 개인 배열 a의 경우, Transpose(a)는 행렬 전치를 제공합니다. Parameters : a : array_like Input array. axes : tuple or list of int..

전역변수와 지역변수에 static 활용하기

먼저 전역변수와 지역변수의 개념은 다음과 같다. 전역변수 : 프로그램이 시작할 때, 1회 초기화되고 프로그램 종료 시까지 메모리에 존재 지역변수 : 선언된 함수 내에서만 접근이 가능하며, 속해있는 함수가 반환되는 동시에 소멸 그렇다면, 지역 변수에 static을 활용하면 어떻게 될까? "지역변수에 static이 붙게 되면, 전역변수와 같이 활용할 수 있다." #include void test(void){ static int n = 0; int test = 1; n = n+1; test = test+1; printf("static data : %d, local : %d\n", n, test); } int main(void){ int i; for(i = 0; i

포인터 대상의 const 선언

포인터 변수가 참조하는 대상의 변경을 허용하지 않는 Const 선언하기🙃 #include int main(void){ int n = 30; const int *nptr = &n; *nptr = 1000; printf("에러코드입니다. %d", *nptr); return 0; } 결과는 에러이다. const 선언 포인터 변수는 "포인터 변수 nptr을 사용하여 저장된 값을 변경하는 것이 불가능하다." 그러나, 변수 값을 직접 변경하는 것은 허용된다. 즉, n의 값을 n = 9000으로 변경할 수 있다는 뜻이다. 또한, const 선언 변수는 변경시 오류가 발생한다. #include int main(void){ const double ratio = 55.33468; ratio = 2222.5567; prin..

Call by value vs Call by reference

Call by value와 Call by reference는 함수 호출방식을 의미합니다. 값을 전달하는 형태의 함수 호출 방식 : Call by value 주소 값을 전달하는 형태의 함수 호출 방식 : Call by reference 1. 값을 전달하는 형태의 함수 호출 방식 : Call by value(값) 함수를 호출할 때 인자로 전해지는 변수에 값을 전달하는 방식을 Call by value(값)라고 한다. 일반적인 변수를 이용한 함수에서 사용되며 값을 복사해서 전달하기 때문에 원래의 변수(main부분)에 영향을 주지 않는다. #include void swap(int a, int b){ int temp; temp = a; a = b; b = temp; printf("a, b : %d, %d\n", a..

c언어 기본 자료형의 종류와 데이터의 표현 범위

c언어는 다양한 자료형을 가지고 있으며, 종류와 특징은 다음과 같다. 😉😉😉 자료형 크기 값의 표현 범위 정수형 char 1바이트 -128 ~ 128 short 2바이트 -32,768이상 32,767이하 int 4바이트 -2,147,483,648 이상 2,147,483,648이하 long 4바이트 -2,147,483,648 이상 2,147,483,648이하 long long 8바이트 -9,223,372,036,854,775,808 이상 9,223,372,036,854,775,808 이하 실수형 float 4바이트 $\pm$ 3.4 x $10^{-37}$이상 $\pm$ 3.4 x $10^{38}$이하 double 8바이트 $\pm$ 1.7 x $10^{-307}$이상 $\pm$1.7 x $10^{+308}..

[python] 반복문(for문)과 내부기능

For문의 예제는 다음과 같으며, continue, break, pass, next의 기능에 대해서 소개하고자 한다. 1. 전형적인 For문 for 변수 in list 는 list의 원소를 하나씩 꺼내어 변수에 저장하는 것을 의미한다. test_list = [1, 2, 3, 4] for i in test_list: print(i) Result 1 2 3 4 2. 다양한 원소를 이용한 For문 1의 설명과 같이 원소를 꺼내는 것을 의미하며, 꺼내는 원소와 변수의 갯수를 동일하게 일치해주어야 한다. test_list = [(1,2), (3, 4), (5,6)] for i,j in test_list: print(i+j) Result 3 7 11 3. For문과 range list와 같이 쓰이는 경우가 많으며,..

주식 가격 〽

주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,000 이하인 자연수입니다. prices의 길이는 2 이상 100,000 이하입니다. 입출력 예 prices return [1, 2, 3, 2, 3] [4, 3, 1, 1, 0] 입출력 예 설명 1초 시점의 ₩1은 끝까지 가격이 떨어지지 않았습니다. 2초 시점의 ₩2은 끝까지 가격이 떨어지지 않았습니다. 3초 시점의 ₩3은 1초뒤에 가격이 떨어집니다. 따라서 1초간 가격이 떨어지지 않은 것으로 봅니다. 4초 시점의 ₩2은 1초간 가격이 떨어지지 않았습니다. 5초 시점의 ₩3은 ..

프린터 🖨

프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다. 3. 그렇지 않으면 J를 인쇄합니다. 예를 들어, 4개의 문서(A, B, C, D)가 순서대로 인쇄 대기목록에 있고 중요도가 2 1 3 2 라면 C D A B 순으로 인쇄하게 됩니다. 내가 인쇄를 요청한 문서가 몇 번째로 인쇄되는지 알고..

다트게임

[1차] 다트 게임 다트 게임 카카오톡에 뜬 네 번째 별! 심심할 땐? 카카오톡 게임별~ 카카오톡 게임별의 하반기 신규 서비스로 다트 게임을 출시하기로 했다. 다트 게임은 다트판에 다트를 세 차례 던져 그 점수의 합계로 실력을 겨루는 게임으로, 모두가 간단히 즐길 수 있다. 갓 입사한 무지는 코딩 실력을 인정받아 게임의 핵심 부분인 점수 계산 로직을 맡게 되었다. 다트 게임의 점수 계산 로직은 아래와 같다. 다트 게임은 총 3번의 기회로 구성된다. 각 기회마다 얻을 수 있는 점수는 0점에서 10점까지이다. 점수와 함께 Single(S), Double(D), Triple(T) 영역이 존재하고 각 영역 당첨 시 점수에서 1제곱, 2제곱, 3제곱 (점수1 , 점수2 , 점수3 )으로 계산된다. 옵션으로 스타상..

실패율

실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였다. 이 문제를 어떻게 할까 고민 한 그녀는 동적으로 게임 시간을 늘려서 난이도를 조절하기로 했다. 역시 슈퍼 개발자라 대부분의 로직은 쉽게 구현했지만, 실패율을 구하는 부분에서 위기에 빠지고 말았다. 오렐리를 위해 실패율을 구하는 코드를 완성하라. 실패율은 다음과 같이 정의한다. 스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수 전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열 stages가 매개변수로..

반응형