Windows 환경에서 TensorFlow 설치를 위해 아래 공식 홈페이지와 
 

아래의 한글 페이지를 참조했다. 


Tensorflow 초기 버전에서는 Windows 에서 설치시 도커 이미지를 사용해서 설치하라고 했던것 같은데 요즘은 그냥 되나 보다.

위 페이지를 참조하여 아래와 같이 간단히 설치 할 수 있다. 


1. Anaconda  3 점대 최신 버전을 설치 한 후에(https://www.anaconda.com/download/)

2. Anaconda Prompt 를 실행시키고 아래 명령어를 통해 py35 라는 이름으로 Python 3.5 버전 환경을 설치한다. 해당 버전은 C:\Anaconda3\envs\py35 폴더에 설치 된다. Eclipse 등을 통해 코딩 할대는 해당 폴더에 있는 python.exe 파일을 interpreter 로 설정하면 된다. 

               conda create --no-shortcuts -n py35 python=3.5 anaconda

3. 아래 명령을 통해 py35 를 활성화 시킨 후에 

               activate py35

4. 아래 명령어를 통해 Tensorflow 를 설치한다. 

               pip install --ignore-installed --upgrade tensorflow
GPU 버전을 설치하고 싶다면 아래 명령어를 통해 설치한다. 
               pip install --ignore-installed --upgrade tensorflow-gpu
설치 메뉴얼을 확인해 보면 GPU 가 있더라도 일단 CPU 버전을 먼저 설치해 보라 추천한다.

5. ipython 실행한 후에 아래 명령어가 정상적으로 실행되면 Tensorflow 가 제대로 설치 된 것이다.

               import tensorflow as tf

ipython 에서 tf. 타이핑 후에 탭을 누르면 아래 그림과 같이 멤버 함수들의 리스트를 보여 줍니다.


위 페이지들 덕분에 생각보다 편하게 설치했네요.



apsw, aspell-python, assimulo, astropy, Atom, autopy, Babel, backports, basemap, Bazaar, bcolz, bigfloat, bioformats, biopython, bio_formats, bitarray, BLAZE, blender-mathutils, blist, blosc, bokeh, boost.python, bottleneck, bsdiff4, carray, cartopy, casuarius, cdecimal, cellcognition, cellprofiler, ceodbc, certifi, cffi, cgal-python, cgkit, Cheetah, cld, conda, Console, Coverage, curses, cvxopt, cx_freeze, cython, cytoolz, delny, dipy, docutils, dpmix, dynd, EcOS, enaml, epydoc, ETS, fastcluster, faulthandler, ffnet, fiona, fipy, fonttools, friture, gdal, gevent, gmpy, greenlet, guiqwt, h5py, holopy, htseq, ilastik, iminuit, imread, intbitset, iocbio, IPython, iris, javabridge, jcc, jinja2, jpype, jsonlib, kivy, kiwisolver, kwant, la, liblas, liblinear, libpython, libsbml, libsvm, libtfr, libxml-python, line_profiler, llist, llvmlite, llvmpy, lp_solve, lsqfit, lxml, mahotas, MAKO, marisa-trie, markupsafe, matplotlib, MDP, Mercurial, meshpy, milk, minepy, mlpy, mmlib, mmseg, mmtk, mod_wsgi, mpi4py, msgpack, mxbase, mysql-python, mysqlclient, natgrid, netcdf4, networkx, nibabel, nipy, nipype, nitime, nlopt, nltk, nmoldyn, Noise, nose, numba, Numeric, numexpr, numpy, numscons, ODE, openbabel, opencv, openexr, openglcontext, openimageio, ORANGE, oursql, pandas, patsy, pgmagick, pillow, pip, Planar, Polygon, polymode, psutil, psycopg, Pulp, py-fcm, py-postgresql, py2exe, pyalembic, pyamf, pyamg, pyaudio, pybluez, pybox2d, pycairo, pycares, pycifrw, pycluster, pycogent, pycosat, pycparser, pycuda, pycurl, pydbg, pydde, pyeda, pyephem, pyexiv2, pyfftw, pyfftw3, pyfits, pyfltk, pyfmi, pygame, pygit2, pyglet, pygments, pygraphviz, pygtk, pyhdf, pyhook, pyicu, pyisapie, pylibdeconv, pylibtiff, pylzma, pymatlab, pymc, pymca, pymedia, pymex, pyminuit, pymix, pymol, pymongo, pymssql, pymunk, pymutt, pymvpa, pynifti, pyodbc, pyopencl, pyopengl, pyparsing, pyproj, pyqt4, pyqwt, pyreadline, pyropes, pyrxp, pySerial, pysfml, pyshp, pyside, pysparse, pyspharm, pysqlite, pystemmer, pytables, python-cjson, python-dateutil, python-igraph, python-ldap, python-levenshtein, python-lz4, python-lzo, python-snappy, python-sundials, pythonmagick, pythonnet, pytst, pytz, pyusb-ftdi, pyviennacl, pyvisa, pyvrml97, pywavelets, pywcs, pywin32, pyxml, pyyaml, pyzmq, qimage2ndarray, quantlib, quickfix, qutip, rasterio, re2, Regex, reportlab, requests, rpy2, rtmidi-python, rtree, scientificpython, scikit-bio, scikit-image, scikit-learn, scikits.ann, scikits.audiolab, scikits.delaunay, scikits.hydroclimpy, scikits.odes, scikits.samplerate, scikits.scattpy, scikits.timeseries, scikits.umfpack, scikits.vectorplot, scipy, scipy-cluster, scipy-stack, scitools, scons, sendkeys, setuptools, sfepy, shapely, silvercity, simpleitk, simplejson, Six, slycot, smc.freeimage, sparsesvd, sphinx, Spyder, SQLAlchemy, statsmodels, steps, sympy, ta-lib, theano, thrift, tinyarray, Tornado, trfit, twainmodule, Twisted, ujson, umysql, veusz, videocapture, vigra, virtualenv, visionegg, vispy, visvis, vitables, vlfd, vpython, vtk, wxPython, yappi, YT, zodb3, zope.interface

요즘 파이썬을 주로 사용하면서 다양한 모듈들을 찾는 재미에 푹 빠졌는데요~

 

윈도우를 주로 사용하다 보니 pip 로 인스톨이 안되는 경우가 종종 있더군요.

 

이런 경우에는 버츄얼 박스에서 리눅스를 설치해서 사용해도 되긴 하는데~

 

찾아보니 아래 주소에 다양한 윈도우용 파이썬 모듈들이 있더군요.

 

http://www.lfd.uci.edu/~gohlke/pythonlibs/

 

위 주소에서 제공하는 모듈들은 다음과 같습니다.

 

pycosat, virtualenv, pip, setuptools, requests, libsvm, liblinear, cytoolz, dynd, gevent, bokeh, blaze, pygit2, numba, llvmlite, iris, pillow, mercurial, netcdf4, rpy2, biopython, reportlab, scipy, yt, nibabel, backports, pandas, ets, pyalembic, shapely, scikit-bio, pycairo, spyder, statsmodels, python-dateutil, pytz, sfepy, apsw, python-igraph, pyqwt, pylzma, openimageio, pymssql, pyvisa, sympy, lxml, lsqfit, thrift, pyicu, pyside, guiqwt, pyqt4, regex, gdal, cellcognition, vigra, h5py, pytables, pycurl, ipython, pygments, mahotas, pyspharm, imread, scons, kiwisolver, enaml, atom, faulthandler, conda, bigfloat, yappi, visvis, simplejson, line_profiler, rasterio, fiona, bioformats, javabridge, mysqlclient, numpy, pyzmq, pyfftw, minepy, mlpy, matplotlib, py2exe, veusz, greenlet, cython, sqlalchemy, bcolz, psutil, vlfd, pyparsing, pymc, pywin32, friture, pymol, orange, python-ldap, gmpy, pymca, blender-mathutils, jcc, scientificpython, opencv, kwant, pymunk, pulp, jpype, intbitset, astropy, qutip, networkx, twisted, pylibtiff, quickfix, six, nltk, tornado, numexpr, rtree, polygon, pythonnet, pycares, scikit-learn, psycopg, sphinx, vispy, scipy-stack, nose, libpython, pyxml, cvxopt, pycuda, basemap, qimage2ndarray, iminuit, pgmagick, milk, llvmpy, pymongo, nlopt, libsbml, pysqlite, pyfits, patsy, certifi, mxbase, python-lz4, blosc, meshpy, docutils, cffi, scikit-image, lp_solve, pyeda, pystemmer, pyopengl, pyrxp, pymvpa, cartopy, natgrid, python-levenshtein, ecos, msgpack, pyfmi, assimulo, nitime, mako, jinja2, pyephem, pyopencl, mod_wsgi, cx_freeze, pyviennacl, markupsafe, vitables, mpi4py, quantlib, pyaudio, steps, mmtk, pyminuit, smc.freeimage, vtk, pyhdf, pyyaml, pycifrw, pygame, videocapture, pythonmagick, pyvrml97, openglcontext, zope.interface, blist, aspell-python, ode, pycluster, cdecimal, noise, scikits.odes, scikits.umfpack, scikits.ann, scikits.vectorplot, curses, mysql-python, oursql, libtfr, htseq, marisa-trie, ffnet, polymode, slycot, ta-lib, pymutt, bsdiff4, pyfltk, pyisapie, pycparser, pybluez, openbabel, pysfml, pywavelets, pyserial, ujson, rtmidi-python, kivy, nipype, pydde, llist, pymix, dipy, bio_formats, bottleneck, fastcluster, la, cgkit, planar, ceodbc, scipy-cluster, pyhook, pyproj, sparsesvd, simpleitk, casuarius, coverage, twainmodule, python-snappy, theano, boost.python, bitarray, pyodbc, fonttools, pylibdeconv, fipy, tinyarray, pyshp, carray, pysparse, nipy, bazaar, pygraphviz, babel, pyamg, umysql, scikits.samplerate, scikits.scattpy, scikits.hydroclimpy, scikits.delaunay, autopy, libxml-python, pyusb-ftdi, mmlib, cellprofiler, pyreadline, py-fcm, liblas, vpython, scikits.audiolab, py-postgresql, pyamf, holopy, pyropes, epydoc, cheetah, pywcs, python-sundials, openexr, dpmix, cld, mdp, pycogent, jsonlib, silvercity, console, python-cjson, pytst, sendkeys, pydbg, pyglet, python-lzo, delny, pyexiv2, ilastik, scitools, trfit, re2, cgal-python, pymedia, pyfftw3, pymex, pymatlab, zodb3, pygtk, numeric, nmoldyn, iocbio, wxpython, pybox2d, mmseg, pynifti, scikits.timeseries, numscons, visionegg

특정 파일에 다음과 같은 단어 리스트가 있는 경우 중복을 제거하고~ ABC 순서로 sorting 을 해야 하는 경우가 있습니다.

 

abacuses

abaft

abalone

abalones

abacuses

abandon

abandoned

abalones

 

한 10줄 안팎이면 노가다로 하겠지만 몇 천 몇 만 줄이 되면 노가다로 하기에는 무리가 있죠~

 

이런 경우 Perl이나 Python과 같은 스크립트 언어가 제격일 텐데요~

 

오늘은 그냥 무슨 바람이 불어서 그런지 그냥 python을 사용하고 싶더군요.

 

아래 포스팅에서 소개를 했지만 제가 요즘 Spyder 같은 툴에 매력을 느껴서 그런 것도 같습니다.


2013/11/13 - [유틸] - 과학 분석에 사용되는 Python IDE Spyder

 

어쨌든 ipython을 사용하는 방법을 검색 해보니 아래 주소에 간단하게 나오더군요.


http://stackoverflow.com/questions/2931672/what-is-the-cleanest-way-to-do-a-sort-plus-uniq-on-a-python-list

 

다음과 같이 간단하게 Unique Sorting 을 할 수 있었습니다. Set Type으로 만드니깐 간단하게 중복된 내용들이 제거되더군요.

 

fo=open("input.txt","r")

line=fo.readlines()

my_list= sorted(set(line))

fo.close()

 

fo=open("result.txt","w")

fo.writelines(my_list)

fo.close()

 

이런 게 스크립트의 매력인가 봅니다.


MATLAB 과 같이 수치 분석등의 용도로 사용 할 수 있는 프로그램들로 아래 포스팅 들에서 Scilab, Freemat, Octave 등에 대해 설명 드려었는데요.

 

오늘은 python 을 사용하는 방법에 대해 설명 드리려 합니다.

 

python 은 요즘 굉장히 많은 분들이 사용하는 스크립트 언어인데요~

 

perl 과 마찬가지로 굉장히 다양한 기능들을 추가해서 사용할 수 있고 문법도 비교적 깔끔해서 좋아하는 것 같더군요.

 

 

Python을 MATLAB 과 비슷한 용도로 사용하기 위해서는 아래포스팅에서 밝힌 바와 같이 matplotlib, scipy, numpy 같은 모듈들을 다운로드 받아서 사용해야 하는데~ 이런 과정들도 귀찬더군요.

 

물론 요즘은 아래 포스팅에서 설명했던 pip 를 이용하긴 하지만~ 그래도 이것 저것 생각 안하고 한방에 깔고 싶을 때가 많습니다.

 

또 MATLAB 과 같이 command 창에서 한 줄 한 줄 실행하면서 그 결과를 확인하고 싶을 때 python IDLE 같은 경우에는 좀 불편하더군요. 이럴때 쓸수 있는 좀더 개선된 Python shell 로서 IPython 이 있습니다.

 

이렇게 Python, matplotlib, scipy, numpy, IPython 등도 한방에 깔고 편리하게 사용할 수 있는 툴로 Spyder 에 대해 소개하려 합니다.

 

우분투/민트 같은 리눅스에서는 다음과 같이 간단하게 설치 할 수 있습니다.

sudo apt-get install spyder

 

윈도우에서는 아래 주소의 spyder 홈페이지에 가 보시면~

https://code.google.com/p/spyderlib/

 

세 가지 정도의 방법이 있더군요.

Python(x,y), WinPython, Anaconda

 

세 가지 툴에 대해 아래 포스팅에서 비교가 돼 있던데~

http://sjbyrnes.com/?page_id=67

 

Python(x,y), WinPython 은 오픈 소스이고~ Python(x,y) 는 많이 알려지긴 했지만, 32 비트 버전만 있다는 군요. WinPython 은 32/64 비트가 다 있고 포터블의 형태로 사용할 수 가 있었습니다.

 

다음으로 Anaconda 는 특별히 빅 데이터 분석에 사용되는 수학/과학 분석을 위해서 Continuum Analytics Corp. 라는 회사에서 만들어진 거라는데~ free 버전과 상용 버전이 있지만 free 버전만 설치해도 spyder 는 사용 가능하다고 합니다.

 

Anaconda 를 설치하면 CMD 창에서 conda 라는 명령어로 Ipython 같은 모듈들을 업데이트 할 수 있더군요.

http://ipython.org/install.html

 

추가로 위 주소에서는 Ipython 전용 IDE 로 Enthought Canopy 에 대해 소개하더군요. Ipython만은 사용하실 분들은 사용해 보시는 것도 좋을 것 같네요.

https://www.enthought.com/products/epd/free/

 

저는 현재 윈도우 7, 64 비트고 개인적으로 설치형 보다는 portable 버전을 선호하는 편이라~ WinPython 으로 결정했습니다.

 

WinPython 의 홈페이지는 아래와 같고~

https://code.google.com/p/winpython/

 

아래 페이지에서 사용하고자 하는 버전을 다운로드 해서 설치하시면 됩니다. 제 경우 다운로드는 약간 느리네요.

https://code.google.com/p/winpython/downloads/list

 

저는 아래 그림과 같이 Python 2.7, 64 bits 버전을 다운로드 받았습니다.

 

설치는 다운로드 받은 exe 파일을 더블 클릭하면 되고, 압축 해제하려는 폴더만 설정해 주면 끝입니다.

 

압축 해제후에 폴더를 보시면~ 다음 목록과 같은 실행 파일들이 만들어 지고~

 

TortoiseHg, Qt Linguist, IPython Qt Console, IPython Notebook, WinPython Interpreter, WinPython Control Panel, WinPython Command Prompt, Spyder (light), Spyder, Qt Designer, Qt Demo, Qt Assistant

 

이 중에서 Spyder.exe 파일을 실행하면 Spyder 가 아래 그림과 같이 실행 됩니다.

 

Spyder (light).exe 에는 간단하게 Console 만 나오더군요.

 

Spyder의 화면은 보시는 바와 같이 Console, Editor, Object inspector 등으로 구성되어 있고~ 메뉴들로 구성되어 있습니다.

 

저는 일단 Editor 에서 바로 실행할 수 있다는 점과 생소한 언어를 배울 때 가장 유용한 도구인 Help 가 그냥 타이핑과 함께 나온다는게 가장 좋더군요.

 

아래 그림과 같이 Console에 fft( 까지만 타이핑해도~ Object inspector에 아래 그림과 같이 자동으로 매뉴얼이 짜잔~~ 하고 뜨더군요.

 

뭐 소개만 하고 그냥 가면 좀 거시기 하니깐 간단하게 그래프 하나 그려볼까요~

 

에디터에 다음과 같이 코딩하고~ 저장한 후에 F5 를 눌러서 실행 했습니다.

 

A=rand(10,1);

B=fft(A);

plot(abs(B))

 

 

 

결과로 이런 그래프가 나오더군요.

 

신기한 건 위 코드에서 numpy 등을 import 를 안 했는데도 Spyder 환경 내에서는 자동으로 import 가 되는 것 같더군요.

 

좀 더 볼 주소들


http://quant-econ.net/


http://sjbyrnes.com/?page_id=67




+ Recent posts