()
| 192 | kernel_initializer=create_initializer(k_init_range, data_type)) |
| 193 | |
| 194 | def _project_and_split(): |
| 195 | if fuse_qkv == True: |
| 196 | keys, values = tf.split( tf.layers.conv1d(mem, decoder_args.hidden_dim * 2, 1, |
| 197 | bias_initializer=create_initializer(b_init_range, data_type), |
| 198 | kernel_initializer=create_initializer(k_init_range, data_type)), 2, axis=2) |
| 199 | else: |
| 200 | keys = tf.layers.conv1d(mem, decoder_args.hidden_dim, 1, |
| 201 | bias_initializer=create_initializer(b_init_range, data_type), |
| 202 | kernel_initializer=create_initializer(k_init_range, data_type)) |
| 203 | values = tf.layers.conv1d(mem, decoder_args.hidden_dim, 1, |
| 204 | bias_initializer=create_initializer(b_init_range, data_type), |
| 205 | kernel_initializer=create_initializer(k_init_range, data_type), |
| 206 | name="value") |
| 207 | |
| 208 | |
| 209 | keys = tf.reshape(keys, [tf.shape(keys)[0], tf.shape(keys)[1], |
| 210 | decoder_args.head_num, decoder_args.size_per_head]) |
| 211 | keys = tf.transpose(keys, [0, 2, 1, 3]) |
| 212 | values = tf.reshape(values, [tf.shape(values)[0], tf.shape(values)[1], |
| 213 | decoder_args.head_num, decoder_args.size_per_head]) |
| 214 | values = tf.transpose(values, [0, 2, 1, 3]) |
| 215 | |
| 216 | return keys, values |
| 217 | |
| 218 | keys, values = tf.cond( |
| 219 | tf.equal( |
nothing calls this directly
no test coverage detected