计算机视觉
文章平均质量分 92
suredied
这个作者很懒,什么都没留下…
展开
-
第七篇 FastAI模型训练
前面一篇博客介绍了在Fast AI框架下训练模型所需的轮子——回调系统,本篇博客将介绍网络训练的方方面面,包括并不限于基础的训练方法(fit系列方法),指标(metrics)监控、网络推理与性能评估、模型保存等。一、Learner对象的fit()与fit_one_cycle()(文档链接)其中fit_one_cycle()函数已在前一篇博客中介绍过,实际上,该函数就是在基础的训练流程上添加了O...原创 2020-02-10 21:20:47 · 5187 阅读 · 4 评论 -
第六篇 FastAI的回调系统
前一篇博文介绍了如何在Fast AI框架下构建学习器。那么接下来就是训练模型。在训练过程中,往往需要在一些特定的阶段做一些特殊的操作,如在每训练一定数目的batch后,对学习速率进行调整;或是每训练一个epoch后,需要记录网络在验证(validation)数据集上的某些输出,如在validation上的loss,或者一些其他想观察的指标(metrics)。这些都是通过Fast AI的回调(Cal...原创 2020-01-22 21:00:54 · 2167 阅读 · 4 评论 -
第五篇 FastAI构建学习器
前面的几篇博客都是在介绍如何准备数据。实际上,在Fast AI框架下,数据准备好后,构建深度神经网络学习器的任务已经完成了80%(手动狗头)。其余的10%是构建网络,并将网络和数据封装成学习器(即Fast AI中的Learner对象);还有10%是对训练过程和结果的分析。后面的10%主要依赖于Fast AI中的回调系统(各种Callbacks),这部分会在后续博文中涉及。而本篇博文主要介绍如何构建...原创 2019-12-07 18:30:34 · 2487 阅读 · 0 评论 -
第三篇 FastAI数据构造API
上一篇博客介绍了如何调用ImageDataBunch的工厂类方法,生成Fast AI的模型所需的数据包(Data Bunch)。事实上,Fast AI提供了一系列函数接口,使得构建数据包的流程更符合逻辑且更灵活,而前述博客所示的工厂类方法其实也是基于这些API进行构建的。本篇博客将介绍相关的数据类型以及API。一、Fast AI的数据积木(Data Block)API (文档链接)DataBu...原创 2019-09-21 12:54:37 · 2200 阅读 · 0 评论 -
第一篇 从PyTorch到FastAI
一、使用PyTorch的ResNet18网络,在MNIST数据集上实现手写数字的分类MNIST数据集下载地址。数据读取代码如下:import pickle, gzipimport numpy as npdef load_data(data_pkl): with gzip.open(data_pkl, "rb") as fp: training_data, vali...原创 2019-07-16 08:33:15 · 3581 阅读 · 4 评论 -
第14篇 Fast AI深度学习课程——超分辨与图像分割
一、超分辨超分辨指的是由低分辨率的图片获得高分辨率的图片。1. 准备数据集数据集无需标注,将图像进行降采样即可获得配对的高低分辨率的图像。同样不需数据标注的应用场景还有:图像旋转、图像去噪、黑白图像着色等。为定义合适的Dataset,我们去fastai.dataset.py中找到一个和需求相接近的。其中有一个FilesDataset,其接受文件名,数据集的输入x为图像。我们继承该类,并覆写...原创 2019-01-05 08:31:32 · 4300 阅读 · 2 评论 -
第13篇 Fast AI深度学习课程——风格迁移
一、阶梯化学习速率在前述课程中,我们使用了重启学习速率、三角化学习速率等技巧,以实现更快的收敛、更稳定的泛化。上述技巧均是通过设置相应参数,来实现整个训练过程的学习速率的变化。事实上,一个更通用的方法,是在不同的训练阶段(训练阶段由epoch序列指明)使用指定的学习速率。(这一想法可通过调用多次fit()函数,每次使用不同的学习速率来达到;但更便捷的方式是提供一套API。)Fast.AI提供了实...原创 2019-01-05 08:31:03 · 1505 阅读 · 0 评论 -
第12篇 Fast AI深度学习课程——DarkNet、GAN
本节课程将介绍很火的对抗生成网络。由于这一网络结构很新,目前(课程发布时,18年4月份)Fast.AI尚未提供相应的封装,因此需要使用Pytorch的数据结构来构建。在构建GAN之前,我们将在CIFAR10数据上,仅使用Pytorch的数据结构,构建结构较简单的Darknet,以展示利用Pytorch搭建网络的思路。一、Darknet1. 数据准备下载后解压。由于train文件夹下各类数据都...原创 2019-01-05 08:30:25 · 1950 阅读 · 2 评论 -
CS231n-2017 Assignment2 NN、BP、SGD、BN、CNN
一、全连接神经网络在上一次作业中,已经实现了两层神经网络的架构。但该实现有个问题,即程序不够模块化,比如在loss()函数中,同时计算了损失函数和各参数的梯度。这种耦合,使得扩展网络深度时,需要做大量修改。另外,神经网络的层与层的结构也类似,这意味着朴素实现的方式中存在着代码重复。而本作业中,将要实现一种模块化的神经网路架构:将各个功能层封装为一个对象,如全连接层对象、ReLU层对象;在各层对象...原创 2018-11-07 22:13:53 · 1231 阅读 · 1 评论 -
CS231n-2017 Assignment1 k-近邻方法、SVM、Softmax、两层神经网络
一、k近邻方法1. 使用两层循环计算距离矩阵训练数据X_train和测试数据X中每一行是一个样本点。距离矩阵dists中每一行为X中的一点与X_train中各个点的距离。k_nearest_neighbor文件中的compute_distances_two_loops()函数:def compute_distances_two_loops(self, X): num_t...原创 2018-11-07 22:08:43 · 818 阅读 · 1 评论 -
CS231n-2017 Assignment3 RNN、LSTM、风格迁移
一、RNN所需完成的步骤记录在RNN_Captioning.ipynb文件中。本例中所用的数据为Microsoft于2014年发布的COCO数据集。该数据集中和图像标注想拐的图片包含80000张训练图片和40000张验证图片。而这些图片的特征已通过VGG-16网络获得,存储在train2014_vgg16_fc7.h5和val2014_vgg16_fc7.h5文件中,每张图片由一个4096维的...原创 2018-11-09 23:34:31 · 2443 阅读 · 0 评论 -
CS231n-2017 第13讲 生成模型
一、监督学习与非监督学习、生成模型监督学习给定数据xxx,以及数据所对应的标签yyy,学习一个从xxx到yyy的映射。应用举例:分类、回归、目标识别、语义分割、图像标注等。非监督学习分析数据的隐藏结构特征。应用举例:聚类、降维、特征提取、数据分布估计等。生成模型给定训练数据,生成满足训练数据分布规律的新数据。这一问题和非监督学习中的数据分布估计问题...原创 2018-11-06 23:22:25 · 730 阅读 · 0 评论 -
CS231n-2017 第12讲 可视化与理解
一、卷积神经网络首层与末层输出的可视化与理解1. 首层的输出首层输出的可视化及解释已在第二课中阐述,概述而言,其反应了图像中的边、角、纹理等基础结构特征。2. 末层输出卷积神经网络的最后一层输出,为图像的最终用于分类的特征。对于这些特征的解读可从如下角度进行。按照最近邻方法,找出特征相互接近的图片,则可发现特征相近的图片的视觉感受也相近。(呃,这应该归在"显然可见"系列。)使用...原创 2018-11-06 23:15:09 · 729 阅读 · 0 评论 -
CS231n-2017 第11讲 目标检测与图像分割
一、语义分割将一张图片中的像素按类别区分。示例如下:图 1. 语义分割示例语义分割不区分同类事物的不同实例。语义分割的思路:使用滑动窗方法,每次取图像的一部分,使用神经网络判断此部分的中心像素属于哪一类。缺点:低效,未能复用重叠窗口之间的共有特征。使用全卷积(Fully Convolutional)网络:使用补零方法保证卷积的输出结果的尺寸与源图像尺寸一致,不使用...原创 2018-11-06 23:07:37 · 2347 阅读 · 0 评论 -
CS231n-2017 第10讲 循环神经网络
一、循环神经网络与应用场景考察一个输入序列x1,x2,⋯ ,xnx_1, x_2, \cdots, x_nx1,x2,⋯,xn,循环神经网络每次会结合上一次的网络状态ht−1h_{t-1}ht−1和本次输入xtx_txt,更新网络状态为hth_tht,并根据需要输出结果yty_tyt。循环神经网络的前向传播的数学表达如下:ht=fW(ht−1,xt)...原创 2018-11-06 22:31:56 · 574 阅读 · 0 评论 -
CS231n-2017 第9讲 卷积神经网络的各种架构
1. LeNet-5: LeCun et al., 1998, 5层网络结构为(Conv为卷积层,Pool为池化层,FC为全连接层):Conv — Pool — Conv — Pool — FC — FC — FC卷积核尺寸为5x5,跨立间隔为1;池化层尺寸为2x2,跨立间隔为2。图 1. LeNet结构2. AlexNet: Krizhevsky et al., 2012, ...原创 2018-11-06 22:23:03 · 577 阅读 · 0 评论 -
CS231n-2017 第2讲 图像分类:KNN与线性分类
一. 图像分类概述难点(1) ViewPoint Variation: 拍摄视角。(2) Illumination: 光照。(3) Deformation: 变形。(4) Occlusion: 遮挡。(5) Background Clutter: 背景干扰。(6) Intraclass Variation: 同类事物的差异化。上述困难导致无法通过硬编码规则对图像达到良好的...原创 2018-08-30 19:22:51 · 1230 阅读 · 0 评论 -
CS231n-2017 第1讲 课程简介
一. 一些前导和同步课程CS131:Computer Vision: Foundations and ApplicationsCS231a: Computer Vision, from 3D Reconstruction to RecognitionCS 224n: Natural Language Processing with Deep LearningCS 230: Deep L...原创 2018-08-30 19:17:40 · 813 阅读 · 0 评论