torch

mmdetection2.3.0版本安装过程,以及训练、测试、可视化等(亲测好用,很顺利)

早过忘川 提交于 2020-08-15 15:25:18
欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 mmdetection2.3.0版本安装过程,以及训练、测试、可视化等(亲测好用,很顺利) 文章目录: 1 运行mmdetection2.3.0版本报错 1.1 错误解决历程 1.2 最终的解决方法 2 mmdetection2.3.0 安装过程 2.1 创建虚拟环境 2.2 安装torch和torchvison 2.3 安装mmcv 2.4 下载mmdetection 2.5 安装编译mmdet 2.6 测试环境是否可用 2.7 单GPU训练 2.8 多GPU训练 2.9 再测试集上进行测试 2.10 可视化训练的loss结果 2.11 计算训练的时间 2.12 更改训练模型保存的周期 和 从预训练模型恢复训练 mmdetection 下载20200805最新的代码: 此时的最新代码版本为: mmdetection2.3.0 我尝试在我之前的环境中运行最新的 mmdetection2.3.0版本 ,然后就报错呀,报错呀! 我之前 mmdetection2.0.0版本——》在这里 mmdetection2.3.0版本 比 mmdetection2.0.0版本 又多了一些模型,具体自己查看 1 运行mmdetection2.3.0版本报错 python tools/train.py -h 1.1

Pytorch 入门之Siamese网络

混江龙づ霸主 提交于 2020-08-15 10:05:28
首次体验Pytorch,本文参考于: github and PyTorch 中文网人脸相似度对比 本文主要熟悉Pytorch大致流程,修改了读取数据部分。没有采用原作者的 ImageFolder 方法: ImageFolder(root, transform=None, target_transform=None, loader=default_loader)。而是采用了一种更自由的方法,利用了 Dataset 和 DataLoader 自由实现,更加适合于不同数据的预处理导入工作。 Siamese网络不用多说,就是两个共享参数的CNN。每次的输入是 一对图像+1个label ,共3个值。注意label=0或1(又称正负样本),表示输入的两张图片match(匹配、同一个人)或no-match(不匹配、非同一人)。 下图是Siamese基本结构,图是其他论文随便找的,输入看做两张图片就好。只不过下图是两个光普段而已。 1. 数据处理 数据采用的是AT&T人脸数据。共40个人,每个人有10张脸。数据下载: AT&T 首先解压后发现文件夹下共40个文件夹,每个文件夹里有10张pgm图片。这里生成一个包含图片路径的train.txt文件共后续调用: def convert(train= True): if (train): f =open(Config.txt_root, ' w ' )

Pytorch深度学习实战教程(二):UNet语义分割网络

时光怂恿深爱的人放手 提交于 2020-08-13 23:06:12
本文 GitHub Jack-Cherish/PythonPark 已收录,有技术干货文章,整理的学习资料,一线大厂面试经验分享等,欢迎 Star 和 完善。 一、前言 本文属于Pytorch深度学习语义分割系列教程。 该系列文章的内容有: Pytorch的基本使用 语义分割算法讲解 如果不了解语义分割原理以及开发环境的搭建,请看该系列教程的上一篇文章《 Pytorch深度学习实战教程(一):语义分割基础与环境搭建 》。 本文的开发环境采用上一篇文章搭建好的Windows环境,环境情况如下: 开发环境:Windows 开发语言:Python3.7.4 框架版本:Pytorch1.3.0 CUDA:10.2 cuDNN:7.6.0 本文主要讲解 UNet网络结构 ,以及 相应代码的代码编写 。 PS:文中出现的所有代码,均可在我的github上下载,欢迎Follow、Star: 点击查看 二、UNet网络结构 在语义分割领域,基于深度学习的语义分割算法开山之作是FCN(Fully Convolutional Networks for Semantic Segmentation),而UNet是遵循FCN的原理,并进行了相应的改进,使其适应小样本的简单分割问题。 UNet论文地址: 点击查看 研究一个深度学习算法,可以先看网络结构,看懂网络结构后,再Loss计算方法、训练方法等

