텐서플로우 프로그램의 작동 원리
예시
node1 = tf.constant(3.0, tf.float32)
node2 = tf.constant(4.0)
node3 = tf.add(node1, node2)
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 많이 사용한다.