티스토리 뷰

환경

- Windows 10 Pro 64bit

- Python 3.5.3 64bit

- 주피터(Jupyter) 서버


설명하기에 앞서, 텐서플로우를 설치하기 위해서 나는 도커(Docker)나 아나콘다(Anaconda)를 이용하지 않았다. 텐서플로우가 버전이 급격하게 업데이트 되면서 별도의 가상화 어플리케이션을 이용하지 않고 윈도우 환경에서의 CLI(Command Line Interface) 기반인 명령 프롬프트 에서도 파이썬의 패키지 관리 및 설치 명령어인 pip를 이용하여 간단하게 설치하였다. 

또한, 해당 환경에서 텐서플로우를 사용하려면 3.5.x 버전이 필요하였고 필자는 원래 2.7.x 버전 파이썬을 웹 크롤링 목적으로 Scrapy를 사용중에 있었다. 그래서 파이썬 버전간에 인터프리터의 혼동이 있었는데 환경변수만 조금 조절하면 사용에는 무리가 없다. 


위의 글이 길어서 읽기 귀찮다면, 아래 두가지 사항에 대해서 도움을 줄 수 있다.


1. 텐서플로우를 윈도우에서 가상화 어플리케이션 없이 구동 시킬 수 있다.

2. 파이썬 2.x와 3.x의 인터프리터 두가지를 명령프롬프트에서 별도로 인식처리 할 수 있다.



서두가 길었다! 바로 들어가자!




Constant

기본적으로 텐서플로우에 값을 할당하기 위해서는 constant라는 키워드를 사용한다.

아래와 같이 변수 a에 1차원 배열 형태의 값으로 1,2,3 을 할당하고 변수 b에는 2차원 배열 형태의 값을 전달하였다. 그리고 아래와 같이 add 키워드를 사용하여 더하고 출력하였다. 


1
2
3
4
5
6
7
import tensorflow as tf
 
= tf.constant([1,2,3])
= tf.constant([[10,20,30], [100,200,300]])
= tf.add(a,b)
 
print(c)

cs


예상되는 결과는 이어야 하나


[[ 11 22 33] [101 202 303]]



결과로 이와같이 출력되었다.

 

Tensor("Add_3:0", shape=(2, 3), dtype=int32)



그 이유는 텐서플로우 프로그래밍 모델을 이해하면 알 수 있는데 이름에서 알 수 있 듯이 텐서(Tensor)라는 동적 사이즈의 다차원 데이터 배열 그리고 플로우(Flow)라는 이 텐서(Tensor)들의 흐름을 제어하는 의미인것으로 데이터 플로우 그래프 기반의 라이브러리이다. 결과적으로 모든 것들은 이 텐서(Tensor)라는 것으로 이루어져 있고 이를 통하여 연산을 하고 결과를 출력한다고 보면 될 것 이다.

따라서, 기본적으로 기본 전제하에 나는 텐서를 선언하였고 이를 프린트 하였으니 당연히 텐서의 정보가 출력된 것이다. 위의 텐서는 (2,3) 형태의 배열에 자료형이 정수형임을 의미한다. 


따라서 그것을 첫번째 출력물과 같은 예상 결과물을 위해서는 이와 같이 작성하여야 한다. 


1
2
with tf.Session() as sess:
    print(sess.run(c))
cs



이것은 그래프와 세션의 개념을 이해하여야 하는데 바로 다음에 설명하도록 하겠다!




 



반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
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
글 보관함