1. 程式人生 > >六.TensorFlow之Session會話,變數,傳入值

六.TensorFlow之Session會話,變數,傳入值

1.Session會話,直接上程式碼.
import tensorflow as tf

matrix1 = tf.constant([[3,3]])
matrix2 = tf.constant([[2],
                                   [2]])

#matrix multiply
#np.dot(m1,m2)
product = tf.matmul(matrix1,matrix2)

#method 1
'''
sess = tf.Session()
result = sess.run(product)
print(result)
sess.close()
'''
'''
>>> 
= RESTART: /Users/dongsai/Documents/MachineLearning/tensorflow/tf_lesson6.py =
[[12]]

'''
#method 2
#在這裡面的sess自動被close掉
with tf.Session() as sess:
    result = sess.run(product)
    print(result)

2.變數

import tensorflow as tf

state = tf.Variable(0,name='counter')
print(state.name)
#counter:0

one = tf.constant(1)

new_value = tf.add(state,one)
#當前new_value
update = tf.assign(state,new_value)

#must have if define variable
init = tf.initialize_all_variables()

with tf.Session() as sess:
    #初始化
    sess.run(init)
    for _ in range(3):
        sess.run(update)
        print(sess.run(state))

= RESTART: /Users/dongsai/Documents/MachineLearning/tensorflow/tf_lesson7.py =
counter:0
WARNING:tensorflow:From /Users/dongsai/Documents/MachineLearning/tensorflow/tf_lesson7.py:14: initialize_all_variables (from tensorflow.python.ops.variables) is deprecated and will be removed after 2017-03-02.
Instructions for updating:
Use `tf.global_variables_initializer` instead.
1
2
3

3.傳入值

import tensorflow as tf

#dtype is float32
input1 = tf.placeholder(tf.float32)
input2 = tf.placeholder(tf.float32)


'''
output = tf.mul(input1,input2)

Traceback (most recent call last):
  File "/Users/dongsai/Documents/MachineLearning/tensorflow/tf_lesson8.py", line 7, in <module>
    output = tf.mul(input1,input2)
AttributeError: module 'tensorflow' has no attribute 'mul'

舊版本用tf.mul()
'''
output = tf.multiply(input1,input2)

with tf.Session() as sess:
    print(sess.run(output,feed_dict = {input1: [7.],input2:[2.]}))