티스토리 뷰

반응형

안녕하세요! 예전에 인공지능 공부를 하다가 텐서플로우라는 라이브러리를 접할 수 있었는데 잠시 공부를 쉬었다가 요즘 다시 인공지능 및 데이터 분석 공부를 시작하면서 텐서플로우를 자세히 공부해서 유용하게 다뤄보려고 합니다. 오늘은 텐서플로우(Tensorflow)를 알아보고 설치해보는 시간을 갖도록 하겠습니다.



텐서플로우란 구글(Google)의 브레인 팀에서 만든 기계학습을 위한 라이브러리로 C++ 프로그래밍 언어로 만들어진 오픈 소스입니다. C++로 만들어졌지만 파이썬 API가 잘 구축되어 있어서 주로 파이썬을 많이 사용하고 추가로 지원되는 언어는 구글에서 만든 Go와 Java, C, C++을 지원한다고 합니다. 또 오픈 소스로 개발하였기 때문에 누구든지 사용이 가능하고 이미 구글이나 다양한 기업에서 많이 활용하고 있다고 합니다. 


그리고 이 텐서플로우를 말 그대로 해석하면 데이터의 흐름이라고 볼 수 있는데 한 노드에서 데이터를 연산하고 그 결과를 목적지의 노드까지 전해야 하는데 그 전에 여러 개의 노드가 있다면 계속 데이터의 연산한 결과를 옆의 노드로 넘겨준다고 이해하시면 편할 것 같습니다. 


그럼 이제부터 텐서플로우 라이브러리를 설치해보도록 하겠습니다. 여러 통합개발환경에서 텐서플로우를 적용시킬 수 있는데 저는 아나콘다를 통해서 설치한 주피터 노트북 환경에서 적용시켜 보도록 하겠습니다. 만약 아직 아나콘다 설치가 안 되어있는 분들은 아래 글을 참조해주시면 감사하겠습니다.


2018/03/02 - [IT 공부 및 일상] - 파이썬 아나콘다로 설치하기


첫 번째로 아나콘다 프롬프트(Anaconda Prompt)를 실행시켜 줍니다. 이 아나콘다 프롬프트는 아나콘다를 설치하면서 기본설정으로 진행하셨다면 윈도우 키를 눌렀을 때 앱 중에서 'Anaconda3'라는 이름의 폴더가 보이는데 그 폴더를 누르면 아나콘다 프롬프트가 있을 것입니다.



프롬프트가 열리면 까만 색 창이 하나가 나오는데 명령어 몇 개를 입력해줘야만 하는데 위의 사진을 참조해주시면 되겠습니다. 가장 먼저 입력하는 명령어는 "conda update -n base conda"로 입력하고 잠시만 기다리면 "Proceed ([y]/n)?"라고 동의를 묻는 문장이 나오는데 "y"를 입력하여 동의를 해줍니다. 그 다음으로 준비처리와 검증처리, 실행처리의 상태가 "done"으로 나오고 다시 명령어를 입려할 수 있는 상태인 '>'가 보인다면 "conda update --all" 명령어를 입력해줍니다.




위 명령어를 입력하면 위의 사진 2개와 같은 화면이 프롬프트 창에 연달아 나오는 것을 볼 수 있는데 곧 설치될 새로운 패키지와 업데이트 될 패키지들의 목록인 것을 확인할 수 있었습니다.



그리고 아까와 같이 "Proceed ([y]/n)?"라는 문장이 다시 나오게 되는데 "y"를 입력해주고 '>'가 보이는 상태로 바뀌면 명령어 "pip install tensorflow"를 입력해줍니다.



그러면 위의 사진처럼 다운로드 바가 보이면서 패키지들이 다운로드가 되는 것을 볼 수 있고 100%가 될 때까지 기달려줍니다.



다운로드가 정상적으로 수행되고 다시 '>'로 상태가 바뀌면 명령어 "ipython"를 입력합니다. 이를 입력하면 "In []:" 문장이 보이는데 콜론 옆에 "import tensorflow as tf"를 입력 후에 'Enter 키'를 누르고 '[*]'가 '[1]'으로 바뀌면 정상적으로 텐서플로우가 설치된 것을 확인한 것입니다. 다음 아랫 줄에서 "exit"를 입력하여 빠져나옵니다. 이상으로 텐서플로우 설치가 끝나게 되는데 한번 텐서플로우를 사용해보기 위해서 주피터 노트북을 실행시켜보겠습니다.



주피터 노트북을 들어가면 아까의 명령어인 "import tensorflow as tf"를 다시 입력하여 텐서플로우 라이브러리를 불러옵니다. 그리고 실행을 시키면 위의 사진처럼 오류 메세지같은 것이 나오는데 이는 'h5py' 패키지의 버그로 텐서플로우를 사용하는데는 아무 문제가 없으니 걱정안하셔도 될 것입니다.


저는 텐서플로우를 사용한 예시로 "Hello World!" 문자열을 출력하는 매우 간단한 코드를 만들어보았는데 실행하니 정상적으로 출력되는 것을 확인할 수 있었습니다. 이상으로 포스팅을 마치도록 하겠습니다!!

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함