AI challenger 场景分类 PyTorch 迁移学习 Places365-CNNs 启动代码

2023-11-02

分享个简单的启动代码。

'''
CHANGES:
- imagenet cnns: resnet: http://pytorch.org/docs/master/torchvision/models.html
- places 365 cnns: resnet 18, 50: https://github.com/CSAILVision/places365
- top3 accuracy: https://github.com/pytorch/examples/blob/master/imagenet/main.py
- 训练-验证流程: http://pytorch.org/tutorials/beginner/transfer_learning_tutorial.html#

TODO:
- (训练-验证)-(测试)总流程,代码模块化: https://zhuanlan.zhihu.com/p/29024978
- places: densenet 161
- 测试其他imagenet cnn

- 数据增强,各种套路逐一实现===========================================

- mxnet resnet 152? https://github.com/YanWang2014/iNaturalist
- tf inception-resnet v2? http://blog.csdn.net/wayne2019/article/details/78210172
'''
#pkill -9 python
#nvidia-smi
import os
import torch
import torch.nn as nn
import torch.optim as optim
from torch.optim import lr_scheduler
from torch.autograd import Variable
from PIL import Image
from torch.utils.data import Dataset, DataLoader
from torchvision import transforms
import time
import json


'''
load pretrained model
'''
from functools import partial
import pickle
pickle.load = partial(pickle.load, encoding="latin1")
pickle.Unpickler = partial(pickle.Unpickler, encoding="latin1")
#model = torch.load(model_file, map_location=lambda storage, loc: storage, pickle_module=pickle)

# th architecture to use
arch = 'resnet18_places365'  # AlexNet, ResNet18, ResNet50, DenseNet161

model_weight = 'whole_%s.pth.tar' % arch
use_gpu = 1
if use_gpu == 1:
    model_conv = torch.load(model_weight, pickle_module=pickle)
else:
    model_conv = torch.load(model_weight, map_location=lambda storage, loc: storage, pickle_module=pickle) # model trained in GPU could be deployed in CPU machine like this!


'''
load and transform data
'''
with open('../ai_challenger_scene_train_20170904/scene_train_annotations_20170904.json', 'r') as f: #label文件
    label_raw_train = json.load(f)
