torch

【Paper】CTC Introduce

帅比萌擦擦* 提交于 2020-08-12 02:22:09
Connectionist Temporal Classification, an algorithm used to train deep neural networks in speech recognition, handwriting recognition and other sequence problems. 1. Problem don’t know the characters in the transcript align to the audio when having a dataset of audio clips and corresponding transcripts. people’s rates of speech vary. hand-align takes lots of time. Speech recognition, handwriting recognition from images, sequences of pen strokes, action labelling in videos. 2. Question Define when mapping input sequences X = [ x 1 , x 2 , … , x T ] X = [x_1, x_2, \ldots, x_T] X = [ x 1 ​ , x 2

cudnn.benchmark

ε祈祈猫儿з 提交于 2020-08-12 01:21:06
Benchmark模式会提升计算速度,但是由于计算中有随机性,每次网络前馈结果略有差异。 torch.backends.cudnn.benchmark = True 1 如果想要避免这种结果波动,设置: torch.backends.cudnn.deterministic = True 版权声明:本文为CSDN博主「wang xiang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_40178291/article/details/101160834 总的来说,大部分情况下,设置这个 flag 可以让内置的 cuDNN 的 auto-tuner 自动寻找最适合当前配置的高效算法,来达到优化运行效率的问题。 一般来讲,应该遵循以下准则: 如果网络的输入数据维度或类型上变化不大,设置 torch.backends.cudnn.benchmark = true 可以增加运行效率; 如果网络的输入数据在每次 iteration 都变化的话,会导致 cnDNN 每次都会去寻找一遍最优配置,这样 反而会降低 运行效率。 来源: oschina 链接: https://my.oschina.net/u/4278651/blog/4296685

Pytorch实现基于卷积神经网络的面部表情识别(详细步骤)

我的梦境 提交于 2020-08-11 20:55:57
文章目录    一、项目背景    二、数据处理      1、标签与特征分离      2、数据可视化      3、训练集和测试集    三、模型搭建    四、模型训练    五、完整代码 一、项目背景 数据集cnn_train.csv包含人类面部表情的图片的label和feature。在这里,面部表情识别相当于一个分类问题,共有7个类别。 其中label包括7种类型表情: 一共有28709个label,说明包含了28709张表情包嘿嘿。 每一行就是一张表情包48*48=2304个像素,相当于4848个灰度值(intensity)(0为黑, 255为白) 二、数据处理    1、标签与特征分离     这一步为了后面方便读取数据集,对原数据进行处理,分离后分别保存为cnn_label.csv和cnn_data.csv. # cnn_feature_label.py 将label和像素数据分离 import pandas as pd path = ' cnn_train.csv ' # 原数据路径 # 读取数据 df = pd.read_csv(path) # 提取label数据 df_y = df[[ ' label ' ]] # 提取feature(即像素)数据 df_x = df[[ ' feature ' ]] # 将label写入label.csv df_y.to

目标检测——YOLOv3(六)

社会主义新天地 提交于 2020-08-11 06:41:56
简介 在前面已经介绍了很多目标检测算法,特别是R-CNN为代表两阶段算法系列。但是两阶段算法的速度太慢是一个不容忽视的问题,对于实时性要求很高的场景非常致命。而YOLO——you only look one的诞生就是为了解决识别速度的问题,它直接在输出层回归bounding box的位置和bounding box所属类别,从而实现one-stage。 原论文地址: https://arxiv.org/pdf/1804.02767.pdf YOLOv3的前世今生 YOLOv1 (2015,CVPR): 主干网络结构借鉴了GoogleNet,直接将输入图片划分成7×7=49个网格,每个网格预测两个边界框。由于网格设置比较稀疏,所以总体预测精度不高,且对小物体的检测效果较差。 缺陷:输入图像必须是固定尺寸,因为输出层是全连接层;每个网格只输出一个类别;在损失函数中,对小物体变化的置信度和大物体变化的置信度惩罚相同,实际小物体变化应该加大惩罚。 YOLOv2 (2016): 主干网络采用DarkNet-19;取消了Dropout,全采用BN层;去掉全连接层,通过Anchor boxes回归位置,k-means聚类来确定anchor的尺寸;多尺度训练,因为网络为全卷积层,所以同样的网络可以预测不同分辨率的输入。 YOLOv3 (2018): 主干网络DrakNet-53,引入了残差块

迁移模型运行手写数字加法机(MNIST)

偶尔善良 提交于 2020-08-11 05:19:12
# 导入所需要的包,请保证torchvision已经在你的环境中安装好 import torch import torch.nn as nn from torch.autograd import Variable import torch.optim as optim import torch.nn.functional as F import torchvision.datasets as dsets import torchvision.transforms as transforms import matplotlib.pyplot as plt import numpy as np import copy %matplotlib inline View Code # 加载数据+随机处理+两组不同MNIST数据集 # 设置图像读取器的超参数 image_size = 28 # 图像的总尺寸28*28 num_classes = 10 # 标签的种类数 num_epochs = 20 # 训练的总循环周期 batch_size = 64 # 批处理的尺寸大小 # 如果系统中存在着GPU,我们将用GPU来完成张量的计算 use_cuda = torch.cuda.is_available() # 定义一个布尔型变量,标志当前的GPU是否可用 # 如果当前GPU可用

【pytorch-ssd目标检测】训练自己创建的数据集

时光怂恿深爱的人放手 提交于 2020-08-11 00:15:21
制作类似pascal voc格式的目标检测数据集: https://www.cnblogs.com/xiximayou/p/12546061.html 代码来源:https://github.com/amdegroot/ssd.pytorch 拷贝下来的代码好多坑要踩。。。 我将其上传到谷歌colab上,当前目录结构如下: 需要说明的是,虽然我们只有2类,但是,要加上背景一类,所以总共我们有3类。 首先我们要读取自己的数据集 在config.py中 # config.py import os.path # gets home dir cross platform # HOME = os.path.expanduser("~") HOME = os.path.expanduser("/content/drive/My Drive/pytorch_ssd/") # for making bounding boxes pretty COLORS = ((255, 0, 0, 128), (0, 255, 0, 128), (0, 0, 255, 128 ), (0, 255, 255, 128), (255, 0, 255, 128), (255, 255, 0, 128 )) MEANS = (104, 117, 123 ) mask = { 'num_classes': 3, 'lr

【pytorch-ssd目标检测】验证自己创建的数据集

丶灬走出姿态 提交于 2020-08-10 19:09:33
制作类似pascal voc格式的目标检测数据集: https://www.cnblogs.com/xiximayou/p/12546061.html 训练自己创建的数据集: https://www.cnblogs.com/xiximayou/p/12546556.html 它的代码中的eval.py实际上使用的是test.txt里面的数据。 直接看修改后的代码:eval.py """ Adapted from: @longcw faster_rcnn_pytorch: https://github.com/longcw/faster_rcnn_pytorch @rbgirshick py-faster-rcnn https://github.com/rbgirshick/py-faster-rcnn Licensed under The MIT License [see LICENSE for details] """ from __future__ import print_function import torch import torch.nn as nn import torch.backends.cudnn as cudnn from torch.autograd import Variable # from data import VOC_ROOT,

Pytorch遇到的错误解决方法

≯℡__Kan透↙ 提交于 2020-08-10 18:31:35
1. pytorch运行错误:RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR 解决方法: 代码中添加: torch.cuda.set_device( 0 ) 2. 训练RNN网络loss出现Nan解决办法 (1). 梯度爆炸的原因可以通过梯度裁决解决 GRAD_CLIP = 5 loss.backward() torch.nn.utils.clip_grad_norm_(model.parameters(), GRAD_CLIP) optimizer.step() (2)testModel和evaluate中需要使用 with torch.no_grad(): (3) 学习率调小一点 来源: oschina 链接: https://my.oschina.net/u/4228078/blog/4456343

【pytorch-ssd目标检测】训练自己创建的数据集

浪尽此生 提交于 2020-08-10 17:17:02
制作类似pascal voc格式的目标检测数据集: https://www.cnblogs.com/xiximayou/p/12546061.html 代码来源:https://github.com/amdegroot/ssd.pytorch 拷贝下来的代码好多坑要踩。。。 我将其上传到谷歌colab上,当前目录结构如下: 需要说明的是,虽然我们只有2类,但是,要加上背景一类,所以总共我们有3类。 首先我们要读取自己的数据集 在config.py中 # config.py import os.path # gets home dir cross platform # HOME = os.path.expanduser("~") HOME = os.path.expanduser("/content/drive/My Drive/pytorch_ssd/") # for making bounding boxes pretty COLORS = ((255, 0, 0, 128), (0, 255, 0, 128), (0, 0, 255, 128 ), (0, 255, 255, 128), (255, 0, 255, 128), (255, 255, 0, 128 )) MEANS = (104, 117, 123 ) mask = { 'num_classes': 3, 'lr

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

被刻印的时光 ゝ 提交于 2020-08-10 13:19:49
一、项目说明   给定数据集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即可。