Skip to content

Solutions of TypeError: <lambda>() got an unexpected keyword argument 'momentum' #21

@flycsuu

Description

@flycsuu

I think this is due to the version of TF, my version is r1.9 and r1.11
Two ways to solve this problem:
Method One:
1.Emacs conv_seq2seq/example_configs/conv_seq2seq.yml
2.Remove from line 15 to 17

# optimizer.params:
#     momentum: 0.99
#     use_nesterov: True  

3.Emacs conv_seq2seq/seq2seq/models/conv_seq2seq.py
4.Remove in line 72
#"optimizer.params": {"momentum": 0.99, "use_nesterov": True}, # Arbitrary parameters for the optimizer
Method Two(Not recommended):
1.Emacs ~/tensorflow/contrib/layers/python/layers/optimizers.py
2.Modify the code in line 44

        # "Momentum": lambda learning_rate: train.MomentumOptimizer(learning_rate, momentum=0.9),  # pylint: disable=line-too-long
        "Momentum": train.MomentumOptimizer,

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions