2017. 2. 28. 17:39

# 참고 (http://www.popit.kr/tensorflow-install-ubuntu16/)

www.poptip.kr


Tensorflow 설치하기 (Ubuntu 16)

먼저 이 글은 텐서플로우 문서에 있는 내용의 요약본이라고 생각하시면 정확합니다. 저는 우분투 14에서 텐서플로우 사용 중이였었는데 이상하게 시스템이 불안했습니다.  정확한 진단없이 드라이버 문제라고 생각하고 그래픽 드라이버 업데이트를 시도하다가 무한 부팅 대마왕을 만나게 되었고 그 결과 제 리눅스 데스크탑을 몇 개월간 고이 모셔두게 되었습니다. 하지만 페친님 도움으로 우분투 16에서 호환성이 더 좋다는 이야기를 듣고 우분투 16에 텐서플로우를 설치하게 되었습니다. 아래는 제가 텐서플로우를 설치한 방법입니다.

0. 바이오스 업데이트

제 시스템에 있던 가장 큰 문제는 바이오스가 그래픽 카드를 제대로 지원하지 못해서 생긴 사고(?) 입니다. 윈도우에서는 잘 돌아갔지만 이상하게 리눅스에서 문제를 일으킨다면 최신 바이오스가 있는지 체크해 보시길 바랍니다. 제 메인보드는 Z77X 칩셋 입니다.

1. Ubuntu 16 설치

리눅스도 윈도우 만큼이나 설치가 쉽습니다. 자세한 리눅스 설치법은 따로 설명하지 않습니다. 다만 제가 사용한 버전은 아래 그림과 같습니다 (제 시스템 스펙이 다 나오는군요. 업글하고 시포요ㅠㅠ)

system_spec

2. 그래픽카드 드라이버 업데이트

바닐라 상태(아무것도 설치되지 않은 상태)의 우분투 16에 System Settings > Software & Updates > Addition Drivers 탭으로 이동하신 다음 NVIDIA binary 드라이버를 선택해주시면 자동으로 업데이트 해줍니다. 업데이트가 완료되면 재부팅 한 번  해주세요.

driver_update

3. Cuda Toolkit 설치

저는 apt-get을 사용해서 cuda-toolkit을 설치 했습니다.

cuda-toolkit

4. cuDNN v4 설치

https://developer.nvidia.com/rdp/cudnn-download 에서 cuDNN v4 Library for Linux를 다운로드 받습니다.

cuDNN

다운로드 받은 파일을 압축해제하면 cuda폴더가 나옵니다. cuda 폴더로 이동합니다.

cudnn1

cuda폴더에는 include폴더와 lib64폴더가 있는 것을 볼 수 있습니다.

cudnn2

cuda 폴더를 /usr/local 아래로 복사합니다.  e.g) /usr/local/cuda

복사가 끝났으면 아랫줄을 실행하여 권한 설정을 해줍니다.

GPU 지원을 사용하기 위해서 .bashrc 또는 .bash_profile 에 다음 라인을 추가합니다.

5. Virtualenv 설치

저는 파이썬 3를 사용합니다만 파이썬2를 선호하시는 분들은 아래 명령어에서 python3를 python으로 바꿔 주시면 됩니다.

아래 명령어를 실행합니다.

virtualevn_install

위 명령어가 성공적으로 실행됐으면 tensorflow 폴더가 생성됩니다.

tensorflow_folder

virtualenv 를 활성화 합니다.

virtualevn_install

사용중인 파이썬 버전을 확인한후

python_version

아래 목록에서 해당 파이썬 버전의 텐셔플로우 바이너리 URL을 찾고

export를 실행합니다.

아래 명령어로 텐셔플로우를 설치합니다.

 

이제 설치는 다 끝났습니다.

6. 테스트

실행 하시면 아래와 비슷한 결과를 보실 수 있습니다.

console

6. Tips

아직 리눅스, 파이썬, 텐서플로우에 익숙하시지 않은 분들을 위한 팁입니다. 댓글에 질문을 남겨주시면 필요한 내용이다 싶은 내용들은 여기 팁란에 추가하도록 하겠습니다.

Vritualenv

virtualenv를 아주 간단하게 설명하면 고립된 환경입니다. 혹시나 모를 충돌을 방지해서 실험 환경을 독립적으로 가둬두는 겁니다.

따라서 시스템 재부팅, 콘솔 재시작등 다시 virtualenv를 활성화 시켜야 기존에 설치하신 텐셔플로우를 제대로 사용하실 수 있습니다.

활성화 시키는 방법은 아래와 같습니다.

활성화가 된경우 (tensorflow)가 붙어 있는 것을 보실수 있습니다.

비활성화 하시는 방법은 아래와 같습니다.

Jupyter notebook

개발자에게 IntelliJ, Visual Studio 와 같은 IDE가 있다면 데이터 사이언티스트에게는 Notebook이 있습니다.

간단하게 IDE처럼 실행하고 결과를 바로 볼 수 있게 도와주는 툴이라고 생각하시면 됩니다.

제 생각에는 아주 간단한 테스트를 제외하고 아무도 파이썬 콘솔에서 텐서플로우 코드를 작성하지 않을거라 생각합니다.

저는 대부분의 경우 Jupyter notebook을 사용하여 텐서플로우를 학습하고 있습니다.

설치 방법은 아래와 같습니다.

실행 방법은 아래와 같습니다.

실행하시면  아래와 같이 웹브라우져에서 노트북이 열립니다. 오른쪽 상단의 new 버튼을 클릭하고 notebook섹션에서 python[root]를 선택해서 노트북을 하나 생성합니다.

