2016-08-15 2 views
0

tensorflow에서 구현 된 샘플러의 경우. tf.nn.fixed_unigram_candidate_sampler. 이 동작은 문서에서 잘 정의되어 있지 않습니다. 예를 들어, true_classes에 지정된 레이블은 샘플링 풀에서 제외되고 샘플링은 각 배치에 대해 수행됩니다. 하지만 내 실험에 따르면 위의 어느 것도 사실이 아닙니다.Tensorflow의 샘플러에 대한 명확하지 않은 동작

import tensorflow as tf 

labels_matrix = tf.reshape(tf.constant([1, 2, 3, 4], dtype=tf.int64), [-1, 1]) 

sampled_ids, _, _ = tf.nn.fixed_unigram_candidate_sampler(
true_classes = labels_matrix, 
num_true = 1, 
num_sampled = 1, 
unique = True, 
range_max = 5, 
distortion = 0.0, 
unigrams = range(5) 
) 

init = tf.initialize_all_variables() 
with tf.Session() as sess: 
sess.run(init) 
print sess.run([sampled_ids]) 

출력이 될 수 3, 사실은 사실 클래스의 집합에 속한다 :

는 다음과 같은 코드를 생각해 보자. - 또한 출력물의 치수는 [1]이며 기본적으로 샘플링은 각 배치가 아닌 한 번만 수행됩니다.

누군가가이를 명확히하는 데 도움이 될 수 있습니까?

답변

관련 문제