Hey guy’s,
when I try to run my script I get this weird error and I don’t know how to fix it or what this error is caused by. This is the error:TypeError: trace(): argument 'input' (position 1) must be Tensor, not method
I hope that some of you guy’s can help me with this error and explain to me what this error is caused by.
This is my code:
import argparse
import torch
from model import SpeechRecognition
from collections import OrderedDict

def trace(model):
    model.eval()
    x = torch.rand(1, 81, 300)
    hidden = model._init_hidden(1)
    traced = torch.trace(model.forward)(example_inputs=(x, hidden)) 
    return traced

def main(args):
    print("loading model from", args.model_checkpoint)
    checkpoint = torch.load(args.model_checkpoint, map_location=torch.device('cpu'))
    h_params = SpeechRecognition.hyper_parameters
    model = SpeechRecognition(**h_params)

    model_state_dict = checkpoint['state_dict']
    new_state_dict = OrderedDict()
    for k, v in model_state_dict.items():
        name = k.replace("model.", "") # remove `model.`
        new_state_dict[name] = v

    model.load_state_dict(new_state_dict)

    print("tracing model...")
    traced_model = trace(model)
    #print(type(traced_model))
    print("saving to", args.save_path)
    traced_model.save(args.save_path)
    print("Done!")


if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="testing the wakeword engine")
    parser.add_argument('--model_checkpoint', type=str, default='checkpoint_file', required=False,
                        help='Checkpoint of model to optimize')
    parser.add_argument('--save_path', type=str, default='path/where/the/optimized/model/should/be/saved', required=False,
                        help='path to save optmized model')

    args = parser.parse_args()
    main(args)


This is the full error message:
Traceback (most recent call last):
  File "c:/Users/supre/Documents/Python Programme/neuralnet/optimize_graph.py", line 45, in <module>
    main(args)
  File "c:/Users/supre/Documents/Python Programme/neuralnet/optimize_graph.py", line 30, in main
    traced_model = trace(model)
  File "c:/Users/supre/Documents/Python Programme/neuralnet/optimize_graph.py", line 11, in trace
    traced = torch.trace(model.forward)(example_inputs=(x, hidden))
TypeError: trace(): argument 'input' (position 1) must be Tensor, not method

Thank’s for every help in advance:)