Utility to initialize uninitialized variables on the fly.
(session)
| 890 | |
| 891 | |
| 892 | def _initialize_variables(session): |
| 893 | """Utility to initialize uninitialized variables on the fly.""" |
| 894 | variables = _get_variables(get_graph()) |
| 895 | candidate_vars = [] |
| 896 | for v in variables: |
| 897 | if not getattr(v, '_keras_initialized', False): |
| 898 | candidate_vars.append(v) |
| 899 | if candidate_vars: |
| 900 | # This step is expensive, so we only run it on variables not already |
| 901 | # marked as initialized. |
| 902 | is_initialized = session.run( |
| 903 | [variables_module.is_variable_initialized(v) for v in candidate_vars]) |
| 904 | uninitialized_vars = [] |
| 905 | for flag, v in zip(is_initialized, candidate_vars): |
| 906 | if not flag: |
| 907 | uninitialized_vars.append(v) |
| 908 | v._keras_initialized = True |
| 909 | if uninitialized_vars: |
| 910 | session.run(variables_module.variables_initializer(uninitialized_vars)) |
| 911 | |
| 912 | |
| 913 | @keras_export('keras.backend.constant') |
no test coverage detected