
рд╕рд╛рдордЧреНрд░реА рдЕрдкрдбреЗрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ
tf_upgrade_v2
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ TensorFlow 1.x рд╕реЗ Tensorflow 2 рддрдХ рдХреЛрдб рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдиреБрдЕрд▓ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рджрд╛рди
tf_upgrade_v2
ред
TensorFlow 2.0 рдореЗрдВ рдХрдИ рдПрдкреАрдЖрдИ рдкрд░рд┐рд╡рд░реНрддрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рддрд░реНрдХреЛрдВ рдХрд╛ рдХреНрд░рдо рдмрджрд▓рдирд╛, рдкрд╛рддреНрд░реЛрдВ рдХрд╛ рдирд╛рдо рдмрджрд▓рдирд╛ рдФрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдмрджрд▓рдирд╛ред рдЗрди рд╕рднреА рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХрд╛ рдореИрдиреБрдЕрд▓ рд╕реБрдзрд╛рд░ рдердХрд╛рдК рдФрд░ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╡рдг рд╣реИред рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдкрдиреЗ рд╕рдВрдХреНрд░рдордг рдХреЛ TF 2.0 рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрднрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реБрдЪрд╛рд░реВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, TensorFlow рдЯреАрдо рдиреЗ рдирдП API рдореЗрдВ рд╡рд┐рд░рд╛рд╕рдд рдХреЛрдб рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
tf_upgrade_v2
рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдмрдирд╛рдИред
рдиреЛрдЯ: tf_upgrade_v2
TensorFlow 1.13 рдФрд░ рдмрд╛рдж рдореЗрдВ (рд╕рднреА TF 2.0 рдмрд┐рд▓реНрдб рд╕рд╣рд┐рдд) рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк tf_upgrade_v2
рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
tf_upgrade_v2 \ --intree my_project/ \ --outtree my_project_v2/ \ --reportfile report.txt
рдпрд╣ рдХреЛрдб рдореМрдЬреВрджрд╛ TensorFlow 1.x рдкрд╛рдпрдерди рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ TensorFlow 2.0 рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдХреЗ рдЕрдкрдЧреНрд░реЗрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЧрддрд┐ рджреЗрддрд╛ рд╣реИред
рд░реВрдкрд╛рдВрддрд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рднреА рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдФрд░ рд╢реИрд▓реАрдЧрдд рдкрд░рд┐рд╡рд░реНрддрди рд╣реИрдВ рдЬреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ рддрдп рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдВрдЧрддрддрд╛ рдореЙрдбреНрдпреВрд▓
рдХреБрдЫ рдПрдкреАрдЖрдИ рд╡рд░реНрдгреЛрдВ рдХреЛ рдХреЗрд╡рд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдкрдХрд╛ рдХреЛрдб TensorFlow 2.0 рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЕрдкрдбреЗрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ
compat.v1
рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИред рдпрд╣ рдореЙрдбреНрдпреВрд▓ TF 1.x рд╡рд░реНрдгреЛрдВ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИ, рдЬреИрд╕реЗ
tf.foo
, рд╕рдордХрдХреНрд╖ рд▓рд┐рдВрдХ
tf.compat.v1.foo
ред рдпрджреНрдпрдкрд┐ рд╕рдВрдЧрддрддрд╛ рдореЙрдбреНрдпреВрд▓ рдЕрдЪреНрдЫрд╛ рд╣реИ, рд╣рдо рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЛ рдШрдЯрд╛рдПрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ
tf. *
рдирд╛рдо рд╕реНрдерд╛рди рдкрд░ рдирдП APIs рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ
tf. *
tf. *
рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ
tf.compat.v1
рдиреЗрдорд╕реНрдкреЗрд╕ рдХреЗ рдмрдЬрд╛рдпред
TensorFlow 2.x рдореЙрдбреНрдпреВрд▓ (рдЙрджрд╛
tf.flags
рдФрд░
tf.contrib
) рдХреЗ рдореВрд▓реНрдпрд╣реНрд░рд╛рд╕ рдХреЗ рдХрд╛рд░рдг, рдХреБрдЫ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ
tf.flags
рдХрд░рдХреЗ
tf.contrib
рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
compat.v1
ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдб рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
absl.flags
рдпрд╛
absl.flags
рдпрд╛
tenorflow/addons
рдореЗрдВ рдкреИрдХреЗрдЬ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛)ред
рдЕрдиреБрд╢рдВрд╕рд┐рдд рдЕрджреНрдпрддрди рдкреНрд░рдХреНрд░рд┐рдпрд╛
рдореИрдиреБрдЕрд▓ рдХрд╛ рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рдЕрджреНрдпрддрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдпрджреНрдпрдкрд┐ рдЕрджреНрдпрддрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рд╣рдо рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░реЗрдВ:
- рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдг : рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЕрджреНрдпрддрди рдХреЛрдб рдореЗрдВ рдЙрдЪрд┐рдд рдХрд╡рд░реЗрдЬ рдХреЗ рд╕рд╛рде рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИред рдпрд╣ рдкрд╛рдпрдерди рдХреЛрдб рд╣реИ, рдЗрд╕рд▓рд┐рдП рднрд╛рд╖рд╛ рдЖрдкрдХреЛ рдХрдИ рддреНрд░реБрдЯрд┐ рд╡рд░реНрдЧреЛрдВ рд╕реЗ рдирд╣реАрдВ рдмрдЪрд╛рдПрдЧреАред рдпрд╣ рднреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреА рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛ TensorFlow 2.0 рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рдХреА рдЧрдИ рд╣реИред
- TensorFlow 1.14 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ : рдЕрдкрдиреЗ TensorFlow рдХреЛ TensorFlow 1.x рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВ, рдХрдо рд╕реЗ рдХрдо 1.14ред рдЗрд╕рдореЗрдВ tf.compat.v2 рдкрд░ рдЕрдВрддрд┐рдо TensorFlow 2.0 рдПрдкреАрдЖрдИ рд╢рд╛рдорд┐рд▓ рд╣реИред
- 1.14 рдХреЗ рд╕рд╛рде рдЯреЗрд╕реНрдЯ рдХреЛрдб : рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреА рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдкрд╛рд╕ рд╣реЛред рдЕрдкрдЧреНрд░реЗрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдЖрдк рдЙрдиреНрд╣реЗрдВ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рд╣рд░реЗ рд░рдВрдЧ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
- рдЕрджреНрдпрддрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдБ: рдкрд░реАрдХреНрд╖рдг рд╕рд╣рд┐рдд рд╕рдВрдкреВрд░реНрдг рд╕реНрд░реЛрдд рдЯреНрд░реА рдкрд░
tf_upgrade_v2
рдЪрд▓рд╛рдПрдБред рдпрд╣ рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рдПрдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдХреЗрд╡рд▓ TensorFlow 2.0 рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╡рд░реНрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЕрдкреНрд░рдЪрд▓рд┐рдд рд╡рд░реНрдг tf.compat.v1
рд╕реЗ рдЙрдкрд▓рдмреНрдз tf.compat.v1
ред рдЙрдиреНрд╣реЗрдВ рдмрд╛рдж рдореЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред \ N " - TensorFlow 1.14 рдХреЗ рд╕рд╛рде рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдВ : рдЖрдкрдХрд╛ рдХреЛрдб рдЕрднреА рднреА TensorFlow 1.14 рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдПрдБред рдЗрд╕ рд╕реНрддрд░ рдкрд░ рдЖрдкрдХреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЕрдкрдбреЗрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реИред
- рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ : рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рд░реВрдкрд╛рдВрддрд░рдгреЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдХреЛ рдбрдмрд▓-рдЪреЗрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдпрд╛ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдХрд┐рд╕реА рднреА рд╢реЗрд╖ рдХрдВрдЯреНрд░реАрдмреНрдпреВрдЯ рдЗрдВрд╕реНрдЯреЗрдВрд╕реЗрд╕ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд╣рдЯрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
- TensorFlow 2.0 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ : рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, TensorFlow 2.0 рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
v1.disable_v2_behavior
рдХреЗ рд╕рд╛рде рдХреЛрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ: рдореБрдЦреНрдп рдкрд░реАрдХреНрд╖рдг рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ v1.disable_v2_behavior()
рд╕рд╛рде рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ, рдкрд░рд┐рдгрд╛рдо 1.14 рдХреЗ рддрд╣рдд рдЪрд▓рдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред- V2 рд╡реНрдпрд╡рд╣рд╛рд░ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ : рдЕрдм рдЬрдм рдЖрдкрдХреЗ рдкрд░реАрдХреНрд╖рдг v2 API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк
v2 behavior
рдХрд╛ рд╕рдорд╛рд╡реЗрд╢ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ v2 behavior
ред рдЖрдкрдХрд╛ рдХреЛрдб рдХреИрд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЗрд╕рдореЗрдВ рдХреБрдЫ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред
рдЕрджреНрдпрддрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рд╕реНрдерд╛рдкрдирд╛
from __future__ import absolute_import, division, print_function, unicode_literals
try: import tensorflow.compat.v2 as tf except Exception: pass tf.enable_v2_behavior() print(tf.__version__)
рдЯреЗрдВрд╕рд░рдлрд╝реНрд▓реЛ / рдореЙрдбрд▓ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХреНрд▓реЛрди рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХреЛрдб рд╣реЛ:
!git clone --branch r1.13.0 --depth 1 https://github.com/tensorflow/models
рдкрдврд╝рд┐рдП рдорджрдж
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ TensorFlow рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдорджрдж рдХреЛ рдЗрд╕ рддрд░рд╣ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:
!tf_upgrade_v2 -h
TF1 рдХреЛрдб рдЙрджрд╛рд╣рд░рдг
рдпрд╣рд╛рдБ рдПрдХ рд╕рд░рд▓ TensorFlow 1.0 рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬреЛ TensorFlow 2.0 рдкрд░ рдирд╣реАрдВ рдЪрд▓рддреА рд╣реИ
!head -n 65 models/samples/cookbook/regression/custom_regression.py | tail -n 10
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐ рджреЗ рд░рд╣рд╛ рд╣реИ:
Traceback (most recent call last): File "custom_regression.py", line 162, in <module> tf.logging.set_verbosity(tf.logging.INFO) AttributeError: module 'tensorflow' has no attribute 'logging'
рд╕рд┐рдВрдЧрд▓ рдлрд╛рдЗрд▓
рдЕрджреНрдпрддрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдкрд╛рдпрдерди рдлрд╝рд╛рдЗрд▓ рдкрд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
!tf_upgrade_v2 \ --infile models/samples/cookbook/regression/custom_regression.py \ --outfile /tmp/custom_regression_v2.py
рдпрджрд┐ рдХреЛрдб рдХреЗ рд▓рд┐рдП рд╕реБрдзрд╛рд░ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧреАред
INFO line 38:8: Renamed 'tf.feature_column.input_layer' to 'tf.compat.v1.feature_column.input_layer' INFO line 43:10: Renamed 'tf.layers.dense' to 'tf.compat.v1.layers.dense' INFO line 46:17: Renamed 'tf.layers.dense' to 'tf.compat.v1.layers.dense' INFO line 57:17: tf.losses.mean_squared_error requires manual check. tf.losses have been replaced with object oriented versions in TF 2.0 and after. The loss function calls have been converted to compat.v1 for backward compatibility. Please update these calls to the TF 2.0 versions. INFO line 57:17: Renamed 'tf.losses.mean_squared_error' to 'tf.compat.v1.losses.mean_squared_error' INFO line 61:15: Added keywords to args of function 'tf.shape' INFO line 62:15: Changed tf.to_float call to tf.cast(..., dtype=tf.float32). INFO line 65:40: Renamed 'tf.train.AdamOptimizer' to 'tf.compat.v1.train.AdamOptimizer' INFO line 68:39: Renamed 'tf.train.get_global_step' to 'tf.compat.v1.train.get_global_step' INFO line 83:9: tf.metrics.root_mean_squared_error requires manual check. tf.metrics have been replaced with object oriented versions in TF 2.0 and after. The metric function calls have been converted to compat.v1 for backward compatibility. Please update these calls to the TF 2.0 versions. INFO line 83:9: Renamed 'tf.metrics.root_mean_squared_error' to 'tf.compat.v1.metrics.root_mean_squared_error' INFO line 142:23: Renamed 'tf.train.AdamOptimizer' to 'tf.compat.v1.train.AdamOptimizer' INFO line 162:2: Renamed 'tf.logging.set_verbosity' to 'tf.compat.v1.logging.set_verbosity' INFO line 162:27: Renamed 'tf.logging.INFO' to 'tf.compat.v1.logging.INFO' INFO line 163:2: Renamed 'tf.app.run' to 'tf.compat.v1.app.run' TensorFlow 2.0 Upgrade Script ----------------------------- Converted 1 files Detected 0 issues that require attention -------------------------------------------------------------------------------- Make sure to read the detailed log 'report.txt'
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкреЗрдбрд╝
рдЗрд╕ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╕рд╣рд┐рдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ, рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░ рдЖрдк рдкреВрд░реЗ рдкреИрдХреЗрдЬ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдЯреНрд░реА рдкрд░ рднреА рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ
dataset.make_one_shot_iterator
ред
рдЕрдм рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА TensorFlow 2.0 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ `tf.compat.v1` рдореЙрдбреНрдпреВрд▓ рдХреЗ рдХрд╛рд░рдг, рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ TensorFlow 1.14 рдореЗрдВ рднреА рдЪрд▓реЗрдЧреАред
рд╡рд┐рд╕реНрддреГрдд рд░рд┐рдкреЛрд░реНрдЯ
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╕реВрдЪреА рднреА рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреА рд╣реИред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рдВрднрд╡рддрдГ рдПрдХ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдкрд╛рдпрд╛ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдЬреЛрдбрд╝реА:
!head -n 20 tree_report.txt
TensorFlow 2.0 Upgrade Script ----------------------------- Converted 7 files Detected 1 issues that require attention -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- File: models/samples/cookbook/regression/automobile_data.py -------------------------------------------------------------------------------- models/samples/cookbook/regression/automobile_data.py:125:15: WARNING: Changing dataset.make_one_shot_iterator() to tf.compat.v1.data.make_one_shot_iterator(dataset). Please check this transformation. ================================================================================ Detailed log follows: ================================================================================ ================================================================================ Input tree: 'models/samples/cookbook/regression/' ================================================================================ -------------------------------------------------------------------------------- Processing file 'models/samples/cookbook/regression/custom_regression.py' outputting to 'regression_v2/custom_regression.py'
Dataset.make_one_shot_iterator function
рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдкрд░ рдлрд┐рд░ рд╕реЗ рдзреНрдпрд╛рди
Dataset.make_one_shot_iterator function
ред
рд╕реБрд░рдХреНрд╖рд┐рдд рдореЛрдб
рд░реВрдкрд╛рдВрддрд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдХ рдХрдо рдЗрдирд╡реЗрд╕рд┐рд╡ "SECURE" рдореЛрдб рднреА рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдХреЗрд╡рд▓
tensorflow.compat.v1
рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдпрд╛рдд рдмрджрд▓рддрд╛ рд╣реИред
!tf_upgrade_v2 --mode SAFETY --infile dropout.py --outfile dropout_v2_safe.py > /dev/null
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХреЛрдб:
import tensorflow as tf d = tf.nn.dropout(tf.range(10), 0.2) z = tf.zeros_like(d, optimize=False)
рдЗрд╕ рдореЛрдб рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
import tensorflow.compat.v1 as tf tf.disable_v2_behavior() d = tf.nn.dropout(tf.range(10), 0.2) z = tf.zeros_like(d, optimize=False)
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдкрдХрд╛ рдХреЛрдб рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм TensorFlow 2 рдореЗрдВ TensorFlow 1 рдХреЛрдб рдЪрд▓рддрд╛ рд╣реИред
рдЪреЗрддрд╛рд╡рдиреА
- рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреЗ рдХреЛрдб рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рди рдХрд░реЗрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ,
tf.argmax
рдпрд╛ tf.batch_to_space
рдЬреИрд╕реЗ tf.argmax
рддрд░реНрдХреЛрдВ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдХреАрд╡рд░реНрдб рддрд░реНрдХ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдЖрдкрдХреЗ рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреЛ рднреНрд░рдорд┐рдд рдХрд░реЗрдЧрд╛ред - рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдорд╛рдирддреА рд╣реИ рдХрд┐
import tensorflow as tf
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ import tensorflow as tf
- рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддрд░реНрдХреЛрдВ рдХреЛ рдкреБрди: рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдирд╣реАрдВ рдХрд░рддреА рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддрд░реНрдХреЛрдВ рдХреЗ рдХреАрд╡рд░реНрдб рдХреЛ рдЙрди рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЬреЛрдбрд╝рддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рддрд░реНрдХреЛрдВ рдХреЛ рдЙрд▓рдЯ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рддреНрдпрд╛рдкрди рдХреЗ рдмрд╛рдж, рдЕрдиреБрд╡рд╛рдж Tensorflow.org рдкрд░ рднреА рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рдпрджрд┐ рдЖрдк рд░реВрд╕реА рдореЗрдВ Tensorflow.org рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдЕрдиреБрд╡рд╛рдж рдореЗрдВ рднрд╛рдЧ рд▓реЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдпрд╛ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВред рдХрд┐рд╕реА рднреА рд╕реБрдзрд╛рд░ рдпрд╛ рдЯрд┐рдкреНрдкрдгреА рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред