- 博客(86)
- 资源 (2)
- 收藏
- 关注
原创 彻底解决 OSError: [WinError 127] 找不到指定的程序。
原创文章,转载请注明出处!在使用pip安装torch_geometric包时,运行时会发现报错:ModuleNotFoundError: No module named 'torch_sparse'于是当我又装了torch_sparse时,发现报错:OSError: [WinError 127] 找不到指定的程序于是到处查阅资料,试了很多都不行,最后找到一个切实可行的方法,于是我把它完整总结一遍。其实根本原因是torch-scatter torch-sparse torch-c.
2021-09-16 15:00:06 52285 27
原创 TensorFlow之共享变量
在训练模型的时候,通常要用到很多参数,而这些参数通常是通用的(如过滤器),我们当然不希望将通用的参数重复定义占用内存,于是我们可以用tensorflow提供的官方共享参数的方法:tf.variable_scope() 和tf.get_variable()1、问题我们创建了一个简单的图像滤波器模型。如果只使用tf.Variable,那么我们的模型可能如下def my_ima...
2019-02-15 15:00:40 1116
原创 TensorFlow之张量的形状相关操作
TensorFlow之张量的形状相关的操作函数主要讲解一下四种。1、tf.shape查看张量的形状,即返回一个一阶张量表示输入张量的形状。tf.shape(input, name=None, out_type=tf.int32)input:输入的张量name:操作的名称out_type:输出的类型(int32 or int64), 默认tf.int32 2、tf.s...
2019-02-14 10:27:32 3771
原创 TensorFlow之随机数
简单介绍下TensorFlow中的几种随机数的生成方法。1、tf.random_normal生成正态分布的随机数。tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)shape:一个一阶整形张量或python的array类型。表示输出的形状 mean:一个0...
2019-02-13 11:27:47 2188
原创 TensorFlow使用GPU
1、标识计算设备在一套标准的系统上通常有多个计算设备. TensorFlow 支持 CPU 和 GPU 这两种设备. 我们用指定字符串strings 来标识这些设备. 比如:"/cpu:0":机器中的CPU"/gpu:0":机器中第一个的GPU"/gpu:1":机器中第二个GPU,依次类推。如果一个 TensorFlow 的 operation 中兼有 CPU 和 GPU...
2019-02-13 09:42:07 1603
原创 TensorFlow之实现一个简单的一元线性回归模型并保存和加载模型
一、线性回归模型介绍简单来说:线性回归就是利用一曲线段对一些连续的数据进行拟合,进而可以用这条曲线预测新的输出值。数学模型如下:其中:w称为权重,b称为偏置,利用现有的数据训练出理想的w和b的值,然后建立模型,进行下一个值的预测。 二、数据介绍import numpy as npimport tensorflow as tfx_data = np.arange...
2019-02-12 09:21:57 769
原创 TensorFlow之summary详解
TensorFlow中 tensorboard 工具通过读取在网络训练过程中保存到本地的日志文件实现数据可视化,日志数据保存主要用到 tf.summary 中的方法。 summary.py定义在tensorflow/python/summary/summary.py。提供了像tf.summary.scalar、tf.summary.histogram 等方法,用来把graph图中的相关信...
2019-02-11 21:16:56 5508
原创 TensorFlow之优化器Optimizer
原创博客,转载请注明出处! 一、TensorFlow的优化器类在TensorFlow中,编写好前向函数和损失函数后,可以直接调用TensorFlow自带的优化器去优化损失函数。在TensorFlow中,每个优化方法都是一个类,常见的几种优化方法如下:GradientDescentOptimizer AdagradOptimizer AdagradDAOptimizer ...
2019-02-11 11:43:01 2510
原创 TensorFlow之线程管理器tf.train.Coordinator
TensorFlow的Session对象是支持多线程的,可以在同一个会话(Session)中创建多个线程,并行执行。在Session中的所有线程都必须能被同步终止,异常必须能被正确捕获并报告,会话终止的时候, 队列必须能被正确地关闭。tf.train.Coordinator是tensorflow的一个多线程管理器,Coordinator类用来管理在Session中的多个线程,可以用来同时...
2019-02-11 09:17:36 2918
原创 TensorFlow之tf.train.batch与tf.train.shuffle_batch
tf.train.batch与tf.train.shuffle_batch的作用都是从队列中读取数据,它们的区别是是否随机打乱数据来读取。一、tf.train.batchtf.train.batch 是按顺序读取队列中的数据tf.train.batch( tensors, batch_size, num_threads=1, capacity=3...
2019-02-10 15:04:32 662
原创 TensorFlow之tf.train.slice_input_producer读取数据到队列
tf.train.slice_input_producer被定义于tensorflow/python/training/input.py,用于定义读取数据到队列中的方式。1、tf.train.slice_input_producer和tf.train.string_input_producer的区别注意tf.train.slice_input_producer和tf.train.st...
2019-02-10 10:22:30 2752 2
原创 TensorFlow之数据读取原理解释及string_input_producer函数详解
一、string_input_producer函数将文件名列表交给tf.train.string_input_producer函数,string_input_producer会生成一个先入先出的队列, 文件阅读器会需要它来读取数据。其源码如下,在tensorflow/python/input.py里:tf.train.string_input_producer( strin...
2019-02-10 10:17:59 1217
原创 TensorFlow之基本数学运算
0、张量运算的基本法则相同大小 Tensor 之间的任何算术运算都会将运算应用到元素级 不同大小 Tensor(要求dimension 0 必须相同) 之间的运算叫做广播(broadcasting) Tensor 与 Scalar(0维 tensor) 间的算术运算会将那个标量值传播到各个元素 Note: TensorFLow 在进行数学运算时,一定要求各个 Tensor 数据类型...
2019-02-09 21:27:56 923
原创 TensorFlow之变量详解
我们已经知道了如何定义变量,我们再来回顾一下。1、创建创建一个变量时,将一个张量作为初始值传入构造函数Variable()。另外TensorFlow提供了一系列操作符来初始化张量,初始值是常量或是随机值。# Create two variables.weights = tf.Variable(tf.random_normal([784, 200], stddev=0.35),...
2019-02-09 17:37:49 448
原创 TensorFlow之基础知识
原创博客,转载请注明出处!0、基本流程使用张量表示数据. 使用图 (graph) 来表示计算任务 使用会话(Session)来执行图 使用fetch取回数据,feed为操作赋值 下面我们一步步分析首先导入包,tensorflow通常简称为tfimport tensorflow as tf 1、张量(tensor)张量是tensorflow框架使用的基本的数...
2019-02-09 12:10:13 748
原创 YOLO v3代码学习
本人使用的版本是https://github.com/AlexeyAB/darknet源码在darknet-master\src目录下 还记得我们用YOLO v3训练自己的数据集的过程,控制台下使用以下代码进行训练darknet.exe detector train data/obj.data yolo-obj.cfg darknet53.conv.74上面代码的意...
2019-02-01 15:06:47 3298 3
原创 win10下YOLO v3训练自己的数据集
一、YOLO v3的下载与编译1、安装VS(YOLOv3支持vs2012、2013、2015,其他版本需要下载工具集) 去https://visualstudio.microsoft.com/downloads/?lang=en下载vs,YOLOv3支持vs2012、2013、2015,其他版本需要下载工具集(本人使用VS2017),下载工具集步骤:在电脑搜索框输入vi,点击Vi...
2019-01-30 20:08:07 21345 48
原创 YOLO v3详解
YOLO v3是YOLO和YOLO v2之后的YOLO系列的又一篇目标检测算法,是基于YOLO v2的一个改进,速度更快,精度更高! 1、YOLO v3的网络结构图其中:DBL:如图1左下角所示,也就是代码中的Darknetconv2d_BN_Leaky,是yolo_v3的基本组件。就是卷积+BN+Leaky relu。对于v3来说,BN和leaky relu已经是和卷积...
2019-01-29 21:53:14 26046
原创 YOLO v2详解
YOLO v2和YOLO9000是同一篇论文提出的两个模型,二者略有不同。前者主要是YOLO的升级版,比YOLO拥有更高的精度和速度,后者的主要检测网络也是YOLO v2,同时对数据集做了融合,使用联合训练算法,使得模型可以检测9000多类物体。 一、Better(更准)YOLO 一代有很多缺点,作者希望改进的方向是改善 recall,提升定位的准确度,同时保持分类的准确度。...
2019-01-23 21:58:32 3494
原创 YOLO详解
原创博客,转载请注明出处!YOLO(You Only Look Once)是2016年提出的一篇关于目标检测比较有名的文章。其以速度快和泛化能力强为优点。在YOLO之后,又改进出了YOLO-v2、YOLO-v3,v2、v3的精度相比v1有了很大的提升,这个后面再详细介绍。本文介绍的YOLO第一版。1、直观理解YOLOYOLO直接采用regression(回归)的方法进行坐标框的检测以及...
2019-01-23 09:23:23 16948 1
原创 Mask R-CNN详解
一、Mask R-CNN网络介绍Mask R-CNN是何凯明2017年提出的一个实例分割(Instance segmentation)算法,可以用来做“目标检测”、“目标实例分割”、“目标关键点检测”。,是ICCV2017的best paper。Mask R-CNN网络的设计比较简单,①在Faster R-CNN的基础上,在原本的两个分支上(分类+坐标回归)增加一个简单的完全卷积网络...
2019-01-22 14:12:33 3097 1
原创 图像分类、目标检测、语义分割、实例分割和全景分割的区别
计算机视觉的任务很多,有图像分类、目标检测、语义分割、实例分割和全景分割等,那它们的区别是什么呢?1、Image Classification(图像分类)图像分类(下图左)就是对图像判断出所属的分类,比如在学习分类中数据集有人(person)、羊(sheep)、狗(dog)和猫(cat)四种,图像分类要求给定一个图片输出图片里含有哪些分类,比如下图的例子是含有person、sheep和do...
2019-01-22 14:04:02 26159 7
原创 FPN网络详解
特征图金字塔网络FPN(Feature Pyramid Networks)是2017年提出的一种网络,FPN主要解决的是物体检测中的多尺度问题,通过简单的网络连接改变,在基本不增加原有模型计算量的情况下,大幅度提升了小物体检测的性能。低层的特征语义信息比较少,但是目标位置准确;高层的特征语义信息比较丰富,但是目标位置比较粗略。另外虽然也有些算法采用多尺度特征融合的方式,但是一般是采用融合后的特...
2019-01-21 11:39:28 71187 10
转载 RoIPooling与RoIAlign的区别
一、RoIPooling与RoIAlign1.1、RoIPooling通过对Faster RCNN的学习我妈了解的RolPooling可以使生成的候选框region proposal映射产生固定大小的feature map先贴出一张图,接着通过这图解释RoiPooling的工作原理 针对上图 1)Conv layers使用的是VGG16,feat_stride=3...
2019-01-20 20:55:05 13899 1
转载 Faster R-CNN详解
自R-CNN以及Fast R-CNN的出现之后,Fast R-CNN仍然有许多缺点,即选择性搜索找出所有的候选框这个也非常耗时,因此性能存在瓶颈,为了解决这个问题,Faster R-CNN就出现了。解决:加入一个提取边缘的神经网络,也就说找到候选框的工作也交给神经网络来做了。做这样的任务的神经网络叫做Region Proposal Network(RPN)。基本做法: • 将RPN放...
2019-01-20 11:17:35 14452
原创 Fast R-CNN论文详解
R-CNN出来以后,首次将卷积神经网络带入目标检测领域。随着SPP-Net等的出现对它的改进,受SPP-Net的启发,Fast R-CNN出现了。Fast R-CNN和R-CNN相比,训练时间从84小时减少为9.5小时,测试时间从47秒减少为0.32秒。在PASCAL VOC 2007上的准确率相差无几,约在66%-67%之间。一.Fast R-CNN所解决R-CNN的两个问题1、...
2019-01-17 23:42:24 1285
原创 SPP-Net论文详解
自R-CNN出来以后受到了广大的关注和研究,并设法将其优化,解决R-CNN的一些缺点,于是SPP-Net 就出来了。SPP-Net总体框架图如下该文章主要改进了以下两点:1、CNN需要固定输入图像的尺寸,导致不必要的精度损失2、R-CNN对候选区域进行重复卷积计算,造成计算冗余 1、为什么CNNs要固定输入图像的尺寸?深度卷积神经网络的基础结构分为:卷积层(conv lay...
2019-01-17 11:44:03 1082
原创 R-CNN论文详细解读
R-CNN是13年https://arxiv.org/abs/1311.2524的论文。对计算机视觉的影响很大!基础知识掌握:①先来简单区分计算机视觉的任务:简单来说,分类(classify)、定位(localization)和检测(detection)的区别如下: classify:是什么? localization:在哪里?是什么?(单个目标) detection:在哪里?分别...
2019-01-16 23:19:54 3953
原创 图像特征提取 — LBP算法
原创博客,转载请注明出处!LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算法;它具有旋转不变性和灰度不变性等显著的优点。它是首先由T. Ojala, M.Pietikäinen, 和D. Harwood 在1994年提出,用于纹理特征提取。而且,提取的特征是图像的局部的纹理特征; 1、LBP特征的描述 原始的LBP算子定...
2019-01-10 23:46:16 1141
转载 直观理解EM算法
EM是期望极大算法的简称由两部分组成:E部:求期望;M步:求极大。下面由浅入深直观理解它的概念。 1、先看一个简单的例子假设现在有两枚硬币1和2,,随机抛掷后正面朝上概率分别为P1,P2。为了估计这两个概率,做实验,每次取一枚硬币,连掷5下,记录下结果,如下:很容易地估计出P1和P2,如下:P1 = (3+1+2)/ 15 = 0.4P2= (2+3)/10 = ...
2019-01-10 14:49:28 1015
原创 PyTorch(一)之 torchvision 加载数据
原创博客,转载请注明出处!PyTorch是一个最近出的功能比较强大的框架。torchvision和torch包是PyTorch框架比较重要的两个包,其中torchvision包括下面四部分1. torchvision.datasets : 图片、视频等数据集的加载器2. torchvision.models : 常见网络模型的定义,如Alexnet、VGG、Resnet以及它们的与训...
2019-01-09 00:02:30 6744 2
原创 序列模型(三)
本周讲的是序列模型和注意力机制1、基础模型在这一周,你将会学习seq2seq(sequence to sequence)模型,从机器翻译到语音识别,它们都能起到很大的作用,从最基本的模型开始。之后你还会学习集束搜索(Beam search)和注意力模型(Attention Model),一直到最后的音频模型,比如语音。比如你想通过输入一个法语句子,比如这句 “Jane visite I...
2019-01-08 11:51:48 1150
原创 序列模型(二)
本周讲的是自然语言处理与词嵌入1、词汇表征上周我们学习了RNN、GRU单元和LSTM单元。本周你会看到我们如何把这些知识用到NLP上,用于自然语言处理,深度学习已经给这一领域带来了革命性的变革。其中一个很关键的概念就是词嵌入(word embeddings),这是语言表示的一种方式,可以让算法自动的理解一些类似的词,比如男人对女人,比如国王对王后,还有其他很多的例子。通过词嵌入的概念你就可...
2019-01-06 18:07:50 894 2
原创 序列模型(一)
本周讲的是循环序列模型1、为什么选择序列模型在本课程中你将学会序列模型,它是深度学习中最令人激动的内容之一。循环神经网络(RNN)之类的模型在语音识别、自然语言处理和其他领域中引起变革。在本节课中,你将学会如何自行创建这些模型。我们先看一些例子,这些例子都有效使用了序列模型。在进行语音识别时,给定了一个输入音频片段 X ,并要求输出对应的文字记录 Y 。这个例子里输入和输出数据都是...
2019-01-05 16:53:42 1991
原创 卷积神经网络(四)
本周讲的是特殊应用:人脸识别和神经风格转换1、什么是人脸识别?你学了很多卷积神经网络的知识。我这周准备向你展示一些重要的卷积神经网络的特殊应用,我们将从人脸识别开始,之后讲神经风格迁移,你将有机会在编程作业中实现这部分内容,创造自己的艺术作品。在人脸识别的相关文献中,人们经常提到人脸验证(face verification)和人脸识别(face recognition)。这是人脸验...
2019-01-04 17:51:13 1094
原创 卷积神经网络(三)
本周讲的是目标检测1、目标定位对象检测是计算机视觉领域中一个新兴的应用方向,相比前两年,它的性能越来越好。在构建对象检测之前,我们先了解一下对象定位,首先我们看看它的定义。图片分类任务我们已经熟悉了,就是算法遍历图片,判断其中的对象是不是汽车,这就是图片分类。这节课我们要学习构建神经网络的另一个问题,即定位分类问题。这意味着,我们不仅要用算法判断图片中是不是一辆汽车,还要在图片中标...
2019-01-04 11:36:27 1076
原创 卷积神经网络(二)
本周讲的是深度卷积网络:实例探究1、为什么要进行实例探究这周我们首先来看看一些卷积神经网络的实例分析,为什么要看这些实例分析呢?上周我们讲了基本构建,比如卷积层、池化层以及全连接层这些组件。事实上,过去几年计算机视觉研究中的大量研究都集中在如何把这些基本构件组合起来,形成有效的卷积神经网络。最直观的方式之一就是去看一些案例,就像很多人通过看别人的代码来学习编程一样,通过研究别人构建有效组件...
2019-01-03 18:02:20 4582
原创 卷积神经网络(一)
本周讲的是卷积神经网络1、计算机视觉深度学习之所以让我兴奋有下面两个原因,我想你们也是这么想的。第一,计算机视觉的高速发展标志着新型应用产生的可能,这是几年前,人们所不敢想象的。通过学习使用这些工具,你也许能够创造出新的产品和应用。其次,即使到头来你未能在计算机视觉上有所建树,但我发现,人们对于计算机视觉的研究是如此富有想象力和创造力,由此衍生出新的神经网络结构与算法,这实际上启发...
2019-01-03 11:44:48 1371
原创 结构化机器学习项目(二)
原创博客,转载请注明出处!本周讲的是机器学习(ML)策略(2)1、进行误差分析如果你希望让学习算法能够胜任人类能做的任务,但你的学习算法还没有达到人类的表现,那么人工检查一下你的算法犯的错误也许可以让你了解接下来应该做什么。这个过程称为错误分析,我们从一个例子开始讲吧。假设你正在调试猫分类器,然后你取得了90%准确率,相当于10%错误,,在你的开发集上做到这样,这离你希望的目标还有...
2019-01-02 17:56:52 713
原创 结构化机器学习项目(一)
原创博客,转载请注明出处!本周讲的是机器学习(ML)策略(1)1、为什么是ML策略?如何构建你的机器学习项目也就是说机器学习的策略。我希望通过这门课程你们能够学到如何更快速高效地优化你的机器学习系统。那么,什么是机器学习策略呢?我们从一个启发性的例子开始讲,假设你正在调试你的猫分类器,经过一段时间的调整,你的系统达到了90%准确率,但对你的应用程序来说还不够好。你可能有很多...
2019-01-02 11:38:57 616
win 10解决系统缺失vc++库
2018-08-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人