基于TensorFlow常量、序列以及隨機值生成實例
TensorFlow 生成 常量、序列和隨機值
生成常量
tf.constant()這種形式比較常見,除了這一種生成常量的方式之外,像Numpy一樣,TensorFlow也提供了生成集中特殊的常量的函數:
tf.zeros(shape, dtype=tf.float32, name=None)
三個參數的意思顯而易見,返回指定形狀的全零張量
tf.zeros_like(tensor, dtype=None, name=None, optimizer=True) 與函數的名字一致,傳入一個張量,最后返回一個張量,與傳入的張量擁有一樣的形狀和數據類型,也可以自己傳入dtype指定數據類型
tf.ones() 和tf.ones_like()與之前的函數對應一致
tf.fill(shape, value, name=None) 返回填滿指定輸入的數值的張量,例如:
tf.fill([2,3],9)
返回的張量就是:
[[9 9 9] [9 9 9]]
生成序列
tf.linspace(start, stop, num, name=None)
函數名稱與Numpy中序列的函數一樣,只是參數部分進行了簡化,前兩個參數分別指定了開始和結束的值,num指定了要生成的數量,最后則是名稱,例如:
a = tf.linspace(1.0, 10.0, 10, name='lin1')
輸出:
[ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
tf.range(start, limit, delta, dtype=None, name=None)
例如:
a = tf.range(1, 5, 1)
輸出:
[1 2 3 4]
隨機張量
隨機值在TensorFlow中很重要,很多情況下的初始值往往會隨機值,常用的隨機值生成函數如下:
生成均勻分布的隨機張量
# 調用格式 random_uniform( shape, minval=0, maxval=None, # 最大值以及最小值 dtype=tf.float32, seed=None, # 指定種子 name=None )
# 例如 a = tf.random_uniform([2,3], minval=1.0, maxval=5.0, dtype=tf.float32)
# 輸出 [[4.458698 4.091486 4.3704953] [3.893827 2.7951822 2.2381153]]
生成服從正態(tài)分布的隨機張量
# 調用格式 random_normal( shape, mean=0.0, # 均值 stddev=1.0, # 標準差 dtype=tf.float32, seed=None, name=None )
a = tf.random_normal([2,3], mean=3.0, stddev=1.0, dtype=tf.float32)
[[3.65199 1.879906 2.1775374] [1.6041888 1.503772 2.704612 ]]
生成服從截斷正態(tài)分布的隨機張量
# 調用格式 tf.truncated_normal( shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None ) [[4.477414 2.9767075 2.377511 ] [2.7083392 4.2639837 2.497882 ]]
這個函數與正態(tài)分布的函數使用時一樣的,只是增加了 “截斷” 也就是限制每個元素的取值,如果其平均值大于 2 個標準差的值將被丟棄并重新選擇 。
以上這篇基于TensorFlow常量、序列以及隨機值生成實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
基于Python編寫一個監(jiān)控CPU的應用系統(tǒng)
在使用電腦辦公時,有時候不知道哪些軟件或進程會占用大量的資源,導致進行其他任務時出現(xiàn)變慢、卡頓等現(xiàn)象。因此,實時監(jiān)控系統(tǒng)的資源就變得非常重要。本文用Python編寫了一款超治愈的RunCat監(jiān)控應用系統(tǒng),需要的可以參考一下2022-06-06Kmeans均值聚類算法原理以及Python如何實現(xiàn)
這個算法中文名為k均值聚類算法,首先我們在二維的特殊條件下討論其實現(xiàn)的過程,方便大家理解。2020-09-09