cuda

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

陌路散爱 提交于 2020-08-17 18:11:39
制作类似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-17 16:11:34
制作类似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-17 16:10:39
制作类似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

yolov5 win10 数据集制作 各种踩坑

时光毁灭记忆、已成空白 提交于 2020-08-17 07:49:01
1.GitHub 下载 yolov5 2.环境:win10,visual studio 2015 ,anaconda2.7,python=3.7,cuda=10.2 ,pytorch=1.5(GPU) 3.更改镜像-清华 4.安装pytorch 5.安装requirements.txt:报错。解决方案: git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI 用这个替换掉原有语句 6.下载预训练模型,YOLOv5l.pt。 7.直接运行detect文件,报错。解决方案: 1.python detect.py --source ./inference/images/bus.jpg --weights ./weights/yolov5s.pt --conf 0.4 --device cuda:0 2.这里报错:找不到cuda 3.进入到torch_utils.py, def select_device ( device = '' , apex = False , batch_size = None ) : # device = 'cpu' or '0' or '0,1,2,3' cpu_request = device . lower ( ) == 'cpu' if device and not

AI芯片技术发展

*爱你&永不变心* 提交于 2020-08-17 04:37:42
前段时间我在Techbeat上做了一个关于AI芯片的讲座,这里我整理了一个文字的版本,分享给大家。 TechBeat - 让AI大有可为 ​ www.techbeat.net 我们说AI芯片,一般是泛指所有用来加速AI应用,特别是基于神经网络的深度学习应用的硬件,它可以是一颗独立的芯片,也可以是芯片中的模块,其基本技术都是相关的。 当我们讨论AI芯片出现的背景的时候,经常会看到这两张图。左边这张是openai在2018年发布的报告,简单来说,它的结论就是从2012年到2018年,我们训练神经网络模型需要的计算量呈指数型增长。这背后一方面是因为我们使用的神经网络模型的规模越来越大,另一方是要训练这样的模型需要更大的数据集。这个规律我们也称为AI的摩尔定律。 右边这张图是通用处理器的性能在40年间增长的趋势,可以看到,在近10年,处理器性能的增长已经非常缓慢了,很难达到实际的摩尔定律最初的预测。 综合来说,AI计算的需求爆炸性增长,而通用处理的处理能力很难提升,这中间就出现一个很明显的gap。 所以,一个很直接的想法就是,如果通用处理器不能满足AI计算的需求,我们是否可以设计针对AI计算的专用处理器呢?答案当然是肯定的。这也就是领域专用计算的概念。一般来说,一个领域是不是适合开发专用的处理器有两个条件,第一是这个领域的应用需求足够大,有很强的动力驱动相应的研发投入

pytorch指定gpu

时光总嘲笑我的痴心妄想 提交于 2020-08-17 02:43:22
参考: https://www.jianshu.com/p/a014016723d8 1. 改变系统变量使得仅目标显卡可见 export CUDA_VISIBLE_DEVICES=0 #这里是要使用的GPU编号,正常的话是从0开始 在程序开头设置 os.environ["CUDA_VISIBLE_DEVICES"] = '0,1,2,3' CUDA_VISIBLE_DEVICES=0,1,2,3 python xxx.py 来设置该程序可见的gpu 2. 使用torch.cuda接口 在生成网络对象之前执行: torch.cuda.set_device(0) 3. 使用pytorch的并行GPU接口 net = torch.nn.DataParallel(model, device_ids=[0]) 4. 初始化模型时 net = Net.cuda(0) 5. 在pycharm中调试时如何指定GPU 直接在程序中设置 os.environ["CUDA_VISIBLE_DEVICES"] = '0,1,2,3' 打开Run/Debug Configurations,在Environment variables右边点击…处。 pycharm设置gpu 点击下图中1处的’+’,会出现2处,增加CUDA_VISIBLE_DEVICES,再点击3处,填入0,1,2,3。

从CNN卷积参数计算到模型加速方法

