pip install pydot

sudo apt-get install graphviz (pip install graphviz 하면 안됨)


python 코드

from keras.utils import plot_model

plot_model(model, to_file='model.png') # 연결 구조 출력

plot_model(Focal_Loss, to_file='model_detail.png', show_shapes=True, show_layer_names=True) # input/output shape 까지 출력



아래는 keras.io 내용


plot_model

keras.utils.plot_model(model, to_file='model.png', show_shapes=False, show_layer_names=True, rankdir='TB')

Converts a Keras model to dot format and save to a file.

Arguments

  • model: A Keras model instance
  • to_file: File name of the plot image.
  • show_shapes: whether to display shape information.
  • show_layer_names: whether to display layer names.
  • rankdirrankdir argument passed to PyDot, a string specifying the format of the plot: 'TB' creates a vertical plot; 'LR' creates a horizontal plot.


'실습 > keras' 카테고리의 다른 글

loss weight 추가하기 및 학습 도중 loss weight 바꾸기  (1) 2018.01.13
merge  (0) 2017.01.23
Theano tensor  (0) 2017.01.21
theano.shared(value=W_values, name='W', borrow=True)  (0) 2017.01.21
theano.config.floatX  (0) 2017.01.21

https://parkmino45.blog.me/140128047554

https://parkmino45.blog.me/140130909136

'실습 > Ubuntu' 카테고리의 다른 글

ppa 추가 및 제거  (0) 2018.05.10
sh 파일에 권한 부여하기 (Permission denied error)  (0) 2018.03.05
우분투에서 숨김 파일/폴더 보기  (0) 2018.01.08
gcc 버전 확인  (0) 2018.01.08
우분투 프로세스 관리  (0) 2017.12.28

가끔 teamviewer 설치가 안될 때 사용하는 방법


wget https://download.teamviewer.com/download/teamviewer_i386.deb

sudo dpkg -i teamviewer*.deb

sudo apt-get -f install


window10에서 pip install 시 나는 에러.


에러가 나는 python lib 폴더를 찾은 뒤 내부 py 파일을 수정하면 해결된다.


우선 아래 경로 파일을 열어준다. (문제되는 python 경로로 들어가야함)

C:\Users\유저이름\Anaconda3\envs\패키지명\Lib\site-packages\pip\compat\__init__.py


75번째 줄에 s.decode('utf_8')를 s.decode('cp949')로 수정



참조 사이트 : https://github.com/pypa/pip/issues/4251

conda install nb_conda


# CondaIOError: Missing write permissions in: CONDAPATH

# 위와 같은 권한 문제 발생 시, 아래 명령어 입력 후 재입력.

# sudo chown -R [이름] /home/[이름]/anaconda2/


# jupyter notebook 실행

jupyter notebook

http://ubuntuhandbook.org/index.php/2017/07/install-python-3-6-1-in-ubuntu-16-04-lts/

Fatal error in launcher: Unable to create process using '"'


pip install .. 을

python -m pip install .. 로 바꿔쓴다

1. CUDA 설치

   https://developer.nvidia.com/cuda-toolkit-archive

   윈도우 버전에서 local 버전으로 설치 (fatch2까지 설치)


2. cuDNN 설치

   https://developer.nvidia.com/rdp/cudnn-archive

   로그인(회원가입 필요)하고 cuDNN 5.1 윈도우 버전을 다운받고,

   압축을 푼 후 cuda 속 폴더들을 "C:\Program Files\NVIDIA GPU Computing Toolkit/CUDA/v8.0" 경로에 넣어준다. (64-bit 기준)


3. 아나콘다 설치

   (참고사항 : tensorflow는 윈도우10에서 python3 버전 & 64-bit 만 지원한다)

   https://repo.continuum.io/archive/index.html

   위 사이트에서 Anaconda3 64bit 최신 버전을 받고 설치해준다. (설치 중 설정은 다 default, 마지막 learn more..만 체크해제)

    [아나콘다를 이용하는 이유는 가상환경을 통해 패키지 관리가 쉽기 때문]


4. 가상환경 생성 및 활성화

   Anaconda Prompt를 열고, 아래 명렁어를 입력하여 가상환경을 만든다.

   conda create -n [가상환경이름] python=3    #지울 땐  conda remove -n [가상환경이름] --all]

   activate [가상환경이름]   #가상환경을 활성화시킴. 가상환경을 쓸때마다 처음에 입력해줘야한다.

   


5. 텐서플로 설치

   (가상환경 활성화 후 진행)

   pip install tensorflow-gpu==1.2  #1.3부터는 cuDNN 6 이상이 필요함


6. 테스트

   (가상환경 활성화 후 진행)

   python

   import tensorflow as tf

   a = tf.constant(1)

   print(tf.Session().run(a))  # GPU 이름이 뜨고, 1이 잘 출력되면 성공


# 아래와 같은 메시지가 쭉 뜰텐데, 이는 무시하여도 무방하다.

2018-01-14 12:19:59.956771: W c:\tf_jenkins\home\workspace\release-win\m\windows-gpu\py\36\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE instructions, but these are available on your machine and could speed up CPU computations.

# 이러한 문구가 뜨는 이유는 tensorflow를 직접 빌드하여 설치하지 않아서 그렇다.

# 속도가 제대로 못나온다는 경고창인데, 저 문제를 해결해도 속도 향상을 체감하긴 힘들다고한다.

# 또한 직접 빌드하는 과정도 복잡하고 오류가 많이 발생한다.

# 정 거슬리면 import os, os.environ['TF_CPP_MIN_LOG_LEVEL']='2'를 먼저 입력하여 안뜨게할 수 있다.


7. PyCharm 설치

   PyCharm : pythono IDE(Integrated Development Environment)

   https://www.jetbrains.com/pycharm/download/

   위 사이트에서 community를 다운받고 설치 중 64-bit을 선택하여 설치


8. Anaconda 환경의 프로젝트 생성

      new project를 눌러 프로젝트 생성 창으로 넘어간다.


   위 사진과 같이 interpreter의 경로를 아나콘다 폴더(사용자/Anaconda3/)에서 아까 만든 가상환경의 python.exe를 선택한다. (Anaconda3/envs/[가상환경이름]/python.exe)

   새 python 파일을 만들고 import tensorflow 가 잘 되는지 확인한다. [단, python 파일 이름은 test or tensorflow는 안됨]

   ImportError: DLL load failed 라는 에러가 뜨면

   https://www.microsoft.com/en-us/download/details.aspx?id=53587

   위 주소에서 파일을 받아 설치한다. [Microsoft Visual C++ 2015 Redistributable Update 3]


끝.

'실습 > 설치' 카테고리의 다른 글

[ubuntu] anaconda jupyter notebook 사용하기  (0) 2018.01.21
python3.6 설치  (0) 2018.01.18
Ubuntu 16.04 LTS 설치 및 딥러닝 환경 설치  (0) 2018.01.12
python requirements.txt 설치하기  (0) 2017.12.28
SSD 설치 for ubuntu 16.03LTS  (0) 2017.12.28

Referring Expressions

 - 주어진 이미지의 특정 물체 영역을 설명하는 표현


Referring Expressions Comprehension

 - Referring Expressions으로 물체 영역을 찾는 문제


Referring Expressions Generation

 - 물체 영역으로 Referring Expressions을  생성하는 문제



Google RefExp (RefCOCOg)

 - 복잡한 문장으로 구성됨 (어려움)


RefCOCO

 - 간결한 문장으로 구성


RefCOCO+

 - RefCOCO보다 복잡한 문제로 구성


모두 다 MS-COCO 이미지 기반

'실습 > Datasets' 카테고리의 다른 글

Object Detection  (0) 2018.01.13

Object Detection

 - object classification (class 찾기) + object localization (bounding box 찾기)


Pascal VOC (pascal, voc)

  - 2007, 2012 dataset이 사용됨

    @ train : 07+12(0712) (trainval)

    @ test : 07 (test)

  - 기타 용도

    @ classification

    @ segmentation


MS-COCO (COCO)

  - 데이터 수가 큼

  - Pascal VOC 보다 어려운 문제

  - 기타 용도

    @ classification

    @ segmentation


Visual Genome (VG)

  - 다양한 데이터들이 정의됨

  - 아직은 잘 안쓰임

  - 기타 용도

    @ predict relationship

    @ generate scene graph

    @ image captioning

    @ dense captioning (확실X)

'실습 > Datasets' 카테고리의 다른 글

Referring Expressions Comprehension/Generation  (0) 2018.01.13

.prototxt

- 모델의 레이어 구성 및 속성 정의

- layer들을 나열한 형태 (쌓아가는 형태임)

  @ name : 레이어의 이름 (임의의 이름 가능)

  @ type : 레이어의 타입을 정의 (각 레이어는 c++ 또는 python 으로 구현하고 type을 통해 매핑 시킴)

  @ bottom : input 데이터 명 (이전 레이어들의 top중 하나를 입력하면 연결됨)

  @ top : output 데이터 명 (이후 bottom과 연결됨, bottom과 똑같은 이름으로 정의 가능)


.solver.prototxt

      - 모델을 불러올 때(학습을 위해) 사용됨

