윈도우즈 환경에서 Pytorch 0.3.1 버전을 최신버전 (0.4.0)으로 업그레이드하기 (w Anaconda & pip3) + error: module torch has no attribute empty & pip3 pytorch install 에러 해결법

0. 서론

저번 포스팅을 통해 필자는 pytorch 0.3.1 을 설치했다. 이제 신나게 anaconda prompt에 다음의 코드(Deep Learning with PyTorch: A 60 Minute Blitz 튜토리얼 맨 앞부분)를 입력한 순간


from __future__ import print_function
import torch
x = torch.empty(5, 3)

module ‘torch’ has no attribute ‘empty’

라는 에러가 떴다.

검색을 해보니 pytorch 0.3.1은 구버전이라 해당 기능을 지원하지 않는다는 것이었다. 게다가 검색을 해보니 이제 pytorch.org에서 정식으로 윈도우즈용 pytorch를 지원해준다고 한다. 기쁘지만 내 눈에 흐르는 눈물은 뭘까… 자, 눈물을 닦고 pytorch를 최신 버전(0.4.0)으로 업그레이드해보자.


1.Pytorch uninstall 하기

anaconda prompt를 관리자권한으로 실행시키고, 다음의 명령어를 입력한다.

conda uninstall pytorch

pytorch가 깨끗하게 지워진다.


2.개발환경에 알맞은 Pytorch 설치하기

pytorch.org에 들어가면 메인페이지를 보면 OS와 package manager, python, CUDA에 따라 그에 알맞은 설치 명령어를 알려주는 코너가 있다. (스크롤바를 내려보면 나온다.)

pytorch.png

필자는 OS로는 Windows, Package Manager로는 conda, Python은 3.6, CUDA는 None (cpu로 돌릴 것이어서)으로 선택했다.

그러면 다음과 같은 명령어를 입력하라고 친절하게 알려준다.

conda install pytorch-cpu -c pytorch
pip3 install torchvision

아나콘다 프롬프트창에 위의 명령어를 차례로 쳐보자.


3.pip 에러 해결

그러면 pip 에러가 뜰 것이다… 하지만 거의 다 왔다. 포기하지 말자. pip를 업그레이드해주면 되는 문제이다. 다음의 명령어를 쳐보자.

conda update pip

업데이트가 완료되었으면 다시 다음의 명령어를 쳐보자.

pip3 install torchvision

pytorch upgrade가 완료되었다!


4.결론

이제 여러분은 pytorch 최신 버전을 설치완료하였다. 축하한다.

필자는 오늘 머신러닝과 컴퓨터비전을 공부할 예정이다. 여러분도 좋은 주말 보내길!

 

 

Windows 환경에서 Anaconda를 이용하여 Pytorch 구버전 (0.3.1) 설치하기 + activate.bat 은 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치파일이 아닙니다 에러 해결법

0. 서론

필자가 저번 포스팅에서 언급한 것이 있다. anaconda는 수학과 과학 패키지를 포함한 파이썬이므로 파이썬을 먼저 설치해줄 필요가 없다. 따라서 ‘어? 나 이미 python 설치했는데?’ 하시는 분들은 살포시 위의 링크를 타고 들어가 python과 anaconda를 깨끗히 지워주시면 된다.

pytorch는 anaconda를 이용하면 깔끔하게 설치할 수 있다. 인터넷에 anaconda pytorch installation을 구글링해보면 대부분 다음과 같은 스텝을 따른다.

첫번째. Anaconda 설치하기

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

에 들어가 윈도우즈 이미지를 클릭 > python 3.6 version 64 bit graphical installer 다운로드 > 인스톨러  exe 를 실행시켜 아나콘다를 다운로드

두번째. Anaconda prompt 를 관리자 권한으로 실행

실행한 순간 다음과 같은 에러메시지(역시 쉽게 되지 않는다.)가 창에 보인다. (에러메시지가 안나타는 분들을 설치가 잘 된 것이니 다음 스텝으로 넘어가도록 하자.)

activate.bat 은 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치파일이 아닙니다

간혹 ‘내가 D 드라이브에 설치해서 그런가?’ 하시는 분들이 계실텐데 아니다. 이것은 anaconda installer 의 고유한 버그이다. 이 버그가 fix된 버전은 최신 버전의 miniconda installer에 포함되어있다. (이 링크와 이 링크를 참고해보자.) ‘anaconda를 설치할건데 miniconda는 왜?’ 라는 생각이 들 수 있으나 필자를 믿고 설치해보자.

그러면 지금부터 필자와 같은 에러를 경험한 분들을 위한 anaconda + pytorch + spyder 설치하기를 본격적으로 설명하도록 하겠다.


1. 설치한 anaconda를 다시 지운다

anaconda가 설치된 경로를 모르겠으면 Anaconda Prompt의 에러메시지를 다시 봐보자.

