with tf. GradientTape() as gen_tape, tf. GradientTape() as disc_tape:
Processing 1
Processing 2
These articles and PEP343,346 seem to have some information.
It explains what the specifications of the with statement look like and how it works.
Is Python with statement exactly equal to a try-(except)-final block?
What is the equivalent try statement of the with statement?
PEP343 – The "with" Statement
PEP346 – User Defined("with") Statements
These syntaxes are:
with EXPR as VAR:
BLOCK
It says it will be expanded here.
mgr=(EXPR)
exit=type(mgr).__exit__#Not calling it yet
value=type(mgr).__enter__(mgr)
exc = True
try:
try:
VAR=value#Only if "as VAR" is present
BLOCK
except:
# The exceptional case is handled here
exc = False
if not exit(mgr, *sys.exc_info()):
raise
# The exception is swallowed if exit() returns true
finally:
# The normal and non-local-gotocases are handled here
if exc:
exit(mgr, None, None, None)
If there are two parts of EXPR as VAR
as in the question, you can create a set of mgr, exit, value
for each of them, and use mgr1, exit1, value1
, mgr2, exit2, value2
.
You may not be able to make it completely equivalent, but try it.
© 2024 OneMinuteCode. All rights reserved.