본문 바로가기

01_머신 러닝 프레임웍 카페 설치 (Caffe Installation) 1. IntroMachine Learning framework으로 널리 알려진 Caffe를 linux에 빌드하는 과정을 알아보자.Caffe 빌드 시 필요한 Prerequisites는 모두 설치 되어 있다고 가정하겠다.Prerequisites에 대한 자세한 사항은 아래의 링크를 참고하기 바란다.http://caffe.berkeleyvision.org/installation.html 2. Process먼저, 빌드 하는 서버의 환경은 아래와 같다. ● CPU: Intel Xeon E5-2690 v4-EP 2.6 GHz● GPU: NVIDIA GeForce GTX 1080 Ti● O.S.: CeotOS release 7.1 1. Caffe를 local에 git clone 2. cd caffe 이후 cp Make..
[Linux] 리눅스 계정 생성 (useradd) 1. Intro Linux에서 어떻게 사용자 계정 생성을 하는지 알아보자 2. Process ● 같은 이름을 가진 계정이 있는지 확인한다. $cat /etc/passwd | grep (account name) 위처럼, 결과가 없으면 해당하는 account name에 대한 중복 계정은 없다. ● 사용자 계정 생성 및 home directory path와 bash 환경 지정 - Ubuntu ☞ options -m: home directory 생성-s /bin/bash: bash 환경 설정 $useradd (account name) -m (home directory 주소) -s /bin/bash - CentOS 옵션을 주지 않아도 home directory 및 bash 환경 자동 설정 $useradd (acc..
[Linux] 용량 표현 단위 (MB,MiB) 1. Intro Physics 혹은 Chemistry를 공부할 때, 우리는 가장 먼저 물리량 표현의 단위를 배운다.컴퓨터 환경 역시 데이터 사이즈에 대한 단위를 갖고 있는데, Science 단위와 크게 다르지 않다. Binary로 데이터를 관리하는 컴퓨터 환경에서의 단위를 이해해보자 2. Main Hardware 혹은 Network stack, Memory 등에서의 기본 단위는 바이트(B)이다.기본 단위의 사이즈가 커질 때 붙는 prefix에서 Decimal 표기와 차이가 발생하는데, 다음과 같다. Decimal prefixK = 1000, M = 1000×1000, G = 1000×1000×1000, T = 1000×1000×1000×1000 Binary prefixK =1024, M= 1024×102..
Software prefetching 1. Intro Cache data를 prefetching하는 방법으로 Hardware based prefetching 혹은 Software based prefetching을 활용할 수 있다. Hardware based prefetching은 Instruction stream과 Program의 Execution 시 요청되는 data address를 mornitoring하여,access하는 data의 regularity를 hardware mechanism에 의해 검출하는 prefetching을 말하고,Software based prefetching은 컴파일러가 프로그래머에 의해 prefetch instruction이 추가된 코드를 컴파일 하여static instruction stream 상에 prefetc..
[Linux] 파일 압축 및 해제(Archive 관리 & tar 명령어) 1. Intro 리눅스를 활용하면서 tar형태의 압축 파일을 많이 보게 된다.tar형태로 압축하거나 압축된 파일을 해제하는 방법을 알아보자. 2. process ☞ options -x: 묶음을 해제-c: 파일을 묶음-v: 묶음/해제 과정을 화면에 출력-z: gunzip을 사용 -f: 파일 이름 지정-p: 권한(permission)을 원본과 동일하게 유지 1) Compress A. tar.gz 형태 압축 tar로 묶인 archive를 gunzip을 사용하여 .tar.gz의 확장자를 갖는 압축 파일로 생성한다.$tar -cvzf [압축 파일 이름.tar.gz] [압축할 파일 또는 폴더 이름 1] [압축할 파일 또는 폴더 이름 2] [압축할 파일 또는 폴더 이름 3] ... ※ cat.jpg와 dog.jpg는..
[Linux] 디스크 용량 확인 (disk storage) 1. Intro 리눅스를 사용하는 유저마다 자신의 디스크 용량을 체크하고 싶은 상황이 있다.df와 du라는 명령어를 통해 확인해보자. 2. Process 1) df 사용하는 디스크의 남은 용량 확인 $df -k: 1kb 단위로 남은 용량 체크$df -m: 1mb 단위로 남은 용량 체크$df -h: human readable format으로 출력 $df .: 현재 디렉토리가 포함된 파티션의 남은 용량 체크 2) du 현재 디렉토리에서 하위 디렉토리까지 사용량 확인 $du -a: 현재 디렉토리의 사용량을 파일 단위로 출력$du -s: 현재 디렉토리의 총 사용량을 출력$du -h: 현재 디렉토리의 총 사용량을 human readable format으로 출력$du -sh *: 한 단계 하위 디렉토리의 총 사용량..
[Linux] gcc symbolic link 변경 1. Intro Linux에서 컴파일 할 때, gcc를 많이 활용할 것이다.Linux Script에 $gcc 혹은 컴파일 하기 위한 makefile을 생성하여 $make를 할텐데,만약, 이 과정을 실행할 때 gcc를 symbol로 저장하고 활용하는 경우해당 symbol의 version 문제가 발생하여 컴파일이 불가능 할 수 있다. 그래서, 각자의 Linux에 gcc가 여러 버전이 설치되어 있고(gcc-4.4, gcc-4.8 etc..),symbol로 생성된 gcc가 version 문제를 발생할 때, gcc symbol의 version을 변경하는 방법을 알아보고자 한다. 아래의 그림은, gcc의 버전 문제로 컴파일 에러가 발생한 상황이다. 2. Progress 먼저, 필자의 Linux(Ubuntu 14.0..
Caffe Library Linking to HEVC HM-15.0 1. Intro HEVC의 HM-15.0 프로젝트에서 비디오 인코딩 과정 중 첫 단계인 Coding Unit의 xCompressCU라는 함수 내에 Caffe의 Classifier를 활용하기 위해 libcaffe를 연결하는 과정에서 발생하는 에러에 대하여 솔루션을 작성하였다. HEVC의 Compile 환경은 Linux-Ubuntu 16.04.2에서 gcc-5.4.0, g++-5.4.0을 활용하였다. 2. Process 1) Setting a Shared Libary Loading Path Caffe library를 HM-15.0의 인코더에서 사용하기 위해 먼저 카페 라이브러리 경로를 확인해야 한다. 필자의 Path에서 libcaffe.a라는 Static libary와 libcaffe.so , libcaff..