기본 콘텐츠로 건너뛰기

Tensorflow를 backend로 사용하는 Keras 설치하기 (윈도우)

참조 : https://tensorflow.blog/ - 윈도우즈에 아나콘다, 텐서플로우 설치하기


Anaconda

파이썬 패키지가 설치된 배포판 중에 하나이다.
anaconda로 가상환경을 만들 수 있다.

일반적으로 python 을 다운 받아서 설치하면, 환경변수에 실행파일이 자동으로 추가되어
시스템 내에서 접근이 가능하다.
하지만, python을 사용할때 2.7이나 3.6을 동시에 사용할 때 패키지를 설치할때 겹치거나 우선순위가 2.7로 되어있어 3.6을 사용하기 어려울 수 있다.
이러한 문제를 해결하기 위해 anaconda 내에서 가상환경을 만든다.

anaconda를 설치하면 anaconda폴더가 생기고, 폴더 내에 envs 폴더가 생긴다.
만약 내가 "abc"라는 가상환경을 만들고,
그 가상환경에는 tensorflow를 backend로 사용하는 keras를 설치하면, 그 가상환경에서만 keras를 사용할 수 있는 것이다.
시스템에 설치했던 python에서는 import keras를 실행하면 없는 모듈이라고 나오게된다.
이렇듯 필요할 때마다 가상환경을 만들어서 사용할 수 있다.
"a" 가상환경에는 python 2.7에 opencv 2.x 버젼을 설치하고,
"b" 가상환경에는 python 2.7에 opencv 3.x 버젼을 설치할 수 있게 된다.

그러면 pycharm을 실행해서 처음에 프로젝트를 만들때 interpreter로 내가 생성한 가상환경을 선택하면 되는 것이다.

가상환경을 만드는 방법들은 여러가지이다.
mac에서 tensorflow설치하려고했을때는 virtualenv를 설치하라고 추천되어있었다.

하지만, 윈도우 환경에서 지금까지 anaconda를 사용하고 있었고 많은 사람들이 anaconda를 사용하는 걸로 알고 있다.



Tensorflow를 backend로 사용하는 Keras 설치하기 (윈도우) 시작.



(2017년 6월 23일 기준)

현재 python 3.6도 keras지원된다.
개인적으로 그냥 제일 높은 버젼을 설치하는것을 선호한다.

python 3.6일 지원해주는 anaconda 4.4.0을 다운받아서 설치한다.
Navigator라는게 설치되는데 사용해보지않았고, 필요없는거같다.

대신에 anaconda prompt를 이용해서 설치하면된다.
(현재 컴퓨터에 anaconda2와 anaconda3 두개가 설치되어있어서 2개가 뜨는거같다.)




conda create --no-shortcuts -n [가상환경이름] python=3.6 anaconda

중간에 y 라고 하면된다.
activate [가상환경이름]
그러면 (가상환경이름) 이 앞에 생성된다.
이제 가상환경 내로 들어온 것이다.
여기서 이제 원하는 패키지를 추가로 설치하면된다. numpy나 scipy, scikit-learn 등등은 기본적으로 설치되어있다.

pip install tensorflow-gpu
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-1.2.1-cp36-cp36m-win_amd64.whl
(현재 tensorflow 1.3버젼이 나오면서 pip로 설치하면 1.3버젼이 설치된다.
하지만, cuda 8.0과 cudnn5.1v과 충돌이 일어나는지
홈페이지의 언급하고있는 오류가 발생하게 된다.


42011070
No module named "pywrap_tensorflow"

그래서 따로 강제로 1.2버젼을 언급하며 설치를 해야한다. (2017/8/19 수정))
ipython 치고


import tensorflow as tf
tf.__version__
확인되었으면 exit를 치고 나와서
케라스를 설치한다.
pip install keras
다시 ipython을 실행해서

import keras를 실행시켜본다.

