2017-05-07 9 views
1

의 범위를 한정 b는 여전히 tf.float32 인 반면 0 또는 1 만 가능합니다.

정의 할 때 변수 W의 범위를 어떻게 제한 할 수 있습니까?
또는
두 가지 다른 학습 속도를 사용할 수 있습니까? w의 비율은 1 또는 -1이고 b의 비율은 평소대로 0.0001입니다.
Tensorflow 내가 이미 CAN w의 값을 알고 <br> 벡터가</p> <pre><code>Y = w * X + b </code></pre> Y 및 X는 출력 및 입력 자리, w 및 B이다 <p>같은 훈련 모델을 tf.Variables

답변

4

활성화 중에 변수를 제한 할 수있는 방법이 없습니다. 그러나 당신이 할 수있는 일은 각각의 반복 후에 그것을 제한하는 것입니다. 여기 tf.where()이 작업을 수행하는 한 가지 방법입니다 :

import tensorflow as tf 

a = tf.random_uniform(shape=(3, 3)) 

b = tf.where(
    tf.less(a, tf.zeros_like(a) + 0.5), 
    tf.zeros_like(a), 
    tf.ones_like(a) 
) 

with tf.Session() as sess: 
    A, B = sess.run([a, b]) 
    print A, '\n' 
    print B 

0.5 위의 모든 것을 변환합니다 어느 하나와 다른 모든 0 :

[[ 0.2068541 0.12682056 0.73839438] 
[ 0.00512838 0.43465161 0.98486936] 
[ 0.32126224 0.29998791 0.31065524]] 

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