머신러닝

1-1 윈도우즈 10 아나콘다3(64비트)에서 TensorFlow 2.x 업그레이드 설치

coding art 2020. 1. 19. 17:24
728x90

 

 

201812파이선 코딩 초보자를 위한 텐서플로우OpenCV 머신러닝을 출간한 이후 20201월 현재 아나콘다에서 가장 사용빈도가 높았던 텐서플로우 가상공간 설치 작업에 중요한 변화가 있었다. 가장 큰 변화는 이미 2019년에 예고되었던 Back End TensorFlow 버전 2.0 또는 그 이후 버전인 2.x로 업그레이드 하는 문제이며 현재 Front End로 사용 중인 아나콘다에서 제공하는 명령 튜토리얼에 따라서 tensorflow_env 라는 명칭으로 가상환경을 설치하고 기존에 사용하던 파이선 코드들을 하나씩 확인해 가면서 업그레이드 된 환경에 적응해 보도록 하자. 가상공간(Virtual Environment)이라 함은 컴퓨터 내에 하나의 가상적인 울타리를 설정한 후에 필요한 소프트웨어들을 종속적으로 엮어 넣어 사용하되 가상공간 외부에 아무런 영향을 미치지 않는 전용 공간을 의미한다.

지금 처음으로 아나콘다를 설치하는 경우에는 아나콘다 홈페이지를 그대로 따라 하면 되지만 이미 설치하여 사용하던 아나콘다 사용자가 업그레이드 하는 경우에 심각한 문제가 있을 수 있다. 그 이유는 지난번 아나콘다 설치 명령 즉 Conda 명령이 지금 현재 살짝 변경되었기 때문이다. 이미 한번 설치했던 경험이 독으로 작용할 수도 있는 것이다. 이 점을 감안하여 기존의 아나콘다 사용자는 튜토리얼에 따라서 tensorflow_env 라는 이름으로 새로운 가상환경을 설치함과 동시에 Anaconda Navigator Environments에서 Default 로 설치된 라이브러리들이 무엇 무엇인지 확인해 보도록 하자. 웬만한 라이브러리들은 거의 설치가 되어 있다. 예를 들자면 NumpyMatplotlib 정도는 알아서 설치가 되어 있으며 지정된 가상환경을 클릭하여 installed 된 항목을 살펴보면 쉽게 알 수 있다. 단순히 Python 코드 작성이 목표라면 Default로 설치된 라이브러리 모듈들만으로도 충분하겠으나 사용자별로 몇 가지 필요한 것들이 있으면 pip 명령을 사용하여 설치하면 될 것이다. 예를 들어 머신 러닝 코드 작성이 목표라면 TensorFlow 라든지 Scipy와 같은 기본 라이브러리들이 필요하게 되는데 일단 사용자가 Environments에서 가상환경을 설정한 후에 명령 창을 열어서 추가로 설치해야 할 것이다.

윈도우즈 10에 새로이 설치하는 분들은 아나콘다 홈페이지에서 64비트 installer.exe 버전을 다운받아 그대로 실행시킨 후 시작 바에 Anacond3(64비트) 가 설치되어 있는지 확인하고 그 안에 Anaconda Navigator 아이콘이 설치되어 있으면 실행하도록 하자.

아래의 그림은 20216월 현재 Anaconda Navigator를 실행시키면 나타나는 화면으로서 앱들이 3줄로 들어 있다.

 

이 화면에서 주목해야 할 부분은 Applications on 박스 Channels, Environments, 그리고 IDESpyder4.2.5 일 것이다. 처음 열었을 때의 가상환경은 박스에 base(root) 로 설정이 되어 있다. 여기에 사용자가 필요한 모든 라이브러리들을 설치하여 사용해도 되지만 아무래도 머신러닝을 위한 특별한 코드 작성을 위해서는 별도의 독립된 가상환경을 만드는 것이 편리하다. 아나콘다에서 실행 가능한 수많은 라이브러리들이 있지만 상호간에 종속성이 있어 간섭이 있을 수도 있다. 극단적인 예를 들자면 머신 러닝 라이브러리들인 TensorFlow PyTorch를 같은 가상공간에 설치하는 것은 문제가 될 소지가 크다.

