tf.multinomial выводит число, отличное от диапазона - PullRequest
0 голосов
/ 04 июля 2018

Я работаю в спортивной среде OpenAI (используя градиент политики). Моя сеть выводит действие, которое превышает возможный диапазон действия.

n_outputs = 9
learning_rate = 0.01

initializer = tf.variance_scaling_initializer()

X = tf.placeholder(tf.float32, shape=[None, 50, 70, 1])
network = tflearn.conv_2d(X, 32, 5, strides=2, activation='relu')
network = tflearn.max_pool_2d(network, 2)
network = tflearn.conv_2d(network, 32, 5, strides=2, activation='relu')
network = tflearn.max_pool_2d(network, 2)
network = tflearn.fully_connected(network, 256, activation='relu')
hidden = tf.layers.dense(network, 64, activation=tf.nn.relu, kernel_initializer=initializer)
logits = tf.layers.dense(hidden, n_outputs)
outputs = tf.nn.softmax(logits)
action = tf.multinomial(outputs, num_samples=1)

Выводит 9, что создает ошибку в среде спортзала.

Полный код .

1 Ответ

0 голосов
/ 05 июля 2018

tf.multinomial будет производить выборку за пределами диапазона, если он обнаружит числовую ошибку , иными словами, у вас есть NaN на вашем графике.

...