提交 9de779f1 编写于 作者: Q qiaolongfei

update switch class

上级 3a25ceeb
...@@ -1156,16 +1156,14 @@ class ConditionalBlock(object): ...@@ -1156,16 +1156,14 @@ class ConditionalBlock(object):
class Switch(object): class Switch(object):
""" """
**Switch Class** Switch class works just like a `if-elif-else`. Can be used in learning rate scheduler
to modify learning rate
Many programming languages provide `switch` as a generalization of `if-elif-else`.
Switch class works just like a `if-elif-else`.
The Semantics: The Semantics:
1. A `switch` control-flow checks cases one-by-one. 1. A `switch` control-flow checks cases one-by-one.
2. The condition of each case is a boolean value, which is a scalar. 2. The condition of each case is a boolean value, which is a scalar Variable.
3. It runs the first matched case, or the default case if there is one. 3. It runs the first matched case, or the default case if there is one.
...@@ -1174,9 +1172,22 @@ class Switch(object): ...@@ -1174,9 +1172,22 @@ class Switch(object):
Examples: Examples:
.. code-block:: python .. code-block:: python
with fluid.control_flow.Switch() as switch: lr = fluid.layers.tensor.create_global_var(
shape=[1],
value=0.0,
dtype='float32',
persistable=True,
name="learning_rate")
one_var = tensor.fill_constant(
shape=[1], dtype='float32', value=1.0)
two_var = tensor.fill_constant(
shape=[1], dtype='float32', value=2.0)
with fluid.layers.control_flow.Switch() as switch:
with switch.case(global_step == zero_var): with switch.case(global_step == zero_var):
fluid.tensor.assign(input=one_var, output=div_res) fluid.layers.tensor.assign(input=one_var, output=lr)
with switch.default():
fluid.layers.tensor.assign(input=two_var, output=lr)
""" """
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册