파일경로

필자의 경우, C:\Users\Kwon\Anaconda3 에 Uninstall-Anaconda3 . exe 가 존재했다. 더블클릭해서 anaconda를 지워주자.


2. Miniconda installer & Miniconda 다운로드

64 bit와 32 bit 컴퓨터용 인스톨러에 대한 링크가 있다. 필자의 컴퓨터는 64 bit이므로 64 bit 용 Miniconda3 installer를 다운받았다.

64 bit Miniconda installer

https://repo.continuum.io/miniconda/Miniconda3-latest-Windows-x86_64.exe

https://repo.continuum.io/miniconda/Miniconda2-latest-Windows-x86_64.exe

32 bit Miniconda installer

https://repo.continuum.io/miniconda/Miniconda3-latest-Windows-x86.exe

https://repo.continuum.io/miniconda/Miniconda2-latest-Windows-x86.exe

다운받은 installer exe를 실행시켜 Miniconda를 다운로드한다.  설치할 폴더는 원하는대로 선택하도록 하자. 필자는 D 드라이브에 Anaconda 폴더를 만들어 다운받았다.


3. Anaconda 가장 최신 버전을 설치한다

Anaconda prompt를 관리자 권한으로 실행한다. 실행 방법을 모르는 분들은 윈도우즈 작업표시줄의 윈도우즈 아이콘 클릭 > 검색(돋보기 모양)에 anaconda prompt 입력> anaconda prompt를 마우스 오른쪽 버튼으로 클릭> 관리자 권한으로 실행 선택

이 포스팅의 작성 시점으로 가장 최신 버전의 anaconda는 5.2이므로 anaconda prompt 에 다음과 같이 입력한다.

conda install anaconda=5.2

그러면 무슨 패키지들을 설치할 것이고 업그레이드 시킬것이고 다운그레이드 시킬 것인지 열거하면서  Proceed <[y]/n>가 나온다. y를 입력.

패키지들이 설치되는데 시간이 꽤 오래 걸리니 기다리는 동안 다른걸 해보자. 필자는 기다리다가 밥을 먹고 왔다.

done이 떠있으면 설치가 완료된 것이다.

prompt 창에 conda list를 쳐보자. 설치된 패키지들의 리스트가 나오면 설치가 잘 된것이다.


4. Pytorch 설치하기

prompt에 다음과 같은 명령어를 입력한다.

conda install -c peterjc123 pytorch

(+ 구글링을 해보면 conda install -c peterjc123 pytorch=0.1.12 을 하라고 하는데 이러면 또 PackagesNotFoundError: The following packages are not available from current channels 에러가 뜬다. 아마 이 명령어가 outdated 한것 같다 (링크 참조). 그러니 이 명령어는 더이상 사용하지 말도록 하자. 역시나 쉽지 않다.)

Proceed <[y]/n>가 나온다. y를 입력.

그러면 pytorch 설치가 시작된다.

done done done 세개가 보이면 설치가 끝난것이다. 축하한다.


5. Pycharm

Python IDE로 Pycharm을 추천한다.


6. Pytorch 튜토리얼

Pytorch 튜토리얼로는 Soumith Chintala의 Deep Learning with PyTorch: A 60 Minute Blitz을 추천한다. 깔끔하다. 하지만 이 튜토리얼을 따라가기 위해서는 최신 버전의 pytorch (0.4.0)가 필요하다. 최신버전으로 업그레이드를 하고싶은 분은 다음의 튜토리얼을 보면 된다.


7. 결론

긴 여정을 마친 것을 축하드린다. 이제 여러분은 딥러닝의 세계로 떠날 준비가 되었다. 다들 건승하시길!

Windows 환경에서 Anaconda + Tensorflow 설치문제 해결하기 (No module named ‘tensorflow’ 에러 해결법)

python을 따로 설치한 다음 anaconda를 설치하고, tensorflow를 설치했다가 No module named ‘tensorflow’ 에러가 떴다. 물론 tensorflow는 실행할 수 없었다.

검색을 해보니 나와 비슷한 문제를 겪고있는 사람들이 많은듯 했다. 하지만 명확한 해결책을 제시하는 글도 찾기가 어려웠고, 어쩌다 나 혼자 이 문제를 해결하게 되어 이 글을 쓰게 되었다.

(문제의 원인을 간단히 설명하자면, anaconda는 수학과 과학 패키지를 포함한 파이썬이므로 파이썬을 먼저 설치해줄 필요가 없다. 그런데 python을 먼저 설치해버리면, anaconda에 내장된 python과 기존의 python이 충돌이 일어나 문제가 생기는 것이다. )

쉽고도 빠른 해결법은 다음과 같다.

1. 먼저, 방금전에 설치한 python과 anaconda를 깨끗하게 지운다.

이때 주의할 점은, 반드시 python측과 anaconda측에서 제공해준 uninstaller를 사용해서 지워야한다는 것이다.

  • 먼저 python부터 지워보자.  다운로드 폴더에 들어가보면 python을 설치하기 위해 사용한 실행파일이 있을 것이다. 더블클릭해서 열어보면 python 제거하기(Remove Python)가 있을 것이다.  이를 눌러주면, Python이 정상적으로 제거가 된다.
  • Anaconda를 지워보자. Anaconda2를 설치한 경우, 내PC->로컬 디스크(C:)->Program Files에 들어가자. Anaconda2 폴더가 보일 것이다. 폴더 안으로 들어가 스크롤을 내리다보면 Uninstall-Anaconda2가 있을 것이다. 이를 실행시켜주면 된다.
  • Anaconda3를 설치한 경우, 내PC->로컬 디스크(C:)로 들어가자. 그리고 창 위의 보기->표시/숨기기에서 숨긴 항목에 체크를 해준다. 그러면 ProgramData라는 폴더가 보일 것이다. ProgramData 폴더를 열어보면, Anaconda3 폴더가 보일 것이다. Anaconda3 폴더를 열어 스크롤을 쭉쭉 내리다보면 Uninstall-Anaconda3가 보일 것이다. 더블클릭하여 실행시키자.

2. 새로운 마음으로 Anaconda를 설치한다.

주의: python 홈페이지에 가서 python을 다운받지 말자. Anaconda 설치를 하면 python이 자동으로 설치가 된다.

이제 anaconda 홈페이지로 가서 다운을 받자. 64 bit 최신버전을 다운로드하도록 하자.

anaconda 다운로드 링크

다운로드 받은 실행파일을 마우스 오른쪽 버튼으로 클릭해주면, 관리자 권한으로 실행이 보일 것이다. 관리자 권한으로 실행하기를 누른 다음, 원래 설정되어있는 대로 설치를 쭉쭉 해준다. (‘다음’ 버트만 계속 누르자.)

3. Anaconda를 통해 Tensorflow를 다운받고, 실행해보자!

여기부터는 이영민님의 블로그를 참고했다.  Anaconda Prompt를 관리자 권한으로 실행한다. 이제 프롬프트창에 다음의 명령어들을 순서대로 치면 된다.

1) pip 업그레이드 하기

python -m pip install --upgrade pip

아마 최신버전이 이미 설치되어있다고 나올 것이다. (방금 아나콘다를 다운 받았으니까!)

2) conda 환경 만들기

conda create -n tensorflow python=3.7

여기서 주의할점! 지금 이 글을 쓰는 시점으로 최신 버전의 Anaconda는 python 3.6 기반인데, 독자분의 Anaconda가 python 3.x기반이다! 하면 저 명령어를 다음과 같이 수정해주면 된다.

(2018.11.22 업데이트)  tensorflow는 python 3.6 버전과 작동하고 3.7 버전은 아직 지원하질 않는다고 한다 .(https://stackoverflow.com/questions/52400391/could-not-find-a-version-that-satisfies-the-requirement-tensorflow-from-version). 그러니 가상환경을 만들 때 conda create -n tensorflow python=3.6 이라고 명령어를 쳐서 파이썬 3.6 버전으로 설치하면 되겠다.

(2019.03.08 업데이트)  이제 tensorflow가 python 3.7 버전도 지원한다고 한다. 따라서 명령어를 3.7버전에 맞게 수정하였다 (김석진님 제보 감사합니다) .  만약 독자분의 Anaconda가 python 3.x 기반이다! 하면 명령어를 다음과 같이 수정해서 사용하면 된다.

conda create -n tensorflow python=3.x

 

+ -n 뒤에는 tensorflow를 돌리기 위한 가상환경의 이름을 입력해주면 된다. 위의 경우 가상환경의 이름이 tensorflow가 되겠지만, 원하는 다른 이름을 사용해도 된다. 예를 들어  가상환경 이름을 youngjoong이라고 하고싶다면 다음과 같이 하면 된다.

conda create -n youngjoong python=3.7

3) Tensorflow 설치하기

activate tensorflow

+ 만약 가상환경 이름을 다른 이름으로 했다면, 다음과 같이 하면 된다.

activate 가상환경이름

예를 들어 youngjoong이라고 지었다면,

activate youngjoong

이라고 하면 된다.

이제 프롬프트가 tensorflow로 (혹은 본인이 지은 다른 가상환경 이름으로) 바뀔 것이다. 다음 명령어를 순서대로 쳐보자.

  • 텐서플로우 설치

pip install tensorflow

  • 파이썬 터미널 열기

python

  • 텐서플로우 패키지를 임포트

import tensorflow as tf

세팅이 완료되었다! 다들 건승하시길 🙂