- 학습 옵션을 정의

  @ .prototxt 파일의 경로 정의

  @ lr, epoch, snapshot 등을 정의


.deploy.prototxt

학습이 완료된 모델에 임의의 입력을 다룰 때 사용


.caffemodel

학습된 모델 파일




import keras.backend as K


w1 = K.variable(1.2)

w2 = K.variable(1.6)


model.compile( .., loss_weights=[w1, w2], ..) # loss별 weight 부여


class Dynamic_loss_weights(Callback): # 콜백클래스 상속

    def __init__(self, w1, w2):

        self.w1 = w1

        self.w2 = w2

    def on_epoch_end(self, epoch, log={}): # epoch 끝날 때마다 호출됨

        K.set_value(self.w1, K.get_value(self.w1) + 0.1)

        K.set_value(self.w2, K.get_value(self.w2) - 0.1)


new_callback = Dynamic_loss_weights(w1, w2)


model.fit(..., callbacks = new_callback, ...) # 여러 콜백클래스를 사용하면, 콜백리스트에 append 시켜주면 됨

# model.fit_generator 도 같은 방법으로 추가

'실습 > keras' 카테고리의 다른 글

model 시각화 방법  (0) 2018.02.14
merge  (0) 2017.01.23
Theano tensor  (0) 2017.01.21
theano.shared(value=W_values, name='W', borrow=True)  (0) 2017.01.21
theano.config.floatX  (0) 2017.01.21

0. 환경

  - GTX Titan X

  - ASUS board



1. USB 설치 (rutus 2.18 사용)

  - ubuntu 16.04.03 LTS 64bit

  - BIOS setting : 기타 OS, fast boot off (ASUS)

  - English & Seoul (한글로 설정하면 나중에 오류 검색하기 어려움)


2. sudo apt-get install upgrade


3. 그래픽 드라이버 설치

  3.1 환경성정 -> Software & Updates -> Additional Drivers 탭 -> NVIDIA Corporation 항목에서 드라이버 선택(nvidia-384) -> Apply Changes

  3.2 재부팅

  3.3 터미널(Ctrl+Alt+T) -> nvidia-smi

    -  잘 뜨면 성공


