TypeError: hook() takes 2 positional arguments but 3 were given

…衆ロ難τιáo~ 提交于 2019-12-20 07:07:29

问题


I'm new to pytorch and I'm trying to use hook() and register_forward_pre_hook in my project

What I've tried is

def get_features_hook(module,input):
    print(input)

handle_feat = alexnet.features[0].register_forward_pre_hook(get_features_hook)


a = alexnet(input_data)

And I got belows error at a = alexnet(input_data)

TypeError: get_features_hook() takes 2 positional arguments but 3 were given

I've lost few hours on this problem and I just can't able to figure it out.

Anyone likes to help me?


With Shai's help, I tried his codes, and I got this

Conv2d(3, 64, kernel_size=(11, 11), stride=(4, 4), padding=(2, 2))
get_features_hook called with 2 args:
    arg of type Conv2d
    arg of type tuple

File "<input>", line 2, in get_features_hook
NameError: name 'args' is not defined

来源:https://stackoverflow.com/questions/57765751/typeerror-hook-takes-2-positional-arguments-but-3-were-given

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!