Skip to content

Commit 4177aa3

Browse files
superbobrytensorflower-gardener
authored andcommitted
The API goldens now include dunder methods defined in TensorFlow
This allows using the goldens to generate more accurate type stubs, where e.g. `tf.Tensor` supports binary operators and `tf.named_scope` is a context manager. I had to also fix two issues uncovered by this change * `tf.Tensor` dunder methods don't always use `self`, so the name-based `staticmethod` heuristic added earlier misfired. I moved classmethod/staticmethod detection to the API generator, where we have access to the runtime objects. * pybind11 docstring parsing didn't support *args, which led to `__exit__` having the wrong signature for some types. * `__round__` is monkey-patched into `tf.Tensor` at import time by NumPy "behavior" internals, so we exclude it from the API to keep the API generation independent from import side-effects. PiperOrigin-RevId: 948201041
1 parent d27a3ba commit 4177aa3

617 files changed

Lines changed: 3101 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

tf_keras/api/golden/v1/tensorflow.keras.-model.pbtxt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,10 @@ tf_class {
164164
name: "weights"
165165
mtype: "<class \'property\'>"
166166
}
167+
member_method {
168+
name: "__call__"
169+
argspec: "args=[\'self\'], varargs=args, keywords=kwargs, defaults=None"
170+
}
167171
member_method {
168172
name: "__init__"
169173
argspec: "args=[\'self\'], varargs=args, keywords=kwargs, defaults=None"
@@ -259,6 +263,7 @@ tf_class {
259263
member_method {
260264
name: "from_config"
261265
argspec: "args=[\'cls\', \'config\', \'custom_objects\'], varargs=None, keywords=None, defaults=[\'None\'], "
266+
method_kind: CLASS
262267
}
263268
member_method {
264269
name: "get_build_config"

tf_keras/api/golden/v1/tensorflow.keras.-sequential.pbtxt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@ tf_class {
166166
name: "weights"
167167
mtype: "<class \'property\'>"
168168
}
169+
member_method {
170+
name: "__call__"
171+
argspec: "args=[\'self\'], varargs=args, keywords=kwargs, defaults=None"
172+
}
169173
member_method {
170174
name: "__init__"
171175
argspec: "args=[\'self\', \'layers\', \'name\'], varargs=None, keywords=None, defaults=[\'None\', \'None\'], "
@@ -265,6 +269,7 @@ tf_class {
265269
member_method {
266270
name: "from_config"
267271
argspec: "args=[\'cls\', \'config\', \'custom_objects\'], varargs=None, keywords=None, defaults=[\'None\'], "
272+
method_kind: CLASS
268273
}
269274
member_method {
270275
name: "get_build_config"

tf_keras/api/golden/v1/tensorflow.keras.__internal__.layers.-base-random-layer.pbtxt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,10 @@ tf_class {
127127
name: "weights"
128128
mtype: "<class \'property\'>"
129129
}
130+
member_method {
131+
name: "__call__"
132+
argspec: "args=[\'self\'], varargs=args, keywords=kwargs, defaults=None"
133+
}
130134
member_method {
131135
name: "__init__"
132136
argspec: "args=[\'self\', \'seed\', \'force_generator\', \'rng_type\'], varargs=None, keywords=kwargs, defaults=[\'None\', \'False\', \'None\'], "

tf_keras/api/golden/v1/tensorflow.keras.__internal__.legacy.layers.-average-pooling1-d.pbtxt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,10 @@ tf_class {
139139
name: "weights"
140140
mtype: "<class \'property\'>"
141141
}
142+
member_method {
143+
name: "__call__"
144+
argspec: "args=[\'self\', \'inputs\'], varargs=args, keywords=kwargs, defaults=None"
145+
}
142146
member_method {
143147
name: "__init__"
144148
argspec: "args=[\'self\', \'pool_size\', \'strides\', \'padding\', \'data_format\', \'name\'], varargs=None, keywords=kwargs, defaults=[\'valid\', \'channels_last\', \'None\'], "

tf_keras/api/golden/v1/tensorflow.keras.__internal__.legacy.layers.-average-pooling2-d.pbtxt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,10 @@ tf_class {
139139
name: "weights"
140140
mtype: "<class \'property\'>"
141141
}
142+
member_method {
143+
name: "__call__"
144+
argspec: "args=[\'self\', \'inputs\'], varargs=args, keywords=kwargs, defaults=None"
145+
}
142146
member_method {
143147
name: "__init__"
144148
argspec: "args=[\'self\', \'pool_size\', \'strides\', \'padding\', \'data_format\', \'name\'], varargs=None, keywords=kwargs, defaults=[\'valid\', \'channels_last\', \'None\'], "

tf_keras/api/golden/v1/tensorflow.keras.__internal__.legacy.layers.-average-pooling3-d.pbtxt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,10 @@ tf_class {
139139
name: "weights"
140140
mtype: "<class \'property\'>"
141141
}
142+
member_method {
143+
name: "__call__"
144+
argspec: "args=[\'self\', \'inputs\'], varargs=args, keywords=kwargs, defaults=None"
145+
}
142146
member_method {
143147
name: "__init__"
144148
argspec: "args=[\'self\', \'pool_size\', \'strides\', \'padding\', \'data_format\', \'name\'], varargs=None, keywords=kwargs, defaults=[\'valid\', \'channels_last\', \'None\'], "

tf_keras/api/golden/v1/tensorflow.keras.__internal__.legacy.layers.-batch-normalization.pbtxt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,10 @@ tf_class {
139139
name: "weights"
140140
mtype: "<class \'property\'>"
141141
}
142+
member_method {
143+
name: "__call__"
144+
argspec: "args=[\'self\', \'inputs\'], varargs=args, keywords=kwargs, defaults=None"
145+
}
142146
member_method {
143147
name: "__init__"
144148
argspec: "args=[\'self\', \'axis\', \'momentum\', \'epsilon\', \'center\', \'scale\', \'beta_initializer\', \'gamma_initializer\', \'moving_mean_initializer\', \'moving_variance_initializer\', \'beta_regularizer\', \'gamma_regularizer\', \'beta_constraint\', \'gamma_constraint\', \'renorm\', \'renorm_clipping\', \'renorm_momentum\', \'fused\', \'trainable\', \'virtual_batch_size\', \'adjustment\', \'name\'], varargs=None, keywords=kwargs, defaults=[\'-1\', \'0.99\', \'0.001\', \'True\', \'True\', \'<tensorflow.python.ops.init_ops.Zeros object instance>\', \'<tensorflow.python.ops.init_ops.Ones object instance>\', \'<tensorflow.python.ops.init_ops.Zeros object instance>\', \'<tensorflow.python.ops.init_ops.Ones object instance>\', \'None\', \'None\', \'None\', \'None\', \'False\', \'None\', \'0.99\', \'None\', \'True\', \'None\', \'None\', \'None\'], "

tf_keras/api/golden/v1/tensorflow.keras.__internal__.legacy.layers.-conv1-d.pbtxt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,10 @@ tf_class {
139139
name: "weights"
140140
mtype: "<class \'property\'>"
141141
}
142+
member_method {
143+
name: "__call__"
144+
argspec: "args=[\'self\', \'inputs\'], varargs=args, keywords=kwargs, defaults=None"
145+
}
142146
member_method {
143147
name: "__init__"
144148
argspec: "args=[\'self\', \'filters\', \'kernel_size\', \'strides\', \'padding\', \'data_format\', \'dilation_rate\', \'activation\', \'use_bias\', \'kernel_initializer\', \'bias_initializer\', \'kernel_regularizer\', \'bias_regularizer\', \'activity_regularizer\', \'kernel_constraint\', \'bias_constraint\', \'trainable\', \'name\'], varargs=None, keywords=kwargs, defaults=[\'1\', \'valid\', \'channels_last\', \'1\', \'None\', \'True\', \'None\', \'<tensorflow.python.ops.init_ops.Zeros object instance>\', \'None\', \'None\', \'None\', \'None\', \'None\', \'True\', \'None\'], "

tf_keras/api/golden/v1/tensorflow.keras.__internal__.legacy.layers.-conv2-d-transpose.pbtxt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,10 @@ tf_class {
140140
name: "weights"
141141
mtype: "<class \'property\'>"
142142
}
143+
member_method {
144+
name: "__call__"
145+
argspec: "args=[\'self\', \'inputs\'], varargs=args, keywords=kwargs, defaults=None"
146+
}
143147
member_method {
144148
name: "__init__"
145149
argspec: "args=[\'self\', \'filters\', \'kernel_size\', \'strides\', \'padding\', \'data_format\', \'activation\', \'use_bias\', \'kernel_initializer\', \'bias_initializer\', \'kernel_regularizer\', \'bias_regularizer\', \'activity_regularizer\', \'kernel_constraint\', \'bias_constraint\', \'trainable\', \'name\'], varargs=None, keywords=kwargs, defaults=[\'(1, 1)\', \'valid\', \'channels_last\', \'None\', \'True\', \'None\', \'<tensorflow.python.ops.init_ops.Zeros object instance>\', \'None\', \'None\', \'None\', \'None\', \'None\', \'True\', \'None\'], "

tf_keras/api/golden/v1/tensorflow.keras.__internal__.legacy.layers.-conv2-d.pbtxt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,10 @@ tf_class {
139139
name: "weights"
140140
mtype: "<class \'property\'>"
141141
}
142+
member_method {
143+
name: "__call__"
144+
argspec: "args=[\'self\', \'inputs\'], varargs=args, keywords=kwargs, defaults=None"
145+
}
142146
member_method {
143147
name: "__init__"
144148
argspec: "args=[\'self\', \'filters\', \'kernel_size\', \'strides\', \'padding\', \'data_format\', \'dilation_rate\', \'activation\', \'use_bias\', \'kernel_initializer\', \'bias_initializer\', \'kernel_regularizer\', \'bias_regularizer\', \'activity_regularizer\', \'kernel_constraint\', \'bias_constraint\', \'trainable\', \'name\'], varargs=None, keywords=kwargs, defaults=[\'(1, 1)\', \'valid\', \'channels_last\', \'(1, 1)\', \'None\', \'True\', \'None\', \'<tensorflow.python.ops.init_ops.Zeros object instance>\', \'None\', \'None\', \'None\', \'None\', \'None\', \'True\', \'None\'], "

0 commit comments

Comments
 (0)