Pytorch 中的预训练模型
Posted
技术标签:
【中文标题】Pytorch 中的预训练模型【英文标题】:Pre-trained model in Pytorch 【发布时间】:2019-09-11 22:43:57 【问题描述】:我刚刚加载了预训练模型 3D resnet https://github.com/kenshohara/3D-ResNets-PyTorch.
从文件“resnext-101-kinetics.pth”上方的链接下载后,我以这种方式加载了这个模型: way i defined the model
此模型适用于大型视频数据集(不幸的是,我的电脑上没有足够的空间,而且我没有找到可以下载部分数据集的链接)。我只想知道我是否正确加载了模型并知道这个网络是否经过训练。 有一个选项可以确保模型加载良好? 我打印了 state_dict 并打印了权重.. 感谢您的帮助。
【问题讨论】:
【参考方案1】:它已经包含将预训练权重加载到模型的脚本。请检查第 168 行 - 第 173 行的代码:
https://github.com/kenshohara/3D-ResNets-PyTorch/blob/master/model.py#L168-L173
将opts.py 文件中default
的值更改为您下载的文件的路径resnext-101-kinetics.pth
。
'--pretrain_path', default='path/to/resnext-101-kinetics.pth', type=str, help='Pretrained model (.pth)')
如果运行代码时没有出现错误,则说明预训练文件resnext-101-kinetics.pth
已正确加载。
【讨论】:
谢谢!我的代码在第 171 行的断言中失败(断言 opt.arch == pretrain['arch'])。我检查了这个问题,我看到了这个:github.com/kenshohara/3D-ResNets-PyTorch/issues/50 但他们在 resnet-34 上说话。所以我不知道如何解决这个问题,因为我给出的路径很好(resnext-101-kinetics.pth)。非常感谢!以上是关于Pytorch 中的预训练模型的主要内容,如果未能解决你的问题,请参考以下文章