基本使用與常用函式
基本使用
1)常量、變數
#常量不可改變
a = tf.constant(10)
#變數值可以更新
b = tf.variable(tf.zeros([784,10]))
2)佔位符
佔位符用來接收值
#定義兩個placeholder
x = tf.placeholder(tf.float32, [None,784])
y = tf.placeholder(tf.float32, [None,10])
3)構建圖,feed資料,初始化全域性變數
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
sess.run(train_step, feed_dict={x:batch_xs,y:batch_ys})
常見函式
1、tf.argmin(input, dimension, name=None) 返回input最小值的索引index
2、tf.trainable_variables和tf.all_variables的對比
tf.trainable_variables返回的是需要訓練的變數列表
tf.all_variables返回的是所有變數的列表
3、tf.reduce_max、tf.sequence_mask
tf.reduce_max函式的作用:計算張量的各個維度上的元素的最大值。
tf.sequence_mask的作用是構建序列長度的mask標誌
import tensorflow as tf
mask = tf.sequence_mask([1, 3, 2], 5)
with tf.Session() as sess:
mask = sess.run(mask)
print(mask)
>>>
[[ True False False False False]
[ True True True False False]
[ True True False False False]]
兩個函式結合使用:
根據目標序列長度,選出其中最大值,然後使用該值構建序列長度的mask標誌,程式碼:
import tensorflow as tf
max_value = tf.reduce_max([1, 3, 2])
mask = tf.sequence_mask([1, 3, 2], max_value)
with tf.Session() as sess:
mask = sess.run(mask)
print(mask)
>>>
[[ True False False]
[ True True True]
[ True True False]]