위와같이 나오면 성공적으로 설치된 것이다.

C:\Users\컴퓨터이름\.keras
{
    "image_dim_ordering": "tf", ( 이 부분 변경)
    "epsilon": 1e-07, 
    "floatx": "float32", 
    "backend": "tensorflow"
}
채널 순서를 tensorflow기준으로 바꾸는 것이다.

위 부분은 예전 keras 설치때 필요한 부분이었습니다.(2017년10월17일)

이것으로 가상환경(minpy36)에 tensorflow와 keras를 설치완료했다.


포맷 이후에 설치하기에는 모자란 부분이 있어서 보충하자면,

순서를 반드시 지켜야한다

1. vs2015를 먼저 설치한다( 이부분은 설치안해도된다는 사람도있다)
2. cuda 8.0v을 설치한다.(그래픽카드에 맞는 버젼을 설치하면 되고, tensorflow 홈페이지와 엔비디아 홈페이지를 참고하면 된다. 그리고 cuda를 깔기 전에 그래픽카드 드라이브도 물론 설치되어있어야한다.)
3. cudnn5.1v 을 다운받아 압축을 풀고, cuda가 설치된 폴더 기본적인 경로는 다음과 같다
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0 이곳에 덮어쓰기를 한다.
4. 이 이후로 현재 페이지의 내용을 그대로 따라가면된다.
아나콘다 설치 후 가상환경을 만들어 그곳에 tensorflow와 keras를 설치한다.



댓글

이 블로그의 인기 게시물

데이터 열로 추가하여 쌓기

import numpy as np x = [] a = np.array([1,2,3]) Out[5]: array([1, 2, 3]) a.shape Out[6]: (3,) np.concatenate((x,a)) Out[7]: array([ 1.,  2.,  3.]) x = np.concatenate((x,a)) x = np.concatenate((x,a)) Out[10]: array([ 1.,  2.,  3.,  1.,  2.,  3.]) x = [] x = np.concatenate((x,a), axis=1) => 오류발생  -. x가 차원이 안맞아서 안됨.  np.expand_dims(a,axis=1) Out[14]:  array([[1],        [2],        [3]]) b = np.expand_dims(a,axis=1) b.shape Out[16]: (3, 1) => (3,1)짜리 차원으로 확장한 후 열 방향으로 쌓을 수 있다. => 아래는 empty함수나 zeros를 사용하여 공간을 만드는 작업 x = [] x = np.empty((3,0)) x Out[19]: array([], shape=(3, 0), dtype=float64) x = np.zeros((3,0)) x Out[21]: array([], shape=(3, 0), dtype=float64) x = np.zeros((3,0)) a Out[23]: array([1, 2, 3]) b Out[24]: array([[1],        [2],        [3]]) np.concatenate((x,b), axis=1) Out[26]: array([[ 1.], ...

HTML 테스트

Lab 시리즈 화장품 구매(파란색, 가장크게) <span style="color: blue; font-size: x-large;">Lab 시리즈 화장품 구매(파란색, 가장크게)</span><br /> Lab 시리즈 화장품 구매(검은색, 보통) <span style="color: blue; font-size: x-large;"><br /></span> Lab 시리즈 화장품 구매(검은색, 보통)<br /> Lab 시리즈 화장품 구매(검은색, 보통, Airal) <span style="font-family: Arial, Helvetica, sans-serif;">Lab 시리즈 화장품 구매(검은색, 보통, Airal)</span><br /> Lab 시리즈 화장품 구매(검은색, 보통, Airal, Bold) <span style="font-family: Arial, Helvetica, sans-serif;"><b>Lab 시리즈 화장품 구매(검은색, 보통, Airal, Bold)</b></span> 하나의 문단을 의미하는 <p>태그 문장의 일부를 의미하는 <span>태그 강제줄바꿈을 의미하는 <br>태그 비교적 넓은 지역을 묶어 지정 </div>