tensorflow에서 음수가 아닌 작은 난수로 변수를 초기화하는 방법은 무엇입니까?tensorflow에서 음이 아닌 난수가 작은 변수를 초기화하는 방법은 무엇입니까?
TF에서 문서에 정의 된 가능한 모든 변수 초기화 프로그램을 찾는 방법은 무엇입니까?
tensorflow에서 음수가 아닌 작은 난수로 변수를 초기화하는 방법은 무엇입니까?tensorflow에서 음이 아닌 난수가 작은 변수를 초기화하는 방법은 무엇입니까?
TF에서 문서에 정의 된 가능한 모든 변수 초기화 프로그램을 찾는 방법은 무엇입니까?
변수를 만들고 올바른 크기의 임의 분포를 선택하십시오.
w = tf.Variable(tf.random_uniform((dim1, dim2)))
초기화 할 때 임의 번호를 만들어야합니다. 이 링크는 Tensorflow에서 모든 무작위 작업 (배포)을 제공합니다. 작은 음수가 아닌 숫자 https://www.tensorflow.org/api_guides/python/constant_op#Random_Tensors
초기화 변수 : 음이 아닌 random numbers in TensorFlow에 대한 몇 가지 옵션이 있습니다
norm = tf.random_uniform_initializer(minval=0, maxval = 1, dtype=tf.float32)
with tf.variable_scope('scope') as scope:
w = tf.get_variable('w', [inp.get_shape()[1], output_dim], initializer=norm, dtype=tf.float32)
이것은 어떻게 부정적이지 않은가? 정규 분포는 평균이 0이고 음수 값을 취할 수 있습니다. – gdelab
[0,1] 사이에 균일 분포를 사용할 수 있습니다. –
내 답변 편집 –
. 다른 사람이 이미 언급 한 것처럼, 당신은 tf.random_uniform
를 사용할 수 있습니다
w = tf.Variable(tf.random_uniform(shape, minval=0, maxval=max))
을 균일 난수에 대한 [minval, maxval)
에. 보다 일반적인 배포판의 경우 을 사용하면 모양 매개 변수 alpha
에 의해 매개 변수화 된 gamma distribution의 샘플과 역함수 매개 변수 beta
을 가져올 수 있습니다. alpha
가 제공되어야하지만, 기본적으로 beta=1
(지문는 None
을 말한다하더라도) :
w = tf.Variable(tf.random_gamma(shape, alpha=alpha, beta=beta))
감마 분포는 몇 가지에 대한 사전 지원 [0, +inf)
및 다른 좋은 특성 (일부 가정에서 최대 엔트로피 분포 켤레를 가지고 Bayes 통계에서). 매개 변수에 따라 다양한 모양을 얻을 수 있습니다. 그것은 정규 분포와 유사하지만 양수에 대해서만입니다.
또한 수 (나는 그것을 추천 할 것이라고 모르겠지만, 그것은 이상한 느낌) tf.truncated_random_normal
를 사용하는을 제외하고 지정된 mean
와 stddev
정규 분포에서 샘플, 그 외부 플러스 또는 마이너스 2의 샘플 표준 편차는 감소하고 다시 샘플링됩니다
w = tf.Variable(tf.truncated_random_normal(shape, mean=mean, stddev=stddev))
mean
어떤 양의 값을 것
및 stddev
가 mean/2
동일 최대 될 것이다.
답변 중 하나라도 도움이 되었다면 앞으로 질문에 대한 답을 사람들이 알 수 있도록 올바른 것으로 표시하십시오. – Engineero