분류 전체보기 66

GTX1060 성능

Tensorflow 를 돌리면서, 현재쓰는 650M 이 여러모로 부족하여 새로 영입했다. 확실히 빨라지긴 했는데, 같이 일하는 분의 GTX950M 에 비해서 그렇게까지 큰 성능 향상이 있는지는 잘 모르겠다. 역시 뒷자리가 5라서 서로 비슷한가 싶기도 한데... 벤치마크 자료에 비해 생각보다 미비하다. 그런데 데이터 셋을 크게 늘리니 빨라지긴 하는데... 근데 데이터 셋이 작을때 성능을 기대하고 있었는데 아쉽다.

Private 2016.11.02

tensorflow + anaconda2 + cuda 설치(노트북 사용)

예전에 tensorflow 를 처음 사용할 때, 리눅스 설치때문에 엄청나게 고생했었던 기억이 있다. 특히나 CUDA를 사용하는 부분에서, 노트북(GT 650M 사용)이 개발환경이다보니 일반적인 설치파일을 그냥 다운받는 것으로는 문제가 있어 많은 시간이 소모되었었는데, 얼마 전에 Ubuntu 16.04 버전으로 버전업하고, 그때의 과정을 되풀이 했는데, 너무나 쉽게 되었다. 1. Ubuntu 16.04 버전 설치 2. 그래픽카드 드라이버 설치 sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get install nvidia-370 설치 이후 재부팅하여, nvidia-settings 로 정상 설치 확인 3. CUDA 설치 sudo apt-get inst..

Research/Others.. 2016.10.06

신경회로망...

예전에 처음 신경회로망을 배우고, 알고리즘으로 학습을 모사할 수 있다는 것에 대해서 상당한 매력을 느꼈었는데, 잘 정제되어 있는 학습데이터가 없이는 결과가 좋지 않았기에 그 이후로 크게 관심을 두고 있지는 않았었다. 한동안 그러다가 비전과 관련한 분야에 대해 공부하면서, 특징점을 추출하기 위한 부분을 신경망을 활용하여 드라마틱한 성능의 향상을 보여주는 것을 보고 다시 관심을 가지게 되었었다. 신경망에 대해 다시 관심을 갖기 시작했던 때에는 호기심에 한창 CUDA로 GA에서 실수최적화 기법을 사용하는 알고리즘들을 병렬화시키는 부분에 대한 개발하고 있었다. 그래서 처음에는 당연히 가중치 계산에 대해서 예전보다 더 큰 규모의 신경망을 보다 빠르게 학습시키는 것에 대해서만 생각하고 있었다. CUDA 를 처음 활..

Research/Others.. 2016.09.23

마스터 알고리즘

이책의 저자인 페드로 도밍고스는 기호주의자(Inverse Deduction), 연결주의자(Back-propgation), 진화주의자(Genetic Programming), 베이즈주의자(Bayesian Inference), 유추주의자(Support Vector Machine)로 머신러닝의 다섯 종족을 구분해두었다. 머신러닝의 기본서 같은 책이라 추천받아 봤는데, 세상에나... 난 진화연산을 머신러닝의 한 분파로 분류해줄 줄은 몰랐다. 진화연산을 공부하면서 항상 고민되던 부분이 어떻게하면, 진화의 부분을 학습과 같이 수행할 수 있도록 하는가에 대한 것이었다. 예를 들면 역전파 알고리즘은 항상 결과의 피드백으로 가중치의 값을 변경해나아가는데, 이 과정을 하나의 목표를 향한 학습이라 볼 수 있다. 그런데, 진화..

Research/Others.. 2016.09.19

모토쿼티 프로요 업데이트 소감

본래 쿼티자판덕분에 참 잘쓰던 모토쿼티인데, 사실 좀 느린감이 없지않아 있었습니다. 오늘자인지 프로요 업데이트가 나왔길래 바로 달렸습니다. 업데이트 후에 버벅버벅 하시길래 그냥 아무생각없이 공장초기화를 수행 했습죠; 애초에 포맷하려고 마음 먹었던지라... 아무 미련없이 질러주시고, 부팅하고 나니 신세계네요 공장초기화 방법 - http://blog.naver.com/PostView.nhn?blogId=ajg147&logNo=100116711177 1. 기본 런처도 꽤 빠르게 반응함 이거 별거 아니지만 좀 충격입니다. 처음에 모토쿼티 부팅후에 버벅버벅 거리는 그 기본 런쳐를 보고 엄청난 실망감이 들었었는데, 이번엔 아니군요. 런쳐프로 깔았을때 느끼는 그 속도 수준으로 잘 움직여서 상당히 놀랐습니다;; 프로요..

CGP(Cartesian Genetic Programming)

CGP는 본래 논리 회로에 대해서 많이 사용되기 때문에, 별 관심이 없다가 최근에 몇가지 가능성을 보고 찾게된 이론이다. Linear GP 나 CGP 등 사실 Tree 기반의 GP 보다 구현이 쉽기 때문에 찾아보게 된 이유도 있다. 우선 기법에 대해 살펴보면 아래와 같다. 기존의 Tree 기반의 Genetic Programming과는 약간 다른 Integer String 으로 개체를 구성한다. 하나의 개체는 아래의 그림과 같이 구성할 수 있는데, (1) (2) 는 입력을 의미하고, (3) 은 해당 노드의 연산자를 의미한다. 즉, 1, 2 로 부터의 입력을 3 의 처리를 거쳐 output 1 을 만들어내는 식인데, 이때 CGP 에서 출력은 사용자가 지정하는 것이 아니라 자동으로 지정되는 형태를 갖는다. 이..

윈 7 32bit 에서 ReadyFor4GB 를 통한 메모리 4GB 사용의 문제

ReadyFor4GB 라는 프로그램을 사용해서 윈 7 32비트에서도 메모리를 4기가 모두 사용할 수 있는 것으로 알려져 있습니다. 4GB(3.11GB 사용가능) 과 같이 4GB를 쓰는데 왠지 4GB를 다 못쓰는것 같아서 좀 아까운 기분도 들고 저도 한번 사용해 봤는데, 부작용이 발생했습니다. Firewire 관련 부작용인데, PCMCIA Express 타입의 IEEE1394 카드에 Firewire 형태의 외부 카메라를 연결했는데, 인식만 되고 사용이 전혀 되지 않았습니다. PC IEEE1394 상의 데이터 전송 대역폭이 모자라서 데이터 전송이 불가능하다는 메세지가 계속 나타나더군요. 본래 잘 쓰던 카메라라 당연히 잘 될거라 생각했는데 안되니 좀 어이가 없었습니다. 원인을 한시간 가까이 찾아 헤메다가 이전..

SGA using CUDA

이전에 간단하게 만들어두었던 SGA의 Fitness Evaluation 동작만을 CUDA 에서 실행하는 코드 난 지금까지 이걸 올렸다고 생각하고 있었는데, 다시보니 그게 아니었다. 이건 뭐 XX도 아니고...;; (*) 일단 코드는 최적화는 전혀 되어 있지 않은 상태이며, 오히려 기본 GA보다도 Evaluation 성능이 떨어질 수 있다. 컴파일 환경은 쓰고싶은대로 아무거나 써도 이상이 없을 코드이며, 이전엔 Visual Studio 2008 에서 작업했었다. CUDA에 대해서 가장 기본적인 코드라고 생각해도 될 코드이기때문에 혹시라도 이런 종류의 알고리즘을 다뤄보고 싶으신분은 살펴보면 좋을 것 같다.

휴머노이드 보행 로봇의 적용을 위한 해 공간의 특성 분석 자료

로봇 게이트 생성 기법을 4족 보행 -> 휴머노이드로 이전하면서, 해공간의 특성 분석이 필요해서 몇가지 샘플트리에 대해 적합도 공간 변화가 어떤지 체크해본 그래프이다. 4족 보행 로봇의 경우 네 발로 지탱하는 특성 때문에, 안정성에 대한 지표가 크게 변하지 않지만, 휴머노이드는 넘어짐이라는 특성이 발생하기 때문에 아주 작은 변화에도 결과에 매우 큰 영향을 주는 현상이 나타날 수 있다고 생각했고, 그것을 증명하기 위한 그래프 자료이다. 아래와 같은 각각의 트리에서 ERC 값, 즉 실수값을 P1, P2, ... ,P8 의 변수로 표현하여, 각각 0.001 씩 증가시키면서 해공간의 변화를 나타낸 것이다. x 축은 0.001씩 몇번이나 증가 시켰는지를 의미하며, y 축은 적합도값을 의미한다. HP: (/ (/ ..