【pytorch-ssd目标检测】可视化检测结果

﹥>﹥吖頭↗ 提交于 2020-08-13 16:08:41
制作类似pascal voc格式的目标检测数据集: https://www.cnblogs.com/xiximayou/p/12546061.html 训练自己创建的数据集: https://www.cnblogs.com/xiximayou/p/12546556.html 验证自己创建的数据集: https://www.cnblogs.com/xiximayou/p/12550471.html 测试自己创建的数据集: https://www.cnblogs.com/xiximayou/p/12550566.html 还是以在谷歌colab上为例: cd /content/drive/My Drive/pytorch_ssd 导入相应的包: import os import sys module_path = os.path.abspath(os.path.join( ' .. ' )) if module_path not in sys.path: sys.path.append(module_path) import torch import torch.nn as nn import torch.backends.cudnn as cudnn from torch.autograd import Variable import numpy as np import cv2

【从零开始学习YOLOv3】3. YOLOv3的数据加载机制和增强方法

怎甘沉沦 提交于 2020-08-13 09:49:30
前言:本文主要讲YOLOv3中数据加载部分,主要解析的代码在utils/datasets.py文件中。通过对数据组织、加载、处理部分代码进行解读,能帮助我们更快地理解YOLOv3所要求的数据输出要求,也将有利于对之后训练部分代码进行理解。 1. 标注格式 在上一篇 【从零开始学习YOLOv3】2. YOLOv3中的代码配置和数据集构建 中,使用到了 voc_label.py ,其作用是将xml文件转成txt文件格式,具体文件如下: # class id, x, y, w, h 0 0.8604166666666666 0.5403899721448469 0.058333333333333334 0.055710306406685235 其中的x,y 的意义是归一化以后的框的中心坐标,w,h是归一化后的框的宽和高。 具体的归一化方式为: def convert(size, box): ''' size是图片的长和宽 box是xmin,xmax,ymin,ymax坐标值 ''' dw = 1. / (size[0]) dh = 1. / (size[1]) # 得到长和宽的缩放比 x = (box[0] + box[1])/2.0 y = (box[2] + box[3])/2.0 w = box[1] - box[0] h = box[3] - box[2] # 分别计算中心点坐标

Pytorch实践中文教程(1)

≯℡__Kan透↙ 提交于 2020-08-13 00:55:37
前言 PyTorch 是一个基于Torch框架的开源Python机器学习库,用于NLP,CV等深度学习应用。它的开发人员是 Facebookd的人工智能小组,它不仅可以利用GPU加速,同时还实现了动态神经网络,这点和现在流行的主流框架如TensorFlow不同。 PyTorch同时还有两个高级功能: 张量计算(如Numpy) 和自动求导。 除了Facebook之外,Twitter、GMU和Salesforce等机构也都采用了PyTorch。 TensorFlow和Caffe都是命令式的静态编程语言,,首先必须构建一个神经网络,在训练过程中结构不会发生变化,如果想要改 变网络的结构,就必须从头开始。但是对于PyTorch,通过 反向求导技术,可以让你任意实时改变神经网络。这一灵活 是PyTorch对比TensorFlow的最大优势。 另外,PyTorch的代码对比TensorFlow而言,更加简洁直观,底层代码也更容易看懂,这对于使用 它并且计划理解底层得人是一件特别棒的事情。 所以,总结一下PyTorch的优点: 支持调用GPU进行运算 , 支持动态神经网络 , 底层代码易于理解 , 自定义扩展 当然,一枚硬币有两面,PyTorch也不例外,对比TensorFlow,其在功能全面性上差强人意,目前,PyTorch还不支持快速傅里叶、沿维翻转张量和检查无穷与非数值张量;针对移动 端

