본문으로 바로가기

[Tensorlow]Tensorflow 기본(2)

category 인공지능/Tensorflow 2017. 7. 3. 01:38
728x90
반응형

오늘은 Tensorflow 공부 두번째 시간입니다.


저는 아래의 Tensorflow 튜토리얼을 보고 나름대로 정리를 하면서 공부중에 있습니다.


https://github.com/golbin/TensorFlow-Tutorials


지금부터 예제 소스 코드를 한번 살펴보겠습니다.


 

 

 



# 한글 때문에 아래의 한줄을 추가하여야됩니다.

#-*- coding: utf-8 -*-


import tensorflow as tf


# tf.placeholder: 계산을 실행할 때 입력값을 받는 변수로 사용합니다. 매개변수로는 dtype, shape, name의 값을 입력할 수 있습니다.

#placeholder(

#    dtype,

#    shape=None,

#    name=None

#)

# 첫번째값은 자료형, 두번째 값은 Tensor의 형태, 세번째 값은 작업의 이름입니다.

# 두번째, 세번째 값은 생략 가능합니다.

# 아래의 소스에서는 tf.float32 자료형을, 크기는 [None, 3]의 크기의 Matrix(배열)만을 입력데이터로 사용 한다는 뜻입니다.

X = tf.placeholder(tf.float32, [None, 3])

print(X)


# placeholder에 넣을 값을 변수에 저장합니다.

# placeholder에 [None, 3]의 크기의 Matrix만 입력을 받게 설정을 해두었기 때문에, 아래와 같이 두번째 차원의 요소의 갯수가 3개로된 값만 입력 받습니다. 

x_data = [[1, 2, 3], [4, 5, 6]]


# tf.Variable: 그래프를 계산하면서 최적화 할 변수들입니다. 이 값이 바로 신경망을 좌우하는 값들입니다.

# tf.random_normal: 각 변수들의 초기값을 정규분포 랜덤 값으로 초기화합니다.

W = tf.Variable(tf.random_normal([3, 2]))

b = tf.Variable(tf.random_normal([2, 1]))


 

 

 



# 계산에 필요한 수식을 만듭니다.

# tf.matmul 처럼 mat* 로 시작하는 함수로 행렬 계산을 수행합니다.

expr = tf.matmul(X, W) + b


sess = tf.Session()

# 코드를 실행하기 위해서 세션을 수행합니다.

# 처음에 전체적인 변수들에 초기화를 수행해야됩니다.

sess.run(tf.global_variables_initializer())


# 필요한 값들을 찍어보고, 한번 예상까지 해봅시다.

print("=== x_data ===")

print(x_data)

print("=== W ===")

print(sess.run(W))

print("=== b ===")

print(sess.run(b))

print("=== expr ===")

# expr 수식에는 X에 입력값을 넣어야됩니다.

# 아래와 같이 expr 실행시에는 이 변수에 대한 실제 입력값을 다음처럼 feed_dict 처럼 넣어줘야합니다.

print(sess.run(expr, feed_dict={X: x_data}))


sess.close()


 

 



오늘도 포스팅은 여기까지 하겠습니다.


초반부에서는 별 어려움이 없을 것을 보입니다.


궁금한점 있으면 댓글 남겨주세요


읽어주셔서 감사합니다.

728x90
반응형

'인공지능 > Tensorflow' 카테고리의 다른 글

[Tensorflow] random seed  (0) 2020.12.09
[Tensorflow] Keras  (0) 2020.11.28
[Tensorflow]Tensorflow 기본(3)  (0) 2017.07.20
[Tensorflow]Tensorflow 기본(1)  (0) 2017.06.29