ぃ、小莉子 提交于 2020-08-16 19:21:15
一:CNN卷积参数计算 要对CNN卷积过程进行参数计算,首先得知道卷积操作过程中的权值是共享的,即卷积核的权重参数以及偏置参数在一次卷积过程中不改变,CNN卷积操作的过程如下图所示。 CNN卷积操作示意图 上述卷积过程的输入特征图尺寸为: (7*7*3);卷积核大小为: (3*3*3);输出的特征图尺寸为: (3*3*2),可以看出,神经网络网络学习参数即卷积核的权重参数以及偏置参数在卷积过程中不改变,所以CNN卷积参数量与输入输出特征图的尺寸无关,只与卷积核的大小数量以及输入与输出通道数相关。 卷积过程实际上是卷积核与特征图尺寸进行线性计算的过程公式如下: ,其中 代表权重, 代表偏置,因为计算过程都是线性的,所以需要引入激活函数,增加网络的表达能力,而不是一味的线性叠加。 参数量即为权值 、 以及偏置 和 中参数个数总和。计算过程如下:卷积核的参数为: ,其中 为卷积核尺寸, 输入通道个数, 为输出通道个数。加上两个偏置参数,总的参数量为 : 。 当然每一次搭建模型后,不需要我们来手动计算参数量的大小,各种框架下已经备好了相应命令,比如:在keras框架下,模型参数量可以直接通过model.summary()来进行模型架构和参数量的输出;在pytorch框架下,需要先安装第三方包torchsummary,然后通过如下命令进行输出网络结构参数量。 import torch

Ubuntu18.04 下配置lua版本的CycleGAN

不想你离开。 提交于 2020-08-16 18:44:30
本地环境 linux版本:18.04.1-Ubuntu gcc/g++环境:gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 CUDA 版本: 10.1 显卡驱动版本:440.100 CycleGAN配置 安装torch环境 因为原版本的torch安装的时候在CUDA10以上的版本会出现错误,所以直接安装修改过的适合CUDA10的版本: https://github.com/nagadomi/distro.git #cuda10,默认是 按照torch官网的步骤安装lua环境和torch,应该是没有大问题 安装CycleGAN依赖 luarocks install nngraph luarocks install class luarocks install https://raw.githubusercontent.com/szym/display/master/display-scm-0.rockspec nngraph 和 class的安装基本没有什么问题,若因为 The Great Wall的话,在控制台可以试试 proxychains, 安装指令为: sudo apt-get install proxychains 在安装display依赖包的时候,因为依赖 async,但是async好久没有更新,在gcc/g++-7会出现 -Werror

从0开始PyTorch GOTURN tracker 包含anaconda pytroch等安装

蹲街弑〆低调 提交于 2020-08-16 14:47:44
1 github下载需要该项目源代码 ctrl+t //打开终端 sudo apt install git//安装git //git clone + github远程仓库地址 git clone https://github.com/amoudgl/pygoturn 嫌弃麻烦的小伙伴直接下载我上传的 资料 2 环境配置 2.1虚拟环境 为了方便,首先配置一下虚拟环境: 虚拟环境(virtual environment),顾名思义是虚拟出来的环境,通俗来讲,可以借助虚拟机,docker来理解虚拟环境,就是把一部分内容独立出来,我们把这部分独立出来的东西称作“容器”。在这个容器中,我们可以只安装自己所需的依赖包,而各个容器之间相互隔离,互不影响。 比如说,以个人为例,我需要在实验室工作站上使用3.x版本的python,以及相应版本的一些库,而另一同学需要使用2.x版本的python,以及其它版本的一些库。如果使用同一环境,那么在进行不同实验的时候,就需要对相应的库进行更新卸载安装等操作,将会十分不便。而使用虚拟环境的话,就可以创建两个环境,在各自的环境中配置各自所需的库,这样在进行实验的时候只需要在自己的虚拟环境下进行即可,不会产生冲突。 2,1,1虚拟安装环境 sudo pip install virtualenv #其中virtualenv是一个创建独立python环境的工具。

ubuntu16.04安装cuDNN

依然范特西╮ 提交于 2020-08-16 10:51:15
cudnn的安装非常简单 (1)下载安装文件 按需求下载 cudnn的安装文件 : https://developer.nvidia.com/rdp/cudnn-archive Tar File的下载如下图所示,选择红方框中的选项进行下载 下载的是cudnn-*tgz的压缩包时,按下方指令进行安装: 首先解压缩下的cudnn压缩包文件 tar -xzvf cudnn-9.0-linux-x64-v7.tgz 执行安装,其实就是拷贝头文件和库文件并给予权限 sudo cp cuda/include/cudnn.h /usr/local/cuda/ include sudo cp cuda /lib64/libcudnn* /usr/local/cuda/ lib64 sudo chmod a +r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn* (2)验证安装是否成功 cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 如果显示 # define CUDNN_MAJOR 7 # define CUDNN_MINOR 6 # define CUDNN_PATCHLEVEL 2 -- # define CUDNN_VERSION (CUDNN