"git@developer.sourcefind.cn:modelzoo/resnet50_tensorflow.git" did not exist on "a6d78dd4888371b3311866760fc3845fe4f7f996"
Commit e5f021ce authored by Hongkun Yu's avatar Hongkun Yu Committed by A. Unique TensorFlower
Browse files

[Refactor] Deprecate nlp/bert_modeling.py as the bert models are using new implementation.

PiperOrigin-RevId: 295231490
parent f2882f6e
This diff is collapsed.
...@@ -19,7 +19,7 @@ from __future__ import division ...@@ -19,7 +19,7 @@ from __future__ import division
from __future__ import print_function from __future__ import print_function
import tensorflow as tf import tensorflow as tf
from official.nlp import bert_modeling as common_layer from official.nlp.modeling import layers
class Attention(tf.keras.layers.Layer): class Attention(tf.keras.layers.Layer):
...@@ -47,18 +47,27 @@ class Attention(tf.keras.layers.Layer): ...@@ -47,18 +47,27 @@ class Attention(tf.keras.layers.Layer):
"""Builds the layer.""" """Builds the layer."""
# Layers for linearly projecting the queries, keys, and values. # Layers for linearly projecting the queries, keys, and values.
size_per_head = self.hidden_size // self.num_heads size_per_head = self.hidden_size // self.num_heads
self.query_dense_layer = common_layer.Dense3D( self.query_dense_layer = layers.DenseEinsum(
self.num_heads, size_per_head, kernel_initializer="glorot_uniform", output_shape=(self.num_heads, size_per_head),
use_bias=False, name="query") kernel_initializer="glorot_uniform",
self.key_dense_layer = common_layer.Dense3D( use_bias=False,
self.num_heads, size_per_head, kernel_initializer="glorot_uniform", name="query")
use_bias=False, name="key") self.key_dense_layer = layers.DenseEinsum(
self.value_dense_layer = common_layer.Dense3D( output_shape=(self.num_heads, size_per_head),
self.num_heads, size_per_head, kernel_initializer="glorot_uniform", kernel_initializer="glorot_uniform",
use_bias=False, name="value") use_bias=False,
self.output_dense_layer = common_layer.Dense3D( name="key")
self.num_heads, size_per_head, kernel_initializer="glorot_uniform", self.value_dense_layer = layers.DenseEinsum(
use_bias=False, output_projection=True, name="output_transform") output_shape=(self.num_heads, size_per_head),
kernel_initializer="glorot_uniform",
use_bias=False,
name="value")
self.output_dense_layer = layers.DenseEinsum(
output_shape=self.hidden_size,
num_summed_dimensions=2,
kernel_initializer="glorot_uniform",
use_bias=False,
name="output_transform")
super(Attention, self).build(input_shape) super(Attention, self).build(input_shape)
def get_config(self): def get_config(self):
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment