神经网络
York1996
懒人一枚,热爱提高效率,简化流程,自动办公;
展开
-
第一个显卡满了,导致不能用其他显卡的解决方案
如果第一个gpu已经快满了,虽然你用的是有显存剩余的显卡。但是由于会占用第一个显卡的资源,可能还会报显存不够的错误,这个时候,你可以再代码前面加上CUDA_VISIBLE_DEVICES=5,6 python a.py上面的56是你自己电脑有空间的gpu。并且你代码里面的0就是指的显卡5,1是指显卡6。字面意思就是当前可见的显卡。...原创 2021-08-24 15:53:47 · 1919 阅读 · 0 评论 -
PointRCNN作者代码中学习率的变化情况
作者用的是adam onecycle,使用了下面的配置。由于我不想只训练200个epoch rpn阶段,想多训练一些周期,于是自己调整了训练周期,但是这样做训练一段时间之后,学习率还是在上升的,这样肯定是不行的,因为一般训练结束的时候学习率是很小的。分析学习率变化有两种方法,一种是理论分析,一种看代码分析,一种是试验分析。我采用最后者。但是如果真训练的话又会用太长时间。于是我就把训练的样本从几...原创 2020-03-04 20:31:42 · 1936 阅读 · 2 评论 -
PointRCNN下采样策略分析
一直有的一个困惑就是KITTI一个场景点的数量大部分都是16K的好几倍,即使只保留Front of iew中可以见到的点,数量绝大部分也是要大于16K的。如果输入到PointNet++,数量是固定的16K,我想当然的认为是均匀下采样,这样就会导致不论是稀疏还是密集的地方,都会更加稀疏。远处的物体,本来包含的点就少,现在更少了。那么肯定会影响这一部分的精度的。看了代码才发现自己想错了。代码中...原创 2020-02-21 16:59:46 · 606 阅读 · 0 评论 -
用vb.net实现深度神经网络,从矩阵向量运算开始
GitHub做这个的初衷是源自自己的一个困惑,自己这一段时间学习deep learning and neural network这本书,基本原理也懂了一些,当找到源码的时候,就用python运行了一下,minst数据集是一整个文件,你看不到每个手写数字长什么样,也不知道他们的标签怎么样。这样就开始运行代码,看着眼前的黑框出现的准确率,除了第一次运行有些新奇,然后就没有什么感觉了,只能证明别人的...原创 2018-08-05 17:32:53 · 1466 阅读 · 0 评论 -
pytorch实现简单卷积神经网络(CNN)网络完成手写数字识别
首先你需要安装torch,torchvision,然后使用torchvision来下载mnist数据集,如果下载数据集有什么问题,请查看PyTorch用最简单的多层感知机(深度神经网络)实现手写数字识别 和 使用torchvision下载外网数据集mnist没有进度的解决方案本文假设你对CNN基本原理有一定的了解。我首先建立了一个tools工具类,这样主模块的代码可以少一些了。我把...原创 2018-08-18 16:17:17 · 7399 阅读 · 1 评论 -
python+opencv实现CNN网络结构的可视化(DrawCNN)
先放下成果图: 有很多类似的工具,但是我想把全连接层放在网络的前边部分,draw_convnet就不那么好用了。于是就自己动手实现一个。#元素类型是(上方文字描述,通道数,feature map width,feature map height)如果w和h均是1代表是全连接层。作者qq@603997262CNN_list=[ ("input",1,28,28), ...原创 2018-09-12 10:55:14 · 5105 阅读 · 2 评论 -
用opencv和pytorch实现简单手势识别的步骤
第八周 2018.09.02-2018.09.08完成一个手势识别的工程,这是最终的结果。 也就是打开摄像头,把自己的手势出现在黑框中,然后按下空格键就可以预测手势是什么。一共可以识别五种手势{✋,原创 2018-09-06 19:33:03 · 10955 阅读 · 6 评论 -
PyQt5制作计算反卷积操作之后的大小的工具
首先是效果图:由于是DCGAN生成器模型,需要多次反卷积操作使feature变成一个给定的大小,所以要把最后的大小凑出来,虽然计算公式十分简单:(这里假设feature,kernel,input,output都是方形的,padding也是对称的)output=stride(input-1)+kernel_size-2*padding 但是,由于是要凑数的,所以如果要不断的用笔算...原创 2018-09-14 09:40:01 · 318 阅读 · 0 评论 -
pytorch:DCGAN生成动漫头像
动漫头像数据集下载地址:动漫头像数据集_百度云连接,DCGAN论文下载地址:https://arxiv.org/abs/1511.06434数据集里面的图片是这个样子的:这是DCGAN的主要改进地方:下面是所有代码:第一个模块:import torchimport torch.nn as nnimport numpy as npimport torch.nn....原创 2018-09-20 10:15:40 · 7087 阅读 · 14 评论 -
Pytorch使用预训练模型加速训练的技巧
当属于预训练模型属于下面的情况的时候,可以采用这个加速的技巧:固定前部分的层,只改变网络后面层的参数。比如,使用vgg16的预训练模型,固定特征提取层,改变后面的全连接层。要注意的是,如果固定的是特征提取层+一个全连接层,也可以使用这个技巧,只要固定的是前一部分。具体的做法是: 把所有的数据都输入进去特征层,把得到的输出保存成张量保存在内存(如果太多还可以保存在本地)中,无论有多少...原创 2018-10-12 22:23:57 · 3065 阅读 · 0 评论 -
深度学习神经网络论文们可能会误导人的地方
可好可差的特点,强调它作为优点时候的特性。比如手机重,就说有质感;轻了,就说轻盈不累手。再比如参数量少了,强调这样可以避免过拟合,并且不用调整太多的参数,训练会变快;参数量大了,就强调这个模型参数足够多,也就有强大的能力来提取数据集中的特征,万能逼近,超参数多了说人可以掌控模型。让人误以为原本好坏参半的特性没有什么缺点。 展示实验结果的时候,只在展示表现得好的数据集。比如当下有三个数据集,在其中...原创 2018-10-18 19:25:21 · 500 阅读 · 0 评论 -
pytorch综合多个弱分类器,投票机制,进行手写数字分类(boosting)
首先,这个文章的出发点就是让一个网络一个图片进行预测,在直观上不如多个网络对一个图片进行预测之后再少数服从多数效果好。也就是对于任何一个分类任务,训练n个弱分类器,也就是分类准确度只比随机猜好一点,那么当n足够大的时候,通过投票机制,也能提升很大的准确度:毕竟每个网络都分错同一个数据的可能性会降低。接下来就是代码实现。import torchimport torchvisioni...原创 2018-10-17 16:09:01 · 7930 阅读 · 5 评论 -
卷积和池化顺序问题?哪个在前好一些,还是没有影响?
有一个同学一直以为卷积之后就进行池化,我知道卷积之后是进行激活函数的,但是真的为什么这样做却没有想透彻。所接触过的网络模型只要有卷积池化激活函数的,都是conv-activation-pooling这样的先后顺序,比如下面这个torchvision库里面的vgg模型:但是我初步在minist数据集上试验了一下,发现区别基本没有。都是百分之99以上的准确率 ,如果单纯从准确度上说的话。...原创 2018-11-01 17:29:55 · 7111 阅读 · 8 评论 -
Pytorch实现PointNet中的点云分类网络。
下面是PointNet论文中分类模型的结构:但是对于模型的细节,PointNet论文中并没有详细的解释,尤其是T-Net,可以参考PointNet的supplemental部分。如果找不到,可以留言找我要。话不多说,下面是代码,基本上完全还原了论文中的PointNet分类模型。第一部分:数据处理模块更新一下代码,修复了原先batchsize=1的时候会出错的毛病。impo...原创 2018-11-20 21:32:03 · 6330 阅读 · 45 评论 -
pointnet中stn和mlp的理解错误的方式。
一开始以为文章中的代码是这样的意思:self.inputTransform=nn.Sequential( nn.Linear(point_num*3,64), nn.BatchNorm1d(64), nn.ReLU(inplace=True), nn.Linear(64, 128), nn.BatchNorm1d(128), nn.ReLU(...原创 2018-11-18 14:33:59 · 2139 阅读 · 0 评论 -
给电视剧标注人脸的简单步骤:
https://www.bilibili.com/video/av39236953/写了一个可以给电视剧中的人脸标注的程序,流程是:首先使用opencv的人脸检测功能,每隔10帧就把视频中可能是人脸的部分抠出来,保存到本地。 保存起来的人脸是没有标签的,而且还可能会有不是人脸的被判别成为人脸,所以先手工给人脸分类,标注用自己写的标注工具。 分类之后,写一个网络学习这些有标签的数据,然后再读...原创 2018-12-12 22:53:19 · 1207 阅读 · 0 评论 -
分享一个可以把模糊动漫图片变清晰的网站(基于超像素)
视频演示地址:https://www.bilibili.com/video/av38853167超像素的地址:http://waifu2x.udp.jp/github:https://github.com/nagadomi/waifu2x本程序使用卷积神经网络对动漫风格的图片进行放大操作(支持照片)。文件大小不得超过5MB;可降噪图像的最大尺寸:3000x3000px;可放大图像...原创 2018-12-23 19:35:53 · 123347 阅读 · 3 评论 -
labelme出现ImportError: cannot import name 'VERSION'的一种可能解决办法
卸载pillow,再安装pillow。原创 2019-01-09 15:06:15 · 4323 阅读 · 2 评论 -
python定义简单的RNN网络和forward,visdom同时动态多条曲线
from visdom import Visdomimport numpy as npimport torchimport timefrom torch.utils.data import DataLoader,Datasetimport torch.nn as nndef read_csv(file_name): with open(file_name) as f: ...原创 2019-07-10 09:57:07 · 591 阅读 · 0 评论 -
人工智能发展史总结
什么是人工智能人工智能(Aritificial Intelligence, AI)是一门融合了计算机科学、统学、脑神经学和社会科学的前沿综合性学科。它的目标是希望计算机拥有像人一样的智力能力,可以替代人类实现识别、认知、分类和决策等多种功能。人工智能发展史 人工智能在发展过程中产生了很多的流派,符号主义、连接主义和行为主义。这些流派的相辅相成推进了人工智能的发展。如果你想要系统地学...原创 2019-08-08 09:27:19 · 255 阅读 · 0 评论 -
人工智能基础概念
1.背景人工智能涉及的内容非常广泛,从数学到计算机科学,有很多的基础知识需要储备,之前打算阅读一些人工智能方面的书籍,总感觉比较吃力,这里会将一些人工智能方面的基础知识做一个总结梳理。2.基础概念1)人工智能人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然...原创 2019-08-08 09:27:49 · 159 阅读 · 0 评论 -
人工智能学习笔记 - 预备篇之中学统计学概论
这段时间复习初中和高中的数学时惊喜的看到其中有不少关于统计学的一些介绍,我已经不记得当年学习的时候是否有相关的内容了,不过这些基础的概念还是蛮不错的,所以也做了这个笔记记录下来。统计统计思想的基础知识能够帮助把随机性归纳于可能的规律性中。统计思想从我们如何观察事物本身如何真正发生两方面,帮助我们理解随机性和规律性的重要性。因此,统计可以看作是一项对随机性中的规律性的研究。同时也是对数据中的偏差问题...原创 2019-08-08 09:31:57 · 150 阅读 · 0 评论 -
人工智能学习笔记-基本概念
前段时间看了不少关于人工智能方面的书籍博客和论坛,深深觉得了人工智能是个大坑,里面有太多的知识点和学科,要想深入绝非易事,于是萌发了自己写一些博客把自己的学习历程和一些知识点笔记都记录下来的想法,给自己一个总结收获,同时监督自己的动力,这样咱也算是“有监督学习”了:)这里提到了“有监督学习”,在刚刚开始学习人工智能/机器学习的时候经常看到,对于这个概念从一无所知到懵懵懂...原创 2019-08-08 09:33:13 · 205 阅读 · 0 评论 -
人工智能工程师学习路线及具备的5项基本技能
摘要学习路线 你是否对机器学习充满兴趣呢?其实到目前为止,每天有越来越多的工程师开始将好奇的目光转向机器学习领域。实际上,你会发现现在没有哪一个领域比机器学习能引起更多的曝光率和关注度。机器学习已经以一种高调姿态闯入广大民众的意识当中,无论是采用机器学习等相关技术的Google AlphaGo以5局4胜的战绩打败人类世界的围棋冠军,还是采用了机器学习技术的Twitte...原创 2019-08-08 09:34:37 · 321 阅读 · 0 评论 -
人工智能时代的降临
去年以来关于人工智能(AI)的讨论非常火热,最近读到一篇这个主题的文章觉得非常不错,翻译过来分享下。这不是一篇烧脑的关于人工智能技术文,而是一篇开阔的思辨性文章。下面是原文:是的,数百万低报酬、低技能的工作岗位将面临风险,但人工智能革命还是会带来很多好处的。1周二,白宫发布了一份关于人工智能与经济的令人寒心的报告。报告以如下推断开头:“可以预计机器将在越来越多的任务上...原创 2019-08-08 09:36:40 · 2203 阅读 · 0 评论 -
人工智能时代,所需要了解人工智能的基本常识
国内对于人工智能的讨论大多是不成体系的碎片式,很难从中深入了解人工智能的发展脉络和技术体系,也很难有实际借鉴意义。人工智能的历史、核心技术和应用情况进行了详细说明,尤其是其中重要的认知技术。这份报告将有助于我们对人工智能和认知技术进行深入了解,也有助于各行业的公司考量人工智能应用的实际价值。 一、概述 近几年各界对人工智能的兴趣激增,自2011年以来,开发与...原创 2019-08-08 09:38:06 · 667 阅读 · 0 评论 -
人工智能的发展历程
目录一政策二. 主要发展阶段三. 60年历程关键事件一.政策为推动我国人工智能规模化应用,全面提升产业发展智能化水平,2017年7月20日,国务院印发了《新一代人工智能发展规划》,并将在制造、金融、农业、物流、商务、家居等重点行业和领域开展人工智能应用试点示范工作。就金融行业而言,《规划》指出,要在智能金融方面,建立金融大数据系统,提升金融多媒体数据处理与理解能力;...原创 2019-08-08 09:38:21 · 464 阅读 · 0 评论 -
人工智能的常用十种算法
1. 决策树根据一些 feature 进行分类,每个节点提一个问题,通过判断,将数据分为两类,再继续提问。这些问题是根据已有数据学习出来的,再投入新数据的时候,就可以根据这棵树上的问题,将数据划分到合适的叶子上。如果你觉得这篇文章看起来稍微还有些吃力,或者想要更系统地学习人工智能,那么推荐你去看床长人工智能教程。非常棒的大神之作,教程不仅通俗易懂,而且很风趣幽默。点...原创 2019-08-08 09:38:57 · 697 阅读 · 0 评论 -
人工神经网络简介
本文主要对人工神经网络基础进行了描述,主要包括人工神经网络的概念、发展、特点、结构、模型。 本文是个科普文,来自网络资料的整理。一,人工神经网络的概念 人工神经网络(Artificial Neural Network,ANN)简称神经网络(NN),是基于生物学中神经网络的基本原理,在理解和抽象了人脑结构和外界刺激响应机制后,以网络拓扑知识为理论基础,模拟人脑的神经...原创 2019-08-08 09:40:01 · 1234 阅读 · 0 评论 -
人工神经网络(ANN)及BP算法
1 什么是神经网络1.1 基本结构 说明:通常一个神经网络由一个input layer,多个hidden layer和一个output layer构成。图中圆圈可以视为一个神经元(又可以称为感知器)设计神经网络的重要工作是设计hidden layer,及神经元之间的权重添加少量隐层获得浅层神经网络SNN;隐层很多时就是深层神经网络DNN1.2 从逻辑回归到神经元LinearReg...原创 2019-08-08 09:41:52 · 267 阅读 · 0 评论 -
人脸识别主要算法原理
主流的人脸识别技术基本上可以归结为三类,即:基于几何特征的方法、基于模板的方法和基于模型的方法。1.基于几何特征的方法是最早、最传统的方法,通常需要和其他算法结合才能有比较好的效果;2.基于模板的方法可以分为基于相关匹配的方法、特征脸方法、线性判别分析方法、奇异值分解方法、神经网络方法、动态连接匹配方法等。3. 基于模型的方法则有基于隐马尔柯夫模型,主动形...原创 2019-08-08 09:44:05 · 1489 阅读 · 0 评论 -
人脸识别的十个关键技术组成原
人脸识别技术已成为纳入研发参考的、给人们带来高质量生活的又一科技解决途径。日常生活中,人脸识别的应用已经常见,那么你知道它是如何做到如此智能吗?下面,我们就带大家了解人脸识别涉及的十个关键技术。1、人脸检测(Face Detection):是检测出图像中人脸所在位置的一项技术人脸检测算法的输入是一张图片,输出是人脸框坐标序列(0个人脸框或1个人脸框或多个人脸框)。一般情况下,输出的...原创 2019-08-08 09:45:20 · 178 阅读 · 0 评论 -
关于对话机器人,你需要了解这些技术
对话系统(对话机器人)本质上是通过机器学习和人工智能等技术让机器理解人的语言。它包含了诸多学科方法的融合使用,是人工智能领域的一个技术集中演练营。图1给出了对话系统开发中涉及到的主要技术。对话系统技能进阶之路图1给出的诸多对话系统相关技术,从哪些渠道可以了解到呢?下面逐步给出说明。 图1 对话系统技能树数学矩阵计算主要研究单个矩阵或多个矩阵相互作用时的一些性质。机器学习的各种模型...原创 2019-08-08 09:46:09 · 278 阅读 · 0 评论 -
几种常见的激活函数
今天终于可以开始讲神经网络啦~~1.一个简单的介绍我们先把那些关于人脑、神经什么的东西抛到一边,来简单地理解下神经网络。在linear classification那一章,我们是通过计算输入图片属于不同类别的score来判断它到底属于哪个类的,即,其中W是参数矩阵,x是由输入图像的所有pixel组成的一个特征列向量。比如以CIFAR-10为例的话x就是[3072*1...原创 2019-08-08 09:51:12 · 142 阅读 · 0 评论 -
前向传播算法(Forward propagation)与反向传播算法(Back proaaion)
虽然学深度学习有一段时间了,但是对于一些算法的具体实现还是模糊不清,用了很久也不是很了解。因此特意先对深度学习中的相关基础概念做一下总结。先看看前向传播算法(Forward propagation)与反向传播算法(Back propagation)。1.前向传播如图所示,这里讲得已经很清楚了,前向传播的思想比较简单。 举个例子,假设上一层结点i,j,k,…等一些结点与...原创 2019-08-08 09:52:58 · 272 阅读 · 0 评论 -
卷积神经网络反向传播理论推导
本文首先简单介绍CNN的结构,并不作详细介绍,本文只要讲解CNN的反向传播,CNN的反向传播,其实并不是大多所说的和全连接的BP类似,CNN的全连接部分的BP是与它相同,但是CNN中卷积--池化、池化--卷积部分的BP是不一样的,仔细推导,还是有很多细节地方需要思考的,比如1、在前向传播的过程中,卷积层的输入,是通过卷积核与前一层的输出特征图卷积得来的,那么在反向传...原创 2019-08-08 09:57:01 · 143 阅读 · 0 评论 -
卷积神经网络概念与原理
一、卷积神经网络的基本概念受Hubel和Wiesel对猫视觉皮层电生理研究启发,有人提出卷积神经网络(CNN),Yann Lecun 最早将CNN用于手写数字识别并一直保持了其在该问题的霸主地位。近年来卷积神经网络在多个方向持续发力,在语音识别、人脸识别、通用物体识别、运动分析、自然语言处理甚至脑电波分析方面均有突破。 &nb...原创 2019-08-08 09:58:46 · 293 阅读 · 0 评论 -
卷积神经网络的网络结构——ResNet
ResNet由微软研究院的kaiming He等4名华人提出,通过使用Residual Unit成功训练152层深的神经网络,在ILSVRC 2015比赛中获得了冠军,取得3.57%的top5错误率,同时参数量却比VGGNet低,效果非常突出。ResNet的结构可以极快地加速超深神经网络的训练,模型的准确率也有非常大的提升。ResNet最初的灵感出自...原创 2019-08-08 10:00:31 · 259 阅读 · 0 评论 -
反向传播原理最深刻的一篇文章
目前网络上关于反向传播算法的教程已经很多,那我们还有必要再写一份教程吗?答案是‘需要’。为什么这么说呢?我们教员Sanjeev最近要给本科生上一门人工智能的课,尽管网上有很多反向传播算法的教程,但他却找不到一份令他满意的教程,因此我们决定自己写一份关于反向传播算法的教程,介绍一下反向传播算法的历史背景、原理、以及一些最新研究成果。一、什么是反向传播算法?反向传播算法...原创 2019-08-08 10:06:24 · 507 阅读 · 0 评论 -
反向传播算法的观解
一、反向传播的由来在我们开始DL的研究之前,需要把ANN—人工神经元网络以及bp算法做一个简单解释。关于ANN的结构,我不再多说,网上有大量的学习资料,主要就是搞清一些名词:输入层/输入神经元,输出层/输出神经元,隐层/隐层神经元,权值,偏置,激活函数接下来我们需要知道ANN是怎么训练的,假设ANN网络已经搭建好了,在所有应用问题中(不管是网络结构,训练手段如何变化...原创 2019-08-08 10:07:40 · 170 阅读 · 0 评论