๊ฐœ์ธ๊ณต๋ถ€/Tensorflow

81. Tensorflow Basic ์—ฐ์Šต๋ฌธ์ œ

LEE_BOMB 2021. 12. 15. 23:32
๋ฌธ1) ๋‘ ์ƒ์ˆ˜๋ฅผ ์ •์˜ํ•˜๊ณ , ์‚ฌ์น™์—ฐ์‚ฐ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜์‹œ์˜ค.
์กฐ๊ฑด1> ๋‘ ์ƒ์ˆ˜ ์ด๋ฆ„ : a, b
์กฐ๊ฑด2> ๋ณ€์ˆ˜ ์ด๋ฆ„ : add,subtract,multiply,div
  
<<์ถœ๋ ฅ๊ฒฐ๊ณผ>>
a= 100
b= 20
===============
๋ง์…ˆ = 120
๋บ„์…ˆ = 80
๊ณฑ์…ˆ = 2000
๋‚˜๋ˆ—์…ˆ = 5.0

 

import tensorflow.compat.v1 as tf # ver1.x
tf.disable_v2_behavior() #ver2.0 ์‚ฌ์šฉ์•ˆํ•จ



[ํ”„๋กœ๊ทธ๋žจ ์ •์˜ ์˜์—ญ]
์ƒ์ˆ˜ ์ •์˜ 

a = tf.constant(100)
b = tf.constant(20)


์‹ ์ •์˜ 

add = tf.add(a, b)
sub = tf.subtract(a, b)
mul = tf.multiply(a, b)
div = tf.div(a, b)

sess = tf.Session() #session ์ƒ์„ฑ


[ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์˜์—ญ]

print('a =', sess.run(a))
print('b =', sess.run(b))
print('='*20)
print('๋ง์…ˆ =', sess.run(add))
print('๋บ„์…ˆ =', sess.run(sub))
print('๊ณฑ์…ˆ =', sess.run(mul))
print('๋‚˜๋ˆ—์…ˆ =', sess.run(div))

sess.close()

 

 

 

 

 

๋ฌธ2) ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒ์ˆ˜์™€ ์‚ฌ์น™์—ฐ์‚ฐ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ dataflow์˜ graph๋ฅผ ์ž‘์„ฑํ•˜์—ฌ tensorboard๋กœ ์ถœ๋ ฅํ•˜์‹œ์˜ค.

์กฐ๊ฑด1> ์ƒ์ˆ˜ : x = 100, y = 50
์กฐ๊ฑด2> ๊ณ„์‚ฐ์‹ : result = ((x - 5) * y) / (y + 20)
-> ๊ณ„์‚ฐ์‹ ์šฐ์„  ์ˆœ์œ„์— ๋งž๊ฒŒ ์‚ฌ์น™์—ฐ์‚ฐ ํ•จ์ˆ˜ ์ด์šฉ ์‹ ์ž‘์„ฑ 
1. sub = x - 5
2. mul = sub * y
3. add = y + 20
4. div = mul / add 
์กฐ๊ฑด3> ์ถœ๋ ฅ graph : ๊ฐ•์˜์ž๋ฃŒ ์ฐธ๊ณ 

 

import tensorflow.compat.v1 as tf #ver 1.x
tf.disable_v2_behavior() #ver 2.x ์‚ฌ์šฉ์•ˆํ•จ


tensorboard ์ดˆ๊ธฐํ™” 

tf.reset_default_graph()


์ƒ์ˆ˜ ์ •์˜ 

x = tf.constant(100, name = 'x')
y = tf.constant(50, name = 'y')


๊ณ„์‚ฐ์‹ ์ •์˜ : result = ((x - 5) * y) / (y + 20)

sub = tf.subtract(x, 5, name='subtract')
mul = tf.multiply(sub, y, name='multiply')
add = tf.add(y, 20, name='add')
div = tf.div(mul, add, name='div')

with tf.Session() as sess :
    print('div =', sess.run(div)) #div = 67
    
    #tensorboard graph ๋กœ๊ทธ ์ƒ์„ฑ 
    tf.summary.merge_all() #์ƒ์ˆ˜, ์‹ ๋ชจ์œผ๋Š” ์—ญํ• 
    write = tf.summary.FileWriter(r'C:\ITWILL\5_Tensorflow\graph',sess.graph) #log file ๊ฒฝ๋กœ 
    write.close()