使用pytorch进行迁移学习

说明:本篇文章整理Transfer Learning tutorial上的知识点;关于迁移学习,请移步:cs231n notes


简要说明为何需要迁移学习:

 在实际中,我们很少会训练一整个卷积神经网络(所有的参数从随机初始值开始训练),因为我们很难找到足够大的数据集。实际上,我们会用一个非常大的数据集(如ImageNet)来预训练一个卷积神经网络,然后使用这个神经网络来作为初始化权重或者是特征提取器。


迁移学习的两个基本操作:

 · 使用预训练网络的权重作为训练模型的初始权重,而不是随机初始化的参数。

 · 固定卷积层的参数不动,训练、微调全连接层(分类器);全连接层的参数是随机初始化的。

 

需要用到的库:

from __future__ import print_function, division

import torch
import torch.nn as nn
import torch.optim as optim
from torch.optim import lr_scheduler
from torch.autograd import Variable
import numpy as np
import torchvision
from torchvision import datasets, models, transforms
import matplotlib.pyplot as plt
import time
import os
import copy

plt.ion()   # interactive mode

加载数据,将数据集放在脚本文件的相对目录下:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值