2017-10-04 4 views
0

I는 TensorFlow에서 Variable 생성 : 그 후TensorFlow에서 변수 값을 변경하는 방법은 무엇입니까?

x = tf.placeholder(tf.float32) 

I 함수 (연산 그래프)를 정의 정의 된 객체 위에 둘을 조합 :

y = x + c 

c = tf.Variable([1.0, 2.0, 3.0], tf.float32) 

그럼 I가 자리를 정의

그 후 나는 전역 변수를 "초기화"합니다 :

,451,515,
s = tf.Session() 
init = tf.global_variables_initializer() 
s.run(init) 

마지막으로, 나는 내 기능을 실행할 수 있습니다

s.run(y, {x : [10.0, 20.0, 30.0]}) 

지금, 나는 c의 값을 변경하고 싶습니다. TensorFlow에서 가능합니까? 나는 예를 들면 시도 : 또한

c = tf.assign(c, [1.0, 1.0, 1.0]) 

과 :

c = tf.Variable([1.0, 1.0, 1.0], tf.float32) 

아무것도 작동하지 않습니다. 내가

s.run(y, {x : [10.0, 20.0, 30.0]}) 

를 호출 할 때마다 나는 여전히 이전 결과 (c의 이전/초기 값에 해당)을 얻는다.

그래서 TensorFlow에서 전역 변수에 새 값을 할당하려면 어떻게해야합니까?

답변

1

을있어, 당신은 필요 그것을 평가 :

c.eval(session=s) 

또는

s.run(c) 
1

변수 'C'에 새로운 값을 할당 한 후, 당신은 당신이 사용되는 방법 중 하나를 사용하여 변수 c에 새로운 값을 할당 한 후 세션이 새 값을 초기화

c = tf.assign(c, [1.0, 1.0, 1.0]) 
s.run(c) 
s.run(y, {x : [10.0, 20.0, 30.0]}) 
array([ 11., 21., 31.], dtype=float32) 
관련 문제