이번 학기 수업에 지능시스템개론을 듣게 되어
tensorflow 관련 및 인공지능 학습에 관련된 글을 앞으로 포스팅 하게 될 것이다. :)

tensorflow는 python에서 돌아간다.
tensor = Data 로, tensorflow란 데이터의 흐름이라는 의미의 이름이다.

그럼 먼저 tensorflow를 설치해볼 것이다.
내 환경은 Centos7, 64Bit에서 설치하였다.

tensorflow를 설치하기 전, virtualenv라는 가상환경을 만들어 줄 것이다.
tensorflow 공식 홈페이지에서도 이를 추천한다.
이유는 tensorflow와 의존성이 있는 모듈들을 같이 설치해야하는데, 이 때 기존에 있던 파이썬 모듈들을 덮어쓰게 되는 경우가 있다는 것이다.

tensorflow 설치 전 과정이다.


(설치전 과정)


설치 전 pip과 개발도구, virtualenv를 설치해준다.

그 후 각각 업그레이드를 해준다. 안했을 경우 버전이 안맞아 에러가 날 수 있기 때문에!



(pip upgrade)



(설치도구 upgrade)



(virtualenv 업그레이드)


여기 까지 준비 설치 끝이다.

가상환경을 설치했으니 가상환경을 활성화 시켜줄 것이다.

그 전에 tensorflow를 위한 가상환경을 만들어준다.



(가상환경 만들기)



(활성화)


그 후 위 처럼 활성화 시켜준다. 

활성화 해제할 때에는
#deactivate
라는 명령으로 다시 빠져나올 수 있다.

그 후 tensorflow를 설치해준다.



(tensorflow 설치)


여기까지가 설치 끝이다!

그러면 간단하게 tensorflow 설치를 확인하는 겸 간단하게 사용해 볼 것이다.

제일 먼저하는 Hello 문장을 찍어보는 코드이다.



(Hello 코드)


tensorflow는 이름이 기니 tf로 import한다.
그리고 tf.constant 로 하나의 노드를 생성한다. 여기서는 hello에 어떤 문자열이 담긴 노드를 하나 만든 것이다.

그리고 바로 실행하는 것이 아니라
session을 만들어줘야한다. 세션을 만들어 준 후
그 세션에 노드를 넣어주면서 run(실행)을 해주면 노드의 결과가 나온다.

여기서는 간단히 문자열이 담긴 노드를 넣었으니 문자열이 그대로 나오게 된다.


(실행 결과)


실행 결과 Hello, TensorFlow! 라는 문자열이 나왔다.
앞에 b 라고 적혀있는 것을 봐서 찍힌 문자가 python의 문자열이 아니라 바이트 형태로 노드에 저장이 되고 출력된 것임을 알 수 있다.
( 그 위에 경고문이 뜨는데 무시해도 된다. )

그 다음으로 간단한 덧셈을 하는 것을 살펴볼 것이다.


(덧셈)


덧셈할 수를 가진 노드를 두개 만들어준다.
그 후 덧셈을 할 노드를 만들어주는데 여기서 node1과 node2를 넣어주면서 node3을 만들었다.

그리고 세션을 만들어준 후

세션에 덧셈노드인 node3을 넣어주면서 실행하면 덧셈의 결과가 나오게 된다.


(덧셈 결과)


그러면 이렇게 정해진 숫자가 아닌 변수처럼 어떤 값이 들어와도 계산이 되는
노드 (시스템)을 만들려면?

placeholder를 이용하면 된다.


(placeholder)


placeholder는 마치 변수처럼 빈 통이다. 
a, b에는 float 32비트 타입의 숫자를 담을 수 있는 통이다.
그리고 그 아래 adder_node 는 덧셈을 해주는 노드인데, a통과 b통에 담긴 숫자를 더해주는 노드이다.

adder_node를 실행시키기전에 해야할 일은?
-> a통과 b통에 채워주는 것이다.

feed_dict를 통해 a,b 변수에 값을 채워준다.



(실행 결과)


실행 시 위의 결과처럼 
덧셈이 된다.
두번째의 코드처럼 배열이 들어와도 괜찮다.

(* 참조 - 모두를 위한 딥러닝 시즌1, Sung Kim)

+ Recent posts