Skip to content

Commit da9af61

Browse files
authored
Copy init to keras/__init__.py (#19551)
1 parent 2f34434 commit da9af61

File tree

2 files changed

+51
-63
lines changed

2 files changed

+51
-63
lines changed

api_gen.py

Lines changed: 2 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ def create_legacy_directory(package_dir):
4747
)
4848
with open(os.path.join(api_dir, "__init__.py"), "w") as f:
4949
f.write(init_file)
50+
with open(os.path.join(package_dir, "__init__.py"), "w") as f:
51+
f.write(init_file)
5052
# Remove the import of `_tf_keras` in `keras/_tf_keras/keras/__init__.py`
5153
init_file = init_file.replace("from keras.api import _tf_keras\n", "\n")
5254
with open(os.path.join(tf_keras_dirpath, "__init__.py"), "w") as f:
@@ -126,40 +128,6 @@ def export_version_string(api_init_fname):
126128
f.write(contents)
127129

128130

129-
def update_package_init(init_fname):
130-
contents = """
131-
# Import everything from /api/ into keras.
132-
from keras.api import * # noqa: F403
133-
from keras.api import __version__ # Import * ignores names start with "_".
134-
135-
import os
136-
137-
# Add everything in /api/ to the module search path.
138-
__path__.append(os.path.join(os.path.dirname(__file__), "api")) # noqa: F405
139-
140-
# Don't pollute namespace.
141-
del os
142-
143-
# Never autocomplete `.src` or `.api` on an imported keras object.
144-
def __dir__():
145-
keys = dict.fromkeys((globals().keys()))
146-
keys.pop("src")
147-
keys.pop("api")
148-
return list(keys)
149-
150-
151-
# Don't import `.src` or `.api` during `from keras import *`.
152-
__all__ = [
153-
name
154-
for name in globals().keys()
155-
if not (name.startswith("_") or name in ("src", "api"))
156-
]"""
157-
with open(init_fname) as f:
158-
init_contents = f.read()
159-
with open(init_fname, "w") as f:
160-
f.write(init_contents.replace("\nfrom keras import api", contents))
161-
162-
163131
def build():
164132
# Backup the `keras/__init__.py` and restore it on error in api gen.
165133
root_path = os.path.dirname(os.path.abspath(__file__))
@@ -181,8 +149,6 @@ def build():
181149
namex.generate_api_files(
182150
"keras", code_directory="src", target_directory="api"
183151
)
184-
# Creates `keras/__init__.py` importing from `keras/api`
185-
update_package_init(build_init_fname)
186152
# Add __version__ to keras package
187153
export_version_string(build_api_init_fname)
188154
# Creates `_tf_keras` with full keras API

keras/__init__.py

Lines changed: 49 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,52 @@
44
since your modifications would be overwritten.
55
"""
66

7-
import os
8-
9-
# Import everything from /api/ into keras.
10-
from keras.api import * # noqa: F403
11-
from keras.api import __version__ # Import * ignores names start with "_".
12-
13-
# Add everything in /api/ to the module search path.
14-
__path__.append(os.path.join(os.path.dirname(__file__), "api")) # noqa: F405
15-
16-
# Don't pollute namespace.
17-
del os
18-
19-
20-
# Never autocomplete `.src` or `.api` on an imported keras object.
21-
def __dir__():
22-
keys = dict.fromkeys((globals().keys()))
23-
keys.pop("src")
24-
keys.pop("api")
25-
return list(keys)
26-
27-
28-
# Don't import `.src` or `.api` during `from keras import *`.
29-
__all__ = [
30-
name
31-
for name in globals().keys()
32-
if not (name.startswith("_") or name in ("src", "api"))
33-
]
7+
from keras.api import _tf_keras
8+
from keras.api import activations
9+
from keras.api import applications
10+
from keras.api import backend
11+
from keras.api import callbacks
12+
from keras.api import config
13+
from keras.api import constraints
14+
from keras.api import datasets
15+
from keras.api import distribution
16+
from keras.api import dtype_policies
17+
from keras.api import export
18+
from keras.api import initializers
19+
from keras.api import layers
20+
from keras.api import legacy
21+
from keras.api import losses
22+
from keras.api import metrics
23+
from keras.api import mixed_precision
24+
from keras.api import models
25+
from keras.api import ops
26+
from keras.api import optimizers
27+
from keras.api import preprocessing
28+
from keras.api import quantizers
29+
from keras.api import random
30+
from keras.api import regularizers
31+
from keras.api import saving
32+
from keras.api import tree
33+
from keras.api import utils
34+
from keras.src.backend.common.keras_tensor import KerasTensor
35+
from keras.src.backend.common.stateless_scope import StatelessScope
36+
from keras.src.backend.exports import Variable
37+
from keras.src.backend.exports import device
38+
from keras.src.backend.exports import name_scope
39+
from keras.src.dtype_policies.dtype_policy import DTypePolicy
40+
from keras.src.dtype_policies.dtype_policy import FloatDTypePolicy
41+
from keras.src.initializers.initializer import Initializer
42+
from keras.src.layers.core.input_layer import Input
43+
from keras.src.layers.input_spec import InputSpec
44+
from keras.src.layers.layer import Layer
45+
from keras.src.losses.loss import Loss
46+
from keras.src.metrics.metric import Metric
47+
from keras.src.models.model import Model
48+
from keras.src.models.sequential import Sequential
49+
from keras.src.ops.function import Function
50+
from keras.src.ops.operation import Operation
51+
from keras.src.optimizers.optimizer import Optimizer
52+
from keras.src.quantizers.quantizers import Quantizer
53+
from keras.src.regularizers.regularizers import Regularizer
54+
from keras.src.version import __version__
55+
from keras.src.version import version

0 commit comments

Comments
 (0)