가상공간 설정법을 알아보도록 하자. 아래 그림에서 Environments 아이콘을 클릭하자.

Environments에서 살펴보면 base(root) 가 그대로 들어 있으며 installed 된 라이브러리로서 그래픽을 지원하는 matplotlib 가 이미 설치되어 있음을 확인할 수 있다.

TensorFlow 라이브러리를 사용하는 머신러닝 코드 작성을 위해서는 별도로 tensorflow_env 라는 명칭으로 새로이 가상환경을 추가로 설정하도록 한다. 예전에는 명령 창에서 Conda create ... 이라는 명령을 사용하였으나 현재는 하단에 위치한 4개의 버튼 중 +Create을 누르면 나타나는 팝업 창에서 텍스트 박스에 가상환경 명칭을 입력하고 Create 버튼을 누르면 생성이 된다.

이와 같이 설정 작업이 끝난 후의 가상환경에 설치된 라이브러리들은 다음과 같다. 알만한 라이브러리들로서 pip python 이 있다. 적어도 머신 러닝 작업을 위해서 필요한 라이브러리들로는 python을 제외하고도 numpy, matplotlib, scikit-learn, pandas, keras, tensorflow를 들 수 있다. 그밖에 옵션으로서 아직까지 머신 러닝 코드를 작성함에 실질적인 필요성은 느껴 보지 못했으나 PyQt를 들 수 있다.

앞에서 언급한 6개 라이브러리를 설치하기 위해서 아래와 같이 tensorflow_env 의 세모 버튼을 눌러 나타나는 메뉴의 Open Terminal 즉 명령 창을 선택하자.

첫 번째로 Open Terminal 명령 창에서 수치해석 전반을 지원하는 Numpy를 설치하도록 한다.

그래픽을 지원하는 matplotlib를 설치하자.

TensorFlow 이전부터 오래된 python 지원 과학 라이브러리 scikit-learn을 설치하자. 이 라이브러리 안에는 Iris flowers, Support Vector Machine을 비롯하여 TensorFlow 이전부터 연구된 다양한 머신러닝을 지원한다.

엑셀 csv 확장자 데이터 파일 입출력을 지원하는 pandas를 설치하자.

텐서플로우를 내부적으로 지원하는 keras를 설치하자.

마지막으로 2021년 현재 버전 2.5.0 TensorFlow를 설치하자.

PyqQt5Qt는 최신 데스크탑 및 모바일 시스템의 여러 측면에 액세스하기 위해 고급 API를 구현하는 크로스 플랫폼 C++ 라이브러리 모듈로서 위치 지정 서비스, 멀티미디어, NFC Bluetooth 연결, Chromium 기반 웹 브라우저 및 전통적인 UI 개발이 지원된다. PyQt5Qt v5에 대한 Python 바인딩 세트로서 35 개 이상의 확장 모듈로 구현되며 iOS Android를 포함한 모든 플랫폼에서 PythonC++에 대한 대체 응용 프로그램 개발 언어로 사용할 수 있도록 지원한다.

명령 창을 닫은 후 Home 으로 quit했다가 다시 Environments 로 돌아와서 tensorflow_env 에 설치된 라이브러리들을 확인하자. 여섯 가지를 설치했지만 각 라이브러리별로 종속된 라이브러리들과 함께 설치되었음에 유의하자.

 

다시 Home 으로 돌아가서 Spyder install 아이콘을 클릭하여 install 작업을 진행하자. 굳이 명령 창에서 할 필요는 없을 것이다. install 이 완료되면 launch 버튼 즉 시작 버튼으로 바뀐다. 시작 바 아나콘다에도 별도의 아이콘이 생성되므로 편리하게 사용이 가능하다.

처음에 다크 화면이 나타나는 경우가 있는데 ToolsPreference에서 창을 열고 Appearance에서 SpyderDark에서 Spyder를 선택하면 배경색이 흰색으로 바뀐다.