常量值函數tf.constant()、tf.zeros()、tf.zeros_like()、tf.ones()、tf.ones_like()、tf.fill()


1.tf.constant

tf.constant(value, dtype=None, shape=None, name='Const')

參數:

  1. value: 第一個值value是必須的,可以是一個數值,也可以是一個列表。
  2. dtype: 所要創建的tensor的數據類型
  3. shape: 所要創建的tensor的shape
  4. name: (可選)一個該操作的別名.

  value可以是一個數,也可以是一個list。 如果是一個數,那么這個tensor中所有值的按該數來賦值; 如果是list, 那么value的長度一定要小於等於shape展開后的長度。賦值時,先將value中的值逐個存入。不夠的部分,則全部存入value的最后一個值。

舉例:

import tensorflow as tf
# import numpy as np

a = tf.constant(2,shape=[2])    #一個長為2的list
b = tf.constant(2,shape=[2,2])   #元素都是2的2*2的矩陣
c = tf.constant([1,2,3],shape=[6])   # 后面的元素用3填充
d = tf.constant([1,2,3],shape=[3,2])

sess = tf.Session()
sess.run(tf.global_variables_initializer())
print('a')
print(sess.run(a),)
print('b')
print(sess.run(b))
print('c')
print(sess.run(c))
print('d')
print(sess.run(d))

2.tf.zeros

tf.zeros(shape, dtype=tf.float32, name=None)

參數:  

  • shape:用於表示維度,通常為一個int32類型數組,或者一個一維(1-D)的tf.int32數字。注意不能直接使用數字
  • dtype: 所要創建的tensor對象的數據類型
  • name: (可選)一個該操作的別名

返回:所有參數都為0的tensor對象。

這個操作會返回一個類型為dtype,並且維度為shape的tensor,並且所有的參數均為0。

舉例:

import tensorflow as tf

a = tf.zeros([2])
b = tf.zeros([2, 3], dtype=tf.int32)
sess = tf.Session()
sess.run(tf.global_variables_initializer())
print('a')
print(sess.run(a))
print("b")
print(sess.run(b))

3.tf.zeros_like

tf.zeros_like(tensor, dtype=None, name=None) 

參數:

  1. tensor: tensor對象
  2. dtype: 返回的tensor對象類型,不設置(為空時)時返回類型同參數tensor一致。該參數必須為如下tensorflow類型: float32, float64, int8, int16, int32, int64, uint8以及complex64.
  3. name: (可選)該操作別名.

返回:所有參數為0的tensor對象

舉例:

import tensorflow as tf

a = tf.constant([1, 2, 3, 4, 5, 6], shape=[2, 3])
b = tf.zeros_like(a)
sess = tf.Session()
sess.run(tf.global_variables_initializer())
print('a')
print(sess.run(a))
print('b')
print(sess.run(b))

4.tf.ones

tf.ones()tf.ones_like()tf.zeros()tf.zeros_like()類似,故不再贅述

tf.ones(shape, dtype=tf.float32, name=None)

5.tf.ones_like

tf.ones_like(tensor, dtype=None, name=None)

6.tf.fill

tf.fill(dims, value, name=None)

參數:

  1. dims: 類型為int32的tensor對象,用於表示輸出的維度(1-D, n-D),通常為一個int32數組,如:[1], [2,3]等
  2. value: 常量值(字符串,數字等),該參數用於設置到最終返回的tensor對象值中
  3. name: (可選)當前操作別名

返回:tensor對象,類型和value一致

舉例:

import tensorflow as tf

a = tf.fill([10], 0)
b = tf.fill([2, 3, 4], 5)

sess = tf.Session()
sess.run(tf.global_variables_initializer())
print('a')
print(sess.run(a),)
print('b')
print(sess.run(b))

 

 

  

 

 

參考文獻:

【1】Tensorlow 中的常量值函數:tf.zeros()、tf.ones()、tf.fill()和tf.constant()_上帝是個娘們的博客-CSDN博客


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM