tf.constant_initializer

tf.constant_initializer는 특정값을 갖는 텐서를 생성하는 Initializer입니다.



예제1

import tensorflow as tf

value = [0, 1, 2, 3, 4, 5]
initializer = tf.constant_initializer(value)

const_tensor = initializer(shape=[2, 3], dtype=tf.float32)
print(const_tensor)
tf.Tensor(
[[0. 1. 2.]
 [3. 4. 5.]], shape=(2, 3), dtype=float32)

Initializer를 사용하면 텐서의 형태가 결정되지 않은 상태에서도 텐서를 어떻게 생성할지 결정할 수 있습니다.

tf.constant_initializer에 의해 미리 지정한 값 (value)을 갖는 텐서가 만들어졌습니다.



예제2

import tensorflow as tf

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(2, tf.constant_initializer(2))

print(v1)
print(v2)
<tf.Variable 'Variable:0' shape=(2,) dtype=float32, numpy=array([2., 2.], dtype=float32)>
<tf.Variable 'Variable:0' shape=(2, 2) dtype=float32, numpy=
array([[2., 2.],
       [2., 2.]], dtype=float32)>

make_variables은 텐서의 크기와 Initializer를 입력받아서 tf.Variable 객체를 반환하는 함수입니다.

tf.constant_initializer를 사용해서 특정값을 갖는 두 개의 tf.Variable 객체를 생성했습니다.



이전글/다음글

이전글 :
다음글 :