()
| 98 | return result |
| 99 | |
| 100 | def init(): |
| 101 | d_model = 512 |
| 102 | d_k = 64 |
| 103 | d_v = 64 |
| 104 | sequence_length =6 #5 |
| 105 | decoder_sent_length=6 |
| 106 | h = 8 |
| 107 | batch_size = 4*32 |
| 108 | num_layer=6 |
| 109 | # 2.set Q,K,V |
| 110 | vocab_size = 1000 |
| 111 | embed_size = d_model |
| 112 | initializer = tf.random_normal_initializer(stddev=0.1) |
| 113 | Embedding = tf.get_variable("Embedding_d", shape=[vocab_size, embed_size], initializer=initializer) |
| 114 | decoder_input_x = tf.placeholder(tf.int32, [batch_size, decoder_sent_length], name="input_x") # [4,10] |
| 115 | print("1.decoder_input_x:", decoder_input_x) |
| 116 | decoder_input_embedding = tf.nn.embedding_lookup(Embedding, decoder_input_x) # [batch_size*sequence_length,embed_size] |
| 117 | #Q = embedded_words # [batch_size*sequence_length,embed_size] |
| 118 | #K_s = embedded_words # [batch_size*sequence_length,embed_size] |
| 119 | #K_v_encoder = tf.placeholder(tf.float32, [batch_size,decoder_sent_length, d_model], name="input_x") #sequence_length |
| 120 | Q = tf.placeholder(tf.float32, [batch_size,sequence_length, d_model], name="input_x") |
| 121 | K_s=decoder_input_embedding |
| 122 | K_v_encoder= tf.get_variable("v_variable",shape=[batch_size,decoder_sent_length, d_model],initializer=initializer) #tf.float32, |
| 123 | print("2.output from encoder:",K_v_encoder) |
| 124 | mask = get_mask(decoder_sent_length) #sequence_length |
| 125 | decoder = Decoder(d_model, d_k, d_v, sequence_length, h, batch_size, Q, K_s, K_v_encoder,decoder_sent_length,mask=mask,num_layer=num_layer) |
| 126 | return decoder,Q, K_s |
| 127 | |
| 128 | decoder,Q, K_s=init() |
| 129 |
no test coverage detected