あなたは語彙からword_to_idx
とidx_to_word
の両方を持っていると仮定すると、これはあなたが予測のための入力は、「これはサンプルです」である
batch_size = 1
num_steps = 3 # i.e each step for the word in "this is sample"
hidden_size = 1500
vocab_size = 10000
translate the `word_to_idx` for the input `"this is sample"`
get the word embeddings for the each word in the input
Input to model will be word embedding of size 1x1500 at each time step
Output of model at each time step will be of size 1x1500
y_pred is output at last step from model for the given input
adding projection to output (i.e y_pred x Weights(hidden_size, vocab_size) + bias(vocab_size,) = 1x10000)
now sample the output through the below function to get the index with max probability
generate idx_to_word from the index we just got
use the generated word along with the previous input to generate next word until you get `<eos>` or some predefined sentence stopping.
を
想像してみてください何のための擬似コードは、ここでは、サンプリングの例ですされますhere:
def sample(a, temperature=1.0):
# helper function to sample an index from a probability array
a = np.log(a)/temperature
a = np.exp(a)/np.sum(np.exp(a))
return np.argmax(np.random.multinomial(1, a, 1))
ありがとうございました!私は理解していると思うが、それを試してみるには1〜2日かかるだろう。私はそれを試してみると答えとしてマークします。 – mmarklar