4. CUDA 8.0 설치

  https://developer.nvidia.com/cuda-80-ga2-download-archive

  (cuda 9.0 : https://developer.nvidia.com/cuda-90-download-archive)

  위 사이트에서 run 파일을 받아 설치하고, patch2도 설치

  (드라이버는 이미 설치했으므로 no 선택)

  (Ctrl + C 누르면 약관은 생략 가능)

~/.bashrc에 아래 항목 추가

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64



5. cuDNN 5.1 설치

  https://developer.nvidia.com/rdp/cudnn-download

  위 사이트에서  cuDNN v5.1 Library for Linux 다운

cd cuda
sudo cp include/cudnn.h /usr/local/cuda/include
sudo cp lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*


6. CUDA, cuDNN check

CUDA : nvcc --version

cuDNN : cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2



7. sudo apt install nvidia-cuda-dev

8. anaconda 설치

  https://www.anaconda.com/download/#linux

  위 사이트에서 Anaconda2 64-bit installer 다운 및 설치


9. 최종확인

새 터미널 실행

conda create -n tf python=2  (conda 찾을 수 없으면 bashrc에 conda path를 등록해야함)

source activate tf

pip install tensorflow-gpu==1.2 (1.3 버전은 cuDNN 6.0 필요)

python

import tensorflow as tf

a = tf.constant(1)

sess = tf.Session()   (설치된 GPU에 관한 log가 떠야 정상)

print sess.run(a)   (1이 출력되면 정상)

sess.close()


10. 한글 설정

  http://hochulshin.com/ubuntu-1604-hangul/

  - 한/영 키 오류나면

    http://b1ix.net/207


11. teamviewer 설치

  https://www.teamviewer.com/ko/download/linux/

  teamviewer 12는 특별한 설치법이 필요했는데, 13부터는 그냥 홈페이지에서 받고 실행시키면 잘됨



'실습 > 설치' 카테고리의 다른 글

python3.6 설치  (0) 2018.01.18
윈도우10에서 Tensorflow 설치하기 (with Anaconda3, PyCham)  (0) 2018.01.14
python requirements.txt 설치하기  (0) 2017.12.28
SSD 설치 for ubuntu 16.03LTS  (0) 2017.12.28
opencv 설치  (0) 2017.08.05

터미널

ls -a


GUI

Ctrl + h

'실습 > Ubuntu' 카테고리의 다른 글

sh 파일에 권한 부여하기 (Permission denied error)  (0) 2018.03.05
Ubuntu 기초 정리  (0) 2018.02.12
gcc 버전 확인  (0) 2018.01.08
우분투 프로세스 관리  (0) 2017.12.28
gcc 버전 바꾸기  (0) 2017.11.30

gcc --version

'실습 > Ubuntu' 카테고리의 다른 글

Ubuntu 기초 정리  (0) 2018.02.12
우분투에서 숨김 파일/폴더 보기  (0) 2018.01.08
우분투 프로세스 관리  (0) 2017.12.28
gcc 버전 바꾸기  (0) 2017.11.30
cmake, make  (0) 2017.08.05

ps : 프로세스 목록

nvidia-smi : gpu memory 사용량 확인 및 해당 프로세스 목록


kill -15 PID : 정상 종료 시키기

kill -9 PID : 강제 종료 시키기

'실습 > Ubuntu' 카테고리의 다른 글

Ubuntu 기초 정리  (0) 2018.02.12
우분투에서 숨김 파일/폴더 보기  (0) 2018.01.08
gcc 버전 확인  (0) 2018.01.08
gcc 버전 바꾸기  (0) 2017.11.30
cmake, make  (0) 2017.08.05
pip install -r requirements.txt


'실습 > 설치' 카테고리의 다른 글

윈도우10에서 Tensorflow 설치하기 (with Anaconda3, PyCham)  (0) 2018.01.14
Ubuntu 16.04 LTS 설치 및 딥러닝 환경 설치  (0) 2018.01.12
SSD 설치 for ubuntu 16.03LTS  (0) 2017.12.28
opencv 설치  (0) 2017.08.05
gcc-5, g++-5 설치  (0) 2017.07.02

대상 : https://github.com/weiliu89/caffe/tree/ssd


1. ssd 파일 다운로드

git clone https://github.com/weiliu89/caffe.git
cd caffe
git checkout ssd



2. caffe 설치

# Modify Makefile.config according to your Caffe installation. cp Makefile.config.example Makefile.config make -j8


# Make sure to include $CAFFE_ROOT/python to your PYTHONPATH.

gedit ~/.bashrc # CAFFE_ROOT와 PYTHONPATH를 추가

# 터미널 재시작


conda create -n ssd python=2

source activate ssd

make py

pip install -r python/requirements.txt


python

import caffe # 별 반응없이 넘어가면 성공 !!




2-1. make 시 오류


google/protobuf/arena.h: No such file or directory


https://github.com/google/protobuf/blob/master/src/README.md

에 가서 protobuf 설치


아나콘다 사용 시

conda uninstall libprotobuf

conda uninstall protobuf



hdf5.h: No such file or directory


sudo apt-get install libhdf5-10
sudo apt-get install libhdf5-serial-dev
sudo apt-get install libhdf5-dev
sudo apt-get install libhdf5-cpp-11
find /usr -iname "*hdf5.h*"
/usr/include/hdf5/serial/hdf5.h
export CPATH="/usr/include/hdf5/serial/"


출처 : https://github.com/NVIDIA/DIGITS/issues/156


2-2. import 시 오류


dynamic module does not define module export function


아나콘다로 python 2.7 가상환경 만들어서

python/requirements.txt 설치로 해결함



3. 학습 시 오류


error == cudaSuccess (10 vs. 0)  invalid device ordinal


examples/ssd/ssd_pascal.py

332번째 줄에서

gpus = "0,1,2,3"  --> gpus = "0"

으로 수정

'실습 > 설치' 카테고리의 다른 글

Ubuntu 16.04 LTS 설치 및 딥러닝 환경 설치  (0) 2018.01.12
python requirements.txt 설치하기  (0) 2017.12.28
opencv 설치  (0) 2017.08.05
gcc-5, g++-5 설치  (0) 2017.07.02
opencv 설치  (0) 2017.07.02

sudo mv /usr/bin/g++ /usr/bin/g++.bak

sudo mv /usr/bin/gcc /usr/bin/gcc.bak


sudo ln -s g++-4.9 g++

sudo ln -s gcc-4.9 gcc



'실습 > Ubuntu' 카테고리의 다른 글

Ubuntu 기초 정리  (0) 2018.02.12
우분투에서 숨김 파일/폴더 보기  (0) 2018.01.08
gcc 버전 확인  (0) 2018.01.08
우분투 프로세스 관리  (0) 2017.12.28
cmake, make  (0) 2017.08.05

undefined reference to `google::base::CheckOpMessageBuilder::NewString[abi:cxx11]()'

.build_release/tools/get_image_size.bin

등의 에러.


anaconda를 이용했을 때 생기는 에러다


conda install protobuf 로 해결




undefined reference to `google::FlagRegisterer


 sudo apt-get remove libgflags2v5



+ Recent posts