수색…


가변 테스터 선언 및 초기화

변수 텐서는 세션에서 값을 업데이트해야하는 경우에 사용됩니다. 신경망을 만들 때 가중치 행렬에 사용되는 텐서 유형입니다.이 값은 모델을 학습 할 때 업데이트됩니다.

가변 텐서 선언은 tf.Variable() 또는 tf.get_variable() 함수를 사용하여 수행 할 수 있습니다. 더 많은 유연성을 제공하기 때문에 tf.get_variable 을 사용하는 것이 좋습니다. 예 :

# Declare a 2 by 3 tensor populated by ones
a = tf.Variable(tf.ones([2,3], dtype=tf.float32))
a = tf.get_variable('a', shape=[2, 3], initializer=tf.constant_initializer(1))

주목해야 할 점은 변수 텐서를 선언해도 값이 자동으로 초기화되지 않는다는 것입니다. 값은 다음 중 하나를 사용하여 세션을 시작할 때 명시 적으로 초기화되어야합니다.

  • tf.global_variables_initializer().run()
  • session.run(tf.global_variables_initializer())

다음 예제는 변수 텐서를 선언하고 초기화하는 전체 프로세스를 보여줍니다.

# Build a graph
graph = tf.Graph()
with graph.as_default():
    a = tf.get_variable('a', shape=[2,3], initializer=tf.constant_initializer(1), dtype=tf.float32))     # Create a variable tensor

# Create a session, and run the graph
with tf.Session(graph=graph) as session:
    tf.global_variables_initializer().run()  # Initialize values of all variable tensors
    output_a = session.run(a)            # Return the value of the variable tensor
    print(output_a)                      # Print this value

어떤 것이 다음을 출력 하는가?

[[ 1.  1.  1.]
 [ 1.  1.  1.]]

TensorFlow 변수 또는 Tensor 값 가져 오기

때로는 TensorFlow 변수의 값을 가져 와서 인쇄하여 프로그램이 올바른지 확인해야합니다.

예를 들어 다음 프로그램이있는 경우 :

import tensorflow as tf
import numpy as np
a = tf.Variable(tf.random_normal([2,3])) # declare a tensorflow variable
b = tf.random_normal([2,2]) #declare a tensorflow tensor
init = tf.initialize_all_variables()

a 또는 b의 값을 얻으려면 다음 절차를 사용할 수 있습니다.

with tf.Session() as sess:
    sess.run(init)
    a_value = sess.run(a)
    b_value = sess.run(b)
    print a_value
    print b_value

또는

with tf.Session() as sess:
    sess.run(init)
    a_value = a.eval()
    b_value = b.eval()
    print a_value
    print b_value


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow