Initializer that generates tensors with constant values.
Inherits From: Initializer
tf.compat.v2.keras.initializers.Constant( value=0 )
The resulting tensor is populated with values of type dtype
, as specified by arguments value
following the desired shape
of the new tensor (see examples below).
The argument value
can be a constant value, or a list of values of type dtype
. If value
is a list, then the length of the list must be less than or equal to the number of elements implied by the desired shape of the tensor. In the case where the total number of elements in value
is less than the number of elements required by the tensor shape, the last element in value
will be used to fill the remaining entries. If the total number of elements in value
is greater than the number of elements required by the tensor shape, the initializer will raise a ValueError
.
Args | |
---|---|
value | A Python scalar, list or tuple of values, or a N-dimensional numpy array. All elements of the initialized variable will be set to the corresponding value in the value argument. |
Raises | |
---|---|
TypeError | If the input value is not one of the expected types. |
The following example can be rewritten using a numpy.ndarray instead of the value
list, even reshaped, as shown in the two commented lines below the value
list initialization.
import numpy as np import tensorflow as tf
value = [0, 1, 2, 3, 4, 5, 6, 7]
value = np.array(value)
value = value.reshape([2, 4])
init = tf.compat.v1.constant_initializer(value)
<pre class="devsite-click-to-copy prettyprint lang-py"> <code class="devsite-terminal" data-terminal-prefix=">>>">print('fitting shape:')</code> <code class="devsite-terminal" data-terminal-prefix=">>>">with tf.compat.v1.Session():</code> <code class="devsite-terminal" data-terminal-prefix=">>>"> x = tf.compat.v1.get_variable('x', shape=[2, 4], initializer=init)</code> <code class="devsite-terminal" data-terminal-prefix=">>>"> x.initializer.run()</code> <code class="devsite-terminal" data-terminal-prefix=">>>"> print(x.eval())</code> <code class="no-select nocode"> </code> </pre> fitting shape: [[ 0. 1. 2. 3.] [ 4. 5. 6. 7.]] <pre class="devsite-click-to-copy prettyprint lang-py"> <code class="devsite-terminal" data-terminal-prefix=">>>">print('larger shape:')</code> <code class="devsite-terminal" data-terminal-prefix=">>>">with tf.compat.v1.Session():</code> <code class="devsite-terminal" data-terminal-prefix=">>>"> x = tf.compat.v1.get_variable('x', shape=[3, 4], initializer=init)</code> <code class="devsite-terminal" data-terminal-prefix=">>>"> x.initializer.run()</code> <code class="devsite-terminal" data-terminal-prefix=">>>"> print(x.eval())</code> <code class="no-select nocode"> </code> </pre> larger shape: [[ 0. 1. 2. 3.] [ 4. 5. 6. 7.] [ 7. 7. 7. 7.]] <pre class="devsite-click-to-copy prettyprint lang-py"> <code class="devsite-terminal" data-terminal-prefix=">>>">print('smaller shape:')</code> <code class="devsite-terminal" data-terminal-prefix=">>>">with tf.compat.v1.Session():</code> <code class="devsite-terminal" data-terminal-prefix=">>>"> x = tf.compat.v1.get_variable('x', shape=[2, 3], initializer=init)</code> <code class="no-select nocode"> </code> </pre> ValueError: Too many elements provided. Needed at most 6, but received 8
from_config
@classmethod from_config( config )
Instantiates an initializer from a configuration dictionary.
initializer = RandomUniform(-1, 1) config = initializer.get_config() initializer = RandomUniform.from_config(config)
Args | |
---|---|
config | A Python dictionary. It will typically be the output of get_config . |
Returns | |
---|---|
An Initializer instance. |
get_config
get_config()
Returns the configuration of the initializer as a JSON-serializable dict.
Returns | |
---|---|
A JSON-serializable Python dict. |
__call__
__call__( shape, dtype=None )
Returns a tensor object initialized as specified by the initializer.
Args | |
---|---|
shape | Shape of the tensor. |
dtype | Optional dtype of the tensor. If not provided the dtype of the tensor created will be the type of the inital value. |
Raises | |
---|---|
TypeError | If the initializer cannot create a tensor of the requested dtype. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/compat/v2/keras/initializers/Constant