當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python tf.constant_initializer用法及代碼示例


生成具有常量值的張量的初始化程序。

用法

tf.constant_initializer(
    value=0
)

參數

  • value Python 標量、值列表或元組,或 N 維 numpy 數組。初始化變量的所有元素都將設置為 value 參數中的相應值。

拋出

  • TypeError 如果輸入 value 不是預期類型之一。

Initializers 允許您預先指定初始化策略,編碼在 Initializer 對象中,而無需知道正在初始化的變量的形狀和 dtype。

tf.constant_initializer 返回一個對象,該對象在調用時返回一個填充有構造函數中指定的 value 的張量。此 value 必須可轉換為請求的 dtype

參數value 可以是標量常量值或值列表。標量廣播到初始化器請求的任何形狀。

如果value 是一個列表,則列表的長度必須等於所需張量形狀所隱含的元素數。如果 value 中的元素總數不等於張量形狀所需的元素數,則初始化程序將引發 TypeError

例子:

def make_variables(k, initializer):
  return (tf.Variable(initializer(shape=[k], dtype=tf.float32)),
          tf.Variable(initializer(shape=[k, k], dtype=tf.float32)))
v1, v2 = make_variables(3, tf.constant_initializer(2.))
v1
<tf.Variable ... shape=(3,) ... numpy=array([2., 2., 2.], dtype=float32)>
v2
<tf.Variable ... shape=(3, 3) ... numpy=
array([[2., 2., 2.],
       [2., 2., 2.],
       [2., 2., 2.]], dtype=float32)>
make_variables(4, tf.random_uniform_initializer(minval=-1., maxval=1.))
(<tf.Variable...shape=(4,) dtype=float32...>, <tf.Variable...shape=(4, 4) ...
value = [0, 1, 2, 3, 4, 5, 6, 7]
init = tf.constant_initializer(value)
# Fitting shape
tf.Variable(init(shape=[2, 4], dtype=tf.float32))
<tf.Variable ...
array([[0., 1., 2., 3.],
       [4., 5., 6., 7.]], dtype=float32)>
# Larger shape
tf.Variable(init(shape=[3, 4], dtype=tf.float32))
Traceback (most recent call last):

TypeError:...value has 8 elements, shape is (3, 4) with 12 elements...
# Smaller shape
tf.Variable(init(shape=[2, 3], dtype=tf.float32))
Traceback (most recent call last):

TypeError:...value has 8 elements, shape is (2, 3) with 6 elements...

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.constant_initializer。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。