Tôi đang cố gắng tạo mạng trong lưu lượng tensor với nhiều đầu ra softmax, mỗi đầu ra có kích thước khác nhau. Kiến trúc mạng là: Nhập -> LSTM -> Bỏ học. Sau đó, tôi có 2 lớp softmax: Softmax của 10 đầu ra và Softmax 20 đầu ra. Lý do cho điều này là bởi vì tôi muốn tạo ra hai bộ kết quả đầu ra (10 và 20), và sau đó kết hợp chúng để tạo ra một đầu ra cuối cùng. Tôi không chắc chắn làm thế nào để làm điều này trong Tensorflow.Làm thế nào để có nhiều đầu ra Softmax trong Tensorflow?
Trước đây, để tạo một mạng như mô tả, nhưng với một softmax, tôi nghĩ tôi có thể làm một cái gì đó như thế này.
inputs = tf.placeholder(tf.float32, [batch_size, maxlength, vocabsize])
lengths = tf.placeholders(tf.int32, [batch_size])
embeddings = tf.Variable(tf.random_uniform([vocabsize, 256], -1, 1))
lstm = {}
lstm[0] = tf.contrib.rnn.LSTMCell(hidden_layer_size, state_is_tuple=True, initializer=tf.contrib.layers.xavier_initializer(seed=random_seed))
lstm[0] = tf.contrib.rnn.DropoutWrapper(lstm[0], output_keep_prob=0.5)
lstm[0] = tf.contrib.rnn.MultiRNNCell(cells=[lstm[0]] * 1, state_is_tuple=True)
output_layer = {}
output_layer[0] = Layer.W(1 * hidden_layer_size, 20, 'OutputLayer')
output_bias = {}
output_bias[0] = Layer.b(20, 'OutputBias')
outputs = {}
fstate = {}
with tf.variable_scope("lstm0"):
# create the rnn graph at run time
outputs[0], fstate[0] = tf.nn.dynamic_rnn(lstm[0], tf.nn.embedding_lookup(embeddings, inputs),
sequence_length=lengths,
dtype=tf.float32)
logits = {}
logits[0] = tf.matmul(tf.concat([f.h for f in fstate[0]], 1), output_layer[0]) + output_bias[0]
loss = {}
loss[0] = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=logits[0], labels=labels[0]))
Tuy nhiên, bây giờ, tôi muốn đầu ra RNN (sau khi bỏ học) chảy vào 2 lớp softmax, một kích thước 10 và kích thước khác 20. Có ai có ý tưởng về cách thực hiện việc này không?
Cảm ơn
Edit: Lý tưởng nhất là tôi muốn sử dụng một phiên bản của softmax như những gì được định nghĩa ở đây trong thư viện Knet Julia này. Tensorflow có tương đương không? https://github.com/denizyuret/Knet.jl/blob/1ef934cc58f9671f2d85063f88a3d6959a49d088/deprecated/src7/op/actf.jl#L103
Tôi hiện có câu hỏi với một số vấn đề về kích thước, hãy xem câu hỏi tôi đã thêm làm nhận xét cho câu trả lời được chọn chính xác. – hockeybro