基于卷积神经网络的面部表情识别(Pytorch实现)----台大李宏毅机器学习作业3(HW3)

杀马特。学长 韩版系。学妹 提交于 2020-08-12 14:48:06
一、项目说明   给定数据集train.csv,要求使用卷积神经网络CNN,根据每个样本的面部图片判断出其表情。在本项目中,表情共分7类,分别为:(0)生气,(1)厌恶,(2)恐惧,(3)高兴,(4)难过,(5)惊讶和(6)中立(即面无表情,无法归为前六类)。所以,本项目实质上是一个7分类问题。 数据集介绍:   (1)、CSV文件,大小为28710行X2305列;   (2)、在28710行中,其中第一行为描述信息,即“label”和“feature”两个单词,其余每行内含有一个样本信息,即共有28709个样本;   (3)、在2305列中,其中第一列为该样本对应的label,取值范围为0到6。其余2304列为包含着每个样本大小为48X48人脸图片的像素值(2304=48X48),每个像素值取值范围在0到255之间;   (4)、数据集地址: https://pan.baidu.com/s/1hwrq5Abx8NOUse3oew3BXg ,提取码:ukf7 。 二、思路分析及代码实现   给定的数据集是csv格式的,考虑到图片分类问题的常规做法,决定先将其全部可视化,还原为图片文件再送进模型进行处理。   借助深度学习框架Pytorch1.0 CPU(穷逼)版本,搭建模型,由于需用到自己的数据集,因此我们需要重写其中的数据加载部分,其余用现成的API即可。  

【pytorch-ssd目标检测】可视化检测结果

吃可爱长大的小学妹 提交于 2020-08-12 10:05:08
制作类似pascal voc格式的目标检测数据集: https://www.cnblogs.com/xiximayou/p/12546061.html 训练自己创建的数据集: https://www.cnblogs.com/xiximayou/p/12546556.html 验证自己创建的数据集: https://www.cnblogs.com/xiximayou/p/12550471.html 测试自己创建的数据集: https://www.cnblogs.com/xiximayou/p/12550566.html 还是以在谷歌colab上为例: cd /content/drive/My Drive/pytorch_ssd 导入相应的包: import os import sys module_path = os.path.abspath(os.path.join( ' .. ' )) if module_path not in sys.path: sys.path.append(module_path) import torch import torch.nn as nn import torch.backends.cudnn as cudnn from torch.autograd import Variable import numpy as np import cv2

小白离线快速安装GPU版pytorch(不用镜像源,解决安装缓慢问题)

风格不统一 提交于 2020-08-12 08:53:03
近期,安装pytorch入了很多坑,清华的镜像源不能用,这就很烦人了。我尝试了很多种,中科大源也尝试了,但是 还是不行。后来呢,我就去尝试离线安装,最开始在清华的镜像网下载的离线安装包,用conda命令安装后出现了caffe2_detectron_ops_gpu.dll模块加载不了或者缺少依赖项。(这个问题我查了1整天,见到过几个这个问题,但是由于人家用的是Mac的系统,我就更难受了)最后,我去官网下载的对应版本的离线安装包,然后就安装成功了。(忒棒嘞)详细步骤如下: 1、在安装GPU版本pytorch之前先安装对应版本的CUDA和CUDNN (详细安装见我的CUDA和CUDNN的安装文章 https://blog.csdn.net/wobushizhainanyu/article/details/107736090 ) 2、去pytorch官网找到对应要安装的版本 https://pytorch.org/ 复制对应版本的后边的那个链接,浏览器打开 3、打开上述链接后找到对应版本的包下载torch和torchvision版本需要对应,例如我的 4、然后打开命令行 cd切换目录至上述两个包所下载的位置 然后pip安装就可以 5、验证pytorch安装成功,输入下图命令,如下图的话就成功了 如何验证是否成功,我也是参考了众多的文章,然后自己尝试了一下。小白安装不易