Advertisement

pytorch AttributeError: ‘_IncompatibleKeys’ object has no attribute ‘eval’

阅读量:

在模型加载参数的过程中,使用load_state_dict方法后,该方法并不会将模型本身作为返回值进行输出。因此,在调用时无需对返回结果进行接收处理,仅需执行load_state_dict操作即可。

错误的代码示例如下:

复制代码
    # 这里你用列表接收了load_state_dict的返回值,但它其实不是load_state_dict之后得到的模型,而是一个_IncompatibleKeys的什么鬼
    models = [m.load_state_dict(ckpts[i]['state_dict']) for i,m in enumerate(models)]
    
    
    python
复制代码
    for i,m in enumerate(models): m.load_state_dict(ckpts[i]['state_dict'])
    
    
    python

附:
网上说的什么cuda不cuda的都不对,与cuda执行顺序无任何关联。同时,也不受模型复制方式的影响,无论是采用copy.deepcopy还

全部评论 (0)

还没有任何评论哟~