[실습] 기본 용어와 개념

텐서플로우 프로그램의 작동 원리

  1. 그래프를 빌드한다.
  2. session.run 으로 명령을 실행해서 데이터를 대입해보고 그래프를 그린다.
  3. 그래프에 있는 값들을 업데이트하고 결과값을 반환한다.

예시

  1. 그래프를 빌드한다.

node1 = tf.constant(3.0, tf.float32) node2 = tf.constant(4.0) node3 = tf.add(node1, node2)

  1. session.run(op) 을 통해 우리가 원하는 그래프를 실행시킨다.

sess = tf.Session()

print("sess.run(node1, node2): ", sess.run([node1, node2]))

print("sess.run(node3): ", sess.run(node3))

결과 화면

sess.run(node1, node2): [3.0, 4.0]

sess.run(node3): 7.0

Learning Rate : Learning Rate 값이 크면 정처없이 왔다갔다 거리거나, 발산을 해서 최소점을 못 찾을 수 있다.

Learning Rate 값이 너무 작으면 학습에 오랜 시간이 걸릴 수 있고, 오버피팅 될 수 있다.

오버피팅 : 너무 데이터에 맞춘 선을 그리는 것. 이 경우 임의의 데이터를 넣었을 때 적정값이 안나올 수도 있다.

Placeholder : 그래프를 실행할때(sess.run) 값을 대입하고 싶은 경우 사용할 수 있다.

a = tf.placeholder(tf.float32)

b = tf.placeholder(tf.float32)

adder_node = a + b

print(sess.run(adder_node, feed_dict={a: 3, b: 4.5}))

print(sess.run(adder_node, feed_dict={a: [1, 3], b: [2, 4] }))

7.5

[3. 7.]

Tensor 가 무엇인가 : Tensor는 배열과 유사하다.

Ranks, Shapes, Types

Rank : 차원 (몇 차원의 배열인지를 나타내는 말)

Shape : 각 각의 요소의 개수 [], [D0], [D0, D1]

t = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

t의 Shape [3, 3]

Types 은 대부분 Float32나 Int32 많이 사용한다.

results for ""

    No results matching ""