notebook_start

그리고 파이선 콘솔과 같이 사용하시면 됩니다.

notebook_run1

노트북을 실행하실 때 열어둔 콘솔에서 로그를 확인 하실 수 있습니다

notebook_gpu

GPU 모드 체크

지금 텐서플로우가 동작은 하는데 cpu에서 동작하는 것인지 gpu에서 동작하는 것인지 확인하시고 싶으실 겁니다.

console

저는 gpu모드를 사용중이기 때문에 위 그림과 같이 아래서 4번째 줄에 마지막에 (/gpu:0)이 로그에서 보여지고 있습니다. 따라서  gpu에서 잘 동작중 임을 알 수 있습니다.


Posted by citrine
2017. 2. 13. 19:50


SYSTEMCTL

Starting with Ubuntu 15.04, Upstart will be deprecated in favor of Systemd. With Systemd to manage the services we can do the following:

systemctl start SERVICE - Use it to start a service. Does not persist after reboot

systemctl stop SERVICE - Use it to stop a service. Does not persist after reboot

systemctl restart SERVICE - Use it to restart a service

systemctl reload SERVICE - If the service supports it, it will reload the config files related to it without interrupting any process that is using the service.

systemctl status SERVICE - Shows the status of a service. Tells whether a service is currently running.

systemctl enable SERVICE - Turns the service on, on the next reboot or on the next start event. It persists after reboot.

systemctl disable SERVICE - Turns the service off on the next reboot or on the next stop event. It persists after reboot.

systemctl is-enabled SERVICE - Check if a service is currently configured to start or not on the next reboot.

systemctl is-active SERVICE - Check if a service is currently active.

systemctl show SERVICE - Show all the information about the service.

sudo systemctl mask SERVICE - Completely disable a service by linking it to /dev/null; you cannot start the service manually or enable the service.

sudo systemctl unmask SERVICE - Removes the link to /dev/null and restores the ability to enable and or manually start the service.


# 추가적으로 sysv-rc-conf를 설치하여 활용할 수 있다.


- 명령 설치

apt-get install sysv-rc-conf


명령 시작

sysv-rc-conf

Posted by citrine
2017. 2. 13. 16:07

원래 우분투10버전과 페도라15녀석을 멀티부팅용으로 설치해서 써왔다. 근데 필요에 의해 윈도우에서 가상 운영체제를 돌릴 수 있는 S/W를 사용하게 되었다. 이러한 류의 S/W중 가장 잘 알려진 Virtual Box와 VMware중 고민을 하던 찰나 작년초에 수업에서 한번 써봣던 VMware를 설치했다. 페도라녀석은 제대로 깔렸다... 그런데 우분투 녀석은

이런...

 

VMware Easy Install이란게 떳다... 그래서 걍 로그인 후 startx로 부팅해보면 난 사이드바만 뜨고 아무것도 안뜬다... 구글신한테 물어보니 stackoverflow와 유투브에서 해답이 나오더라.

 

StackOverflow 해결

  1. Restore the /etc/issue file:
  2. sudo mv /etc/issue.backup /etc/issue
  3. Restore the /etc/rc.local file:

    sudo mv /etc/rc.local.backup /etc/rc.local

  4. Restore the /etc/init/lightdm.conf file:

    sudo mv /opt/vmware-tools-installer/lightdm.conf /etc/init

Youtube 해결

sudo mv /etc/issue.backup /etc/rc.local

sudo mv /opt/vmware-tools-installer/lightdm.conf /etc/init

 

 

저 명령어를치고 나서 마지막으로 sudo reboot로 재부팅 고고

 

참고로 위의 이미지처럼 요번엔 Fedora13과 작년에 릴리즈된 Ubuntu13.10을 올렸다.

뭘써도 해결이 된다. 핵심은 sudo mv /opt/vmware-tools-installer/lightdm.conf /etc/init 이다.

 

 

해결ㅋ

 

링크

stackoverflow : http://stackoverflow.com/questions/10740243/ubuntu-intallation-is-stuck-at-vmware-tools-installation

youtube : http://www.youtube.com/watch?v=fmyRbxYyOmU

Posted by citrine
2017. 2. 13. 13:46


'sudo apt-get install openssh-server' reports 'E: Package openssh-server has no installation candidate'
오류 발생시 해결 방법




SSH Server 패키지를 설치하기 위해서
$ sudo apt-get install openssh-server


위와 같이 실행을 했더니... 아래와 비슷한 오류가 발생했다.
(한글이 깨지고 있다면 메시지 일부가 안보여서 약간 다를 수 있겠지만 유사할 듯..) 


Reading package lists... Done

Building dependency tree
Reading state information... Done
Package openssh-server is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package openssh-server has no installation candidate




문제의 원인은 미러 사이트에서 패키지를 다운받아 오지 못한다는거~

아래 링크를 참고하여

>>> [우분투] 설치 후에 가장 먼저 해야 할 일 <<<


 

/etc/apt/sources.list 의 미러 사이트를 변경한 후에

$ sudo apt-get update
패키지 업데이트 하고

$ sudo apt-get install openssh-server

ssh-server 설치를 하면 된다.

끝.

Posted by citrine
2017. 2. 13. 09:31

Ubuntu는 최초 로그인시 Root 로그인이 되지 않는다. 개발용으로 편히 사용하기 위해서는 다음과 같은 절차로 진행한다.


#절차

1. 등록한 계정으로 로그인하기


2. root 권한 얻기

  sudo -i


3. root 패스워드 등록히기

  passwd root


4. 재로그인 해보기


Posted by citrine