译者:ZHHAYO

作者: Nathan Inkawhich

在本教程中,我们将深入探讨如何微调和特征提取torchvision 模型,所有这些模型都已经预先在1000类的magenet数据集上训练完成。本程将深入介绍如何使用几个现代的CNN架构,并将为微调任意的PyTorch模型建立一个直觉。 由于每个模型架构是有差异的,因此没有可以在所有场景中使用的样板微调代码。 然而,研究人员必须查看现有架构并对每个模型进行自定义调整。

在本文档中,我们将执行两种类型的迁移学习:微调和特征提取。 在微调中,我们从一个预训练模型开始,然后为我们的新任务更新所有的模型参数,实质上就是重新训练整个模型。 在特征提取中,我们从预训练模型开始,只更新产生预测的最后一层的权重。它被称为特征提取是因为我们使用预训练的CNN作为固定的特征提取器,并且仅改变输出层。 有关迁移学习的更多技术信息,请参阅here和here.

通常,这两种迁移学习方法都遵循以下几个步骤:

  • 初始化预训练模型
  • 重组最后一层,使其具有与新数据集类别数相同的输出数
  • 为优化算法定义我们想要在训练期间更新的参数
  • 运行训练步骤
from __future__ import print_function
from __future__ import division
import torch
import torch.nn as nn
import torch.optim as optim
import numpy as np
import torchvision
from torchvision import datasets, models, transforms
import matplotlib.pyplot as plt
import time
import os
import copy
print("PyTorch Version: ",torch.__version__)
print("Torchvision Version: ",torchvision.__version__)

阅读全文/改进本文

PyTorch 1.0 中文官方教程:Torchvision 模型微调相关推荐

  1. PyTorch 1.0 中文官方教程:使用 Amazon AWS 进行分布式训练

    译者:yportne13 作者: Nathan Inkawhich 编辑: Teng Li 在这篇教程中我们会展示如何使用 Amazon AWS 的两个多路GPU节点来设置,编写和运行 PyTorch ...

  2. PyTorch 1.0 中文官方教程:在 C++ 中加载 PYTORCH 模型

    译者:talengu PyTorch的主要接口为Python.虽然Python有动态编程和易于迭代的优势,但在很多情况下,正是Python的这些属性会带来不利.我们经常遇到的生产环境,要满足低延迟和严 ...

  3. PyTorch 1.0 中文官方教程:使用ONNX将模型从PyTorch传输到Caffe2和移动端

    译者:冯宝宝 在本教程中,我们将介绍如何使用ONNX将PyTorch中定义的模型转换为ONNX格式,然后将其加载到Caffe2中.一旦进入Caffe2,我们就可以运行模型来仔细检查它是否正确导出,然后 ...

  4. PyTorch 1.0 中文官方教程:混合前端的 seq2seq 模型部署

    译者:cangyunye 作者: Matthew Inkawhich 本教程将介绍如何是seq2seq模型转换为PyTorch可用的前端混合Torch脚本. 我们要转换的模型是来自于聊天机器人教程 C ...

  5. PyTorch 1.0 中文官方教程:torch.nn 到底是什么?

    译者:lhc741 作者:Jeremy Howard,fast.ai.感谢Rachel Thomas和Francisco Ingham的帮助和支持. 我们推荐使用notebook来运行这个教程,而不是 ...

  6. PyTorch 1.0 中文官方教程:ONNX 现场演示教程

    译者:冯宝宝 本教程将向您展示如何使用ONNX将已从PyTorch导出的神经模型传输模型转换为Apple CoreML格式.这将允许您在Apple设备上轻松运行深度学习模型,在这种情况下,可以从摄像机 ...

  7. PyTorch 1.0 中文官方教程:使用 PyTorch 进行图像风格转换

    译者:bdqfork 作者: Alexis Jacq 简介 本教程主要讲解如何实现由Leon A. Gatys,Alexander S. Ecker和Matthias Bethge提出的 Neural ...

  8. PyTorch 1.0 中文官方教程:可选:数据并行处理

    译者:bat67 最新版会在译者仓库首先同步. 在这个教程里,我们将学习如何使用数据并行(DataParallel)来使用多GPU. PyTorch非常容易的就可以使用GPU,可以用如下方式把一个模型 ...

  9. PyTorch 1.0 中文官方教程:使用PyTorch编写分布式应用程序

    译者:firdameng 作者:Soumith Chintala 在这个简短的教程中,我们将讨论PyTorch的分布式软件包. 我们将看到如何设置分布式设置,使用不同的通信策略,并查看包的内部部分. ...

最新文章

  1. hdf heg 批量拼接_[转载]MODIS Aerosol product/MODIS气溶胶产品
  2. php backdoor creator encoder,Raven2 渗透(phpmailer漏洞+UDF提权)
  3. java发送文件_java 模拟http发送文件和参数
  4. 嵌入式操作系统内核原理和开发(基于链表节点的内存分配算法)
  5. matlab积分超过最大值,MATLAB 定积分上限是变量a,如何求解目标函数关于变量a的最大值?谢谢...
  6. LM2596电路中,肖特基二极管得作用!
  7. 瑞金医院启动神经领域 AI 技术临床研究;好未来、清华大学成立研究中心,共建“AI+教育”智慧课堂...
  8. Mysql 同步 1236_MySQL主从同步报error 1236
  9. 网络安全策略和网络安全机制
  10. [bzoj 2038 OR 清橙A1206 小Z的袜子]莫队算法
  11. ubuntu 18.04取消自动锁屏以及设置键盘快捷锁屏
  12. 40岁开始学编程,现在成了一名技术主管
  13. 前端面试题(附答案)完善中……
  14. web入侵二之弱口令攻击及其他
  15. vue附件上传和展示
  16. Day7-模拟登录丁香园,爬取所有用户基本信息和回复内容
  17. opencv3.0中contrib模块的添加
  18. html展示markdown文件,在前端页面展示Markdown文件
  19. 一道算法题——合并有交集的集合
  20. 软件加密行业的现状和发展趋势

热门文章

  1. (27)System Verilog设计UART接收
  2. FPGA常用FIFO简介
  3. oracle导出报错04063,Oracle EXP导出报错的解决方法
  4. android自定义图片过渡效果,教你做出炫酷的Android动画效果
  5. java字符串abcde_java aababcabcdabcde,获取字符串中每一个字母出现的次数
  6. Keil(MDK-ARM-STM32)系列教程(五)Configuration(Ⅰ)
  7. JAVA学习之类与对象例题分享(两点确定直线并进行相关操作)
  8. libevent源码深度剖析十二
  9. [计算机网络] - HTTP、HTTPS
  10. svo: semi-direct visual odometry 论文解析