with open(
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AI challenger 场景分类 PyTorch 迁移学习 Places365-CNNs 启动代码 的相关文章

随机推荐

  • 详解JavaNIO Buffer类的属性和方法

    前言 我们知道 Java中的NIO实际上使用的是多种IO模型中的IO多路复用策略 在NIO中 引入了Buffer缓冲区 Channel通道 Selector选择器三个概念 现在先看一下Buffer缓冲区的一些基本知识 介绍 NIO的Buff
  • mac os如何使用rz、sz

    1 什么是rz sz 在线上真实生产环境中总会有上传文件到服务器 以及从服务器下载文件的需求 rz sz应用广泛 由于发送和接收都是在服务器上进行的 所以 rz received 接收 意味着向服务器上传 sz send 发送 意味着从服务
  • 深度学习实战5-卷积神经网络(CNN)中文OCR识别项目

    文章目录 一 前期工作 导入库 图片生成函数 导入数据 生成数据集函数 二 CNN模型建立 三 训练模型函数 四 训练模型与结果 五 验证 大家好 我是微学AI 今天给大家带来一个利用卷积神经网络 CNN 进行中文OCR识别 实现自己的一个
  • 关于微软研究院(谢幸、郑宇研究员主导的)“智能城市”“智能生活”研究的一个归纳

    微软亚洲研究院基于GPS数据展开的研究工作 取得了另学术界瞩目的成就 从2008年开始每年都在顶级的计算机类会议上有文章发出 掀起了研究GPS数据智能化处理的热潮 他们的工作由谢幸研究员和郑宇研究员主导 实验数据采集主要有两个工程 1 Ge
  • 多线程(二)内存模型-线程安全

    转载地址 https github com CyC2018 Interview Notebook 七 内存模型 主内存与工作内存 对处理器上的寄存器进行读写的速度比内存快几个数量级 为了解决这种速度矛盾 在它们之间加入了高速缓存 所有的变量
  • python可视化-股票价格(自学实操)

    前言 数据来源 知乎数据分析课程 python数据分析和可视化实操 一 明确问题 对给定的五个公司股票数据进行对比分析 二 数据理解 部分数据展示 各字段含义 Date 日期 Open 开盘价 High 最高价 Low 最低价 Close
  • case when 作为条件_【SQL】区间(条件)分组统计

    简介 很多时候 我们都使用group by 进行分组 count 进行统计 两者结合可以进行聚合统计 假设我们有这样一张煤矿数据库表 table name coalmine columns id 煤矿ID bigint prod statu
  • 学习笔记 - git(项目所有权转移)

    git转移过程 git remote v 查看现在的远程链接是否是已转移的远程链接 是则不需要往下进行 否则进行下面的操作 git remote remove origin 删除远程连接 git remote v 查看远程仓库 这个时候没有
  • 程序员转行适合做什么?

    程序员可以转行做很多事情 这取决于他们的技能和兴趣 常见的转行方向包括 数据科学家 人工智能工程师 软件项目经理 网络架构师 系统管理员 数据分析师 云计算专家等 程序员的技能在很多领域都是有用的 所以他们可以考虑转行到相关的领域 重要的是
  • 微信小程序设置为体验版需要打开调试模式

    微信小程序在开发过程中可以发布体验版本进行调试 微信扫码后 需要手动打开开发调试 步骤如下图 1 前往体验版 2 点击右上角设置 3 点击开发调试 4 打开调试 注意点 清除微信后台 开发调试是否会自动关闭 安卓手机不会 ios的会
  • Weblogic漏洞 CVE-2021-2109 处理

    好记忆不如烂笔头 能记下点东西 就记下点 有时间拿出来看看 也会发觉不一样的感受 目录 一 前言 二 影响版本 三 漏洞查阅 四 漏洞修复 4 1 补丁包下载 4 2 安装补丁包 4 3 具体操作 一 前言 oracl 早就发布了weblo
  • npm install过程失败的几种处理方法

    npm install安装包过程失败的几种处理方法 npm install过程失败 第一种情况 首先经过npm install后 会生成node modules 先清除它 rm rf node modules 如果项目中有package l
  • 7.5.3 推断

    7 5 3 推断 贝叶斯网训练好之后就能用来回答 查询 query 即通过一些属性变量的观测值来预测其他属性变量的取值 例如 在西瓜问题中 若我们观测到西瓜色泽青绿 敲声浊响 根蒂蜷缩 想知道它是否为成熟 甜度如何 这样通过已知变量观测值来
  • 【Keil】warning: #550-D: variable "activeTaskID" was set but never used

    现象 warning 550 D variable activeTaskID was set but never used 描述 变量activeTaskID定义但从未使用 或者是 虽然这个变量你使用了 但编译器认为变量activeTask
  • JetBrains开发工具汉化

    文章目录 前言 一 打开扩展 二 搜索Chinese 并下载中文语言包 三 重启开发工具 总结 前言 相信很多人目前都在使用JetBrains的开发工具 IDEA PyCHarm PhpStorm CLion等 对于新手而言 英文界面可能使
  • C#winform——添加不同语言环境下的resx,使得显示文本能随语言环境变化

    添加不同语言环境下的resx 添加不同语言resx文件的两种情形 窗体控件 非窗体控件 为窗体控件添加不同语言resx文件 为非窗体控件添加不同语言resx文件 添加不同语言resx文件的两种情形 窗体控件 1 如下所示 需要在不同语言环境
  • 入门级测试Kotlin实现PopWindow弹窗代码

    入门级测试Kotlin PopWindow弹窗代码 文件名称 MainActivity Kt package com example alert import android app Dialog import android conten
  • 数据结构--哈希表,哈希函数(或者散列表、散列函数)

    目录 哈希表的定义 处理冲突的方法 拉链法 散列查找 常见的散列函数 构造哈希函数 除留余数法 直接定址法 数字分析法 平方取中法 处理冲突的方法 开放定址法 1 线性探测法 2 平方探测法 3 伪随机序列发 处理冲突的方法 再散列法 总结
  • pyqt信号和槽传递额外参数

    环境 python2 7 8 pyqt 4 11 1 使用Pyqt编程过程中 经常会遇到给槽函数传递额外参数的情况 但是信号 槽机制只是指定信号如何连接到槽 信号定义的参数被传递给槽 而额外的参数 用户定义 不能直接传递 而传递额外参数又是
  • AI challenger 场景分类 PyTorch 迁移学习 Places365-CNNs 启动代码

    分享个简单的启动代码 CHANGES imagenet cnns resnet http pytorch org docs master torchvision models html places 365 cnns resnet 18 5