본문 바로가기

Wisdoms131

[machine learning] mean substraction과 standardization 딥러닝 코드나 신경망 구조들을 보다 보면, 특히 영상 처리 할 때, 중간값을 빼거나 표준 편차로 나누는 일을 수행하는 것을 볼 수 있다.이는 learning을 수행하기 전에 표준화를 하는 것으로 볼 수 있다.이 중에 중간값을 빼는 경우는 centering을 수행하는 것이다. 가령 RGB 이미지의 경우 3차원의 공간을 가지고 있다고 보고, 개별 pixel은 이 3차원 값들로 표현된다. 중간값은 데이터를 설명하는 임의의 시작 지점을 명시하는 역할을 하게 된다. 그러므로 중간값을 빼게 되면, 중간값 중심으로 값들이 설명되게 된다. 표준 편차로 빼는 동작은 표준화(standardization)를 수행한다.이는 모든 입력값들의 가중치값을 조정하는 역할을 수행하게 된다. 2015. 7. 1.
[linux] kernel patch하기 일단은 커널 source를 다운로드 받는다. apt-get source linux sudo cp -r linux-x.xx.x /usr/src 이제 커널 source가 /usr/src 폴더에 있을 것이다.패치 파일을 어디선가 다운로드 받아서 저장해둔다. 가령 홈 폴더의 patch.txt라고 하자. cd /usr/src/linux-x.xx.xsudo patch -p 1 -u < ~/patch.txt 커널을 다시 빌드하자. sudo make localmodconfigsudo make menuconfig // 기본 내용을 그대로 둠sudo make -j8 deb-pkg // 8은 컴퓨터에 설치된 코어 개수 (병렬 빌드) 이렇게 하면 상위 폴더에 패키지 파일들이 생성된다. 이제 설치하면 된다. sudo dpkg .. 2015. 6. 30.
[caffe] 설치시 fatal error: hdf5.h 위의 에러는 HDF5의 헤더 파일이 INCLUDE 경로에 포함되지 않아서 생긴다. sudo apt-get libhdf5-serial-dev 먼저 위와 같이 hdf5 관련 헤더 파일이 설치 되어 있어야 한다. 그리고 Makefile 에서 다음 내용을 추가한다. INCLUDE_DIRS += /usr/include/hdf5/serial/ 단, 아무 곳이나 추가하는 것이 아니라 다음 내용이 있는 줄 바로 위에 추가한다. COMMON_FLAGS += $(foreach includedir,$(INCLUDE_DIRS),-I$(includedir)) 2015. 6. 29.
[git] 특정한 branch의 pull request에 대해서 checkout 하기 간혹 라이브러리들 중에 pull request에 대해서 clone을 수행해야 할 때가 있다. 이게 무슨 의미냐면, 가령 caffe라는 라이브러리가 여러 개발자에 의해서 개발되고 있다고 하자. 그리고 개발 주요 내용은 dev라는 branch에 담겨 있다고 하자(사실상 caffe의 dev branch는 유지 되지 않는 것으로 나타나지만..). 개별 개발자들은 미래에 포함될 수 있는 후보 소스 코드들을 pulling한 상태로 가지고 있게 된다. 물론 commit 권한이 있으면 이 pulling된 내용을 해당 branch에 포함시킬 수도 있을 것이다. 어쨌든, 개발을 하다 보면, 내가 하려던 내용을 이미 남이 구현한 것을 발견하는 경우가 아주 아주 많다. 우리는 dev라는 branch에서 특정 pull requ.. 2015. 6. 27.