전체 글 37

리눅스에 프로그램 설치하기

[리눅스에 native 설치하는 3가지 방법] 1) source -> building -> make 2) package t 3) 압축파일 이용 (그외 별도의 가상환경을 생성하는 docker를 이용하는 방법도 있다.) [package 설치] package 설치 툴을 이용해서 설치하는 방법으로 root에 설치되서 users에게 상속된다. ubuntu 는 주로 apt-get이 쓰이고 cent os, redhat 에는 yum이 쓰임. e.g.) sudo yum install programme [압축파일] account 별로 app folder 설치하여 app 정리 (/home/user_name/app) 홈페이지에서 tar.gz / zip 확장자 등으로 끝나는 압축파일을 다운로드 받고, app 폴더 내에서 풀어준..

IT/linux 2018.10.16

Gunicorn X Supervisor

[COMMON] Gunicorn : deamon Supervisor : super-deamon (daemon을 관장하는 daemon) -> Gunicorn으로 process를 daemon 형태로 띄우고 Supervisor로 daemon들을 관리 [GUNICORN] gunicorn을 실행시킬 start.sh를 생성 # start.sh exec usr/bin/gunicorn -w 2 --bind 10.52.111.170:8870 server:app -w : worker의 수 (thread) 설정 (flask 기준으로 이 명령어를 위해선 app run 할 때 thread=True해야함) --bind : 실행시킬 host:port를 입력 :app 어느 file을 app으로 쓸것인가? (if server.py -..

IT/linux 2018.10.15

python encoding

[python encoding] https://wikidocs.net/15133 인코딩(encoding) : 문자셋의 규칙대로 바이트를 만드는 방법 .py 내 default encoding 명시 : # -*- coding: utf-8 -*- (파이썬에서 사용되는 문자열은 모두 유니코드 문자열) >>> b = a.encode('utf-8') >>> b b'Life is too short' >>> type(b) 디코딩 (decoding) >>> a = '한글' >>> b = a.encode('euc-kr') >>> b.decode('euc-kr') '한글' [ Encoding with File I/O] 1) 입력으로 받은 바이트 문자열을 가능한한 가장 빨리 유니코드 문자열로 디코딩 할 것. 2) 변환된 유니..

IT/Python 2018.10.15

chmod /chown

[chmod] chmod : file에 접근할 권한을 설정해주는 명령어 chmod abc file_name -> a: 개인 / b: 그룹 / c: 기타 a,b,c는 10진수로 0부터 7까지 나타낼 수 있는데 2진수로 나타내면 000 ~ 111과 같다. 각각의 자리수는 Read/Write/Excute에 대한 권한이다. 7 = 1/1/1 -> read o / write o / excute o 4 = 1/0/0 -> read o / write x / excute x 0 = 0/0/0 -> read x / write x / excute x 700 = 개인 : read o / write o / excute o , 그룹 : read x / write x / excute cx , 기타 : read x / write ..

IT/linux 2018.10.15

Daemon vs. Crontab

[Daemon] 대부분의 programme은 console을 닫거나 ctrl+c 누르면 꺼진다. 하지만 계속 실행되길 원하는 경우, background에서 process로 실행되는 것이 필요하다. 그래서 필요한 것이 daemon인데, daemon을 하나의 프로그램이나 명령의 형태로 이해 하는 것이 아니라 "programme in service" 자체로 이해하는 것이 맞음 즉, background에서 실행시키기 위해 daemon과 같은 명령어를 이용하는 것이 아니라, daemon의 형태로 만드는 것이 필요 [Crontab] 주기적으로 어떤 programme을 실행시킨다고 했을때, scheduler가 필요하고, linux 상에서 이와 같은 scheduler 역할을 하는것이 crontab이다. crontab과..

IT/linux 2018.10.15

Partial Derivative(편미분) and Chain Rule(체인룰) in Neural Network

이 포스트는 기본적으로 NN(Neural network)에 대한 기본적인 이해가 있는 대상을 위해 작성되었습니다.또한, 제목에 표시한 것처럼 NN에서의 편미분과 체인룰에 대한 내용이며 Gradient Descent(경사감소법)를 직접적으로 다루지는 않습니다. Partial Derivative = 편미분 (Partial Derivative = Gradient = A Partial Derivate of a Specific Error)Chain Rule = 체인룰 / 합성곱 [편미분 : Partial Derivative] y값에 영향을 미치는 변수(variable/x값)가 많을 때, 변수 하나가 미치는 영향을 구하기 위해 사용 why to use in NN? : NN에서는 Gradient Descent(경사감..

ReLU를 사용하는 이유

[ReLU란?] (수식)h=max(0,a) where a=Wx+b (그래프) 왼편은 일반적인 활성화 함수의 형태이고 우측은 gradient descent에 사용되는 역함수를 취했을 때의 형태이다. [ReLU의 대표적인 장점] - Sparsity- Vanishing Gradient 위 장점은 sigmoid 함수와의 비교했을 때 이다.ReLU가 나오기 전에는 주로 sigmoid가 많이 쓰였으므로 sigmoid와 비교하는 것이 옳다. sigmoid는 tanh와 비슷한 경향이 있다. 단, tanh는 sigmoid에 비해 Vanishing Gradient가 개선된 경우이지 극복한 것은 아니다. [ReLU를 사용하는 이유] 1) Sparsity (a가 0보다 작을 때 / a≤0) (Sparse 하다는 것은?) sp..