深度学习
文章平均质量分 83
Chris_zhangrx
读书郎
展开
-
[Pytorch 源码阅读] ——torch.trace.jit 接口 C++ 源码阅读
文章目录前言torch::jit::TypeClassTypec10::ivalue::Objecttorch::jit::Objecttorch::jit::Module转化过程总结前言本文主要是从 torch.jit.trace 接口,打开 Pytorch JIT 的大门,介绍在正常 nn.module 经过 Trace 之后形成 scriptModule 的过程和涉及到的 C++ 类,因为涉及到的内容蛮多的,所以这里就从源码的角度介绍了一些相对比较重要,或者是可以帮助我们理解的类。在开始学习之前原创 2021-08-23 08:26:21 · 3528 阅读 · 0 评论 -
[Pytorch 源码阅读] —— 谈谈 dispatcher(二)
文章目录前言源码阅读IValue 类schemaOperatorHandleKernelFunctionOperatorEntryDispatcher内部调用逻辑kernel 是如何注册上的根据数据类型再次分发总结前言这里接上文 [Pytorch 源码阅读] —— 谈谈 dispatcher 中对 Pytorch 中 dispatcher 的相关概念介绍,主要是对相关概念和类间的关系做一个概述,没有读过前面文章的同学建议先读一下前面的文章。这里就是深入各个类的源码,对这些类做一个详细的解读。文章篇幅会原创 2021-08-08 11:40:35 · 2765 阅读 · 1 评论 -
[Pytorch 源码阅读] —— 谈谈 dispatcher(一)
文章目录概念介绍diapatch key 的表示和计算dispatch table 注册boxing 和 unboxing源码分析这篇文章的内容主要还是基于 EdWard z. yang 的 Let’s talk about the PyTorch dispatcher 来梳理一下 Pytorch dispatcher 相关的内容学习以及源码阅读。概念介绍dispatcher 可以理解为分发器,可以根据关于 tensor 输入的一些信息来决定要调用哪一块的程序。其主要是通过分发表(dispatch原创 2021-08-07 19:06:06 · 2588 阅读 · 0 评论 -
vscode python/C++ Debug 调试 Pytorch源码
本文主要介绍如何用 vscode 来调试 python/c++ 的 Pytorch 源码。首先要先确保有一个从源码编译的 Debug 版本的 Pytorch项目,具体 Debug 版本的源码编译网上有很多相关资料,可以自行查阅操作一波。接下来主要就是 vscode 的配置工作。创建需要调试的文件首先在 Pytorch 项目工程的主目录下创建一个子文件夹,在这个子文件夹中首先写一个我们想要调试的示例代码。 like this:配置 vscode python 调试这里要首先安装一个 Python原创 2021-08-05 11:50:34 · 5445 阅读 · 6 评论 -
[Pytorch 源码阅读] ——Pytorch python 接口的 C 扩展
前言在前面的博客中介绍了 Tensor 相关类的 C++ 实现,本文主要介绍 Pytorch 的 Tensor 是如何在 Python 中使用起来的,更大一点的题目就是 Pytorch 中 python 的 C 扩展,说明 Pytorch 是如何通过 python 接口来调用相关 C++ 实现的。Python c 扩展在开展正式介绍之前,需要先了解一些前提知识,就是标准的 Python c 扩展的一些内容。python 中模块(module)和包(package)的简介:模块(module)就是原创 2021-07-26 10:19:26 · 1694 阅读 · 1 评论 -
[Pytorch 源码阅读] —— Tensor C++相关实现
文章目录版本介绍概念介绍源码分析intrusive_ptr 类TensorImpl 类StorageImpl 类总结版本介绍因为 Pytorch 版本迭代还是蛮快的,这里给出我源码阅读的版本及 commit 号以供参考。master 分支,commit 号: 047925dac1c07a0ad2c86c281fac5610b084d1bd概念介绍Tensor 是 Pytorch 核心的数据结构,使用过 pytorch 的同学想必都不会陌生,它可以包含 scalar type 的数据(例如 floa原创 2021-07-25 21:44:08 · 3985 阅读 · 3 评论 -
libtorch aten::Tensor 与 std::vector 互换
在使用 libtorch 的过程中我们可能会遇到需要 libtorch 中的 at::Tensor 类型转化成 std::vector 常规类型存储,或者从 std::vector 生成一个 at::Tensor 供我们使用。at::Tensor 转 std::vector这里以 at::Tensor 里面的数据类型都是 float 为例,将 std::vector<T> 的 T 直接设置成对应的基本数据类型即可:aten::Tensor ten; // 假设 ten 里面已经有数据了s原创 2021-07-23 21:13:59 · 5554 阅读 · 0 评论 -
[Pytorch 源码阅读] —— TH中的 c 语言泛型编程
前言基于 pytorch 1.10.0 版本,mastercommit 号:047925dac1c07a0ad2c86c281fac5610b084d1bd万事开头难,还是咬着牙开始了 Pytorch 的源码阅读内容,虽然感觉难度很大,而且有点无从下手,希望坚持下去能有所进步!这里光源码编译就花了一些时间,尝试了 macbook,windows,和 linux 下 git clone 源码然后按照官方说明操作,但是基本碍于系统或者网络问题,git 拉第三方以来的时候会有很多问题,最后只是在 li原创 2021-06-20 22:12:01 · 689 阅读 · 1 评论 -
PyTorch Eager mode and Script mode
本文大概总结一下近期对 pytorch 中的 eager 模式还有 script 模式的学习所得。前言断断续续接触这两个概念有很长一段时间了,但是始终觉得对这两个 pytorch 的重要特性的概念就是比较模糊,中间还夹杂了一个 JIT trace 的概念,让我一句话归纳总结它们就是:Eager 模式:Python + Python runtime。这种模式是更 Pythonic 的编程模式,可以让用户很方便的使用 python 的语法来使用并调试框架,就像我们刚认识 pytorch 时它的样子,自带原创 2021-05-29 13:58:19 · 3773 阅读 · 1 评论 -
TypeError: z_(): incompatible function arguments. The following argument types are supported: 问题解决
一般运行 python 脚本遇到这种问题都是给的参数不是严格匹配函数需要的输入的,这种需要具体情况具体分析,但是主要解决就是好好检查自己的代码,函数输入哪里会存在不匹配的地方。以我下面的代码为例,注册 Pytorch plugin 算子时://修改前 def symbolic_plugin(g, arg0, arg1, arg2): return g.op('plugin, g, arg0, arg1, arg2)这个可能之前某些情况下确实可以正常运行,但是随着代码更新或者接口调原创 2021-04-02 21:48:20 · 15784 阅读 · 1 评论 -
【目标检测】 IoU 计算及 NMS 计算
IoU 计算计算 IoU 的代码因为不是很复杂,所以在一些偏深度学习的岗位面试时比较容易遇到。一般都是给定一个点的形式为,[x1,y1,x2,y2] 或者是 [x1,y1,w1,h1]。'''Input: p_x=[x1,y1,w1,h1]p_y=[x2,y2,w2,h2]'''def IoU(p_x,p_y): area_x = p_x[2]*p_x[3] a...原创 2019-09-11 15:19:07 · 1105 阅读 · 0 评论 -
从SRCNN到EDSR,总结深度学习端到端超分辨率方法发展历程
原文链接:https://blog.csdn.net/aBlueMouse/article/details/78710553#########转载说明:本文原作者写于 2017 年,所以最新的内容就是 2017 年的工作,转载本文旨在对 SR 这个领域有一个概念上的了解,推荐刚准备入门或者即将入门的读者阅读,在了解这些 baseline 工作以后可以帮我们更好的入门,后续如果有需要,我会在本文...转载 2019-09-02 22:06:39 · 727 阅读 · 1 评论 -
Caffe框架下如何训练自己的数据集和网络
当我们安装了 Caffe 框架,经过了 MNIST,和 cifar10 练手以后,开始慢慢熟悉这个经典的框架了,不过总是有需要训练自己准备的图片集和网络的时候,下面是我在使用时个人的一些小总结,以及用到的一些小脚本文件,若有错误之处或者建议意见,欢迎留言,互相交流学习。注:下面每个过程内容不全是连续的,可能文件名看着有些乱,但是每个步骤的操作都是一样的,只要对应这自己修改相应文件的路径和名字就行了,原创 2017-12-09 20:51:25 · 3710 阅读 · 1 评论 -
转-CNN模型的压缩与加速算法综述
本文转自微信公众号:微信AI 原文地址:链接前言 自从AlexNet一举夺得ILSVRC 2012 ImageNet图像分类竞赛的冠军后,卷积神经网络(CNN)的热潮便席卷了整个计算机视觉领域。CNN模型火速替代了传统人工设计(hand-crafted)特征和分类器,不仅提供了一种端到端的处理方法,还大幅度地刷新了各个图像竞赛任务的精度,更甚者超越了人眼的精度(LFW人脸识别任务)。CNN模型在转载 2017-12-15 21:42:33 · 1819 阅读 · 0 评论 -
神经网络的结构与加速
本文是在准备一个文献阅读报告时,对相关论文内容的一个梳理,除了在网络结构设计上面做文章,神经网络加速的算法也有很多,例如剪枝,知识蒸馏等,奈何数学基础很烂,上述方法一时还不能很好领会,所以本文以 ImageNet 比赛为时间主线,来探寻近年来网络结构的变化(所以重点在结构变化,会选择性忽略一些训练技巧及特点),若有描述不当或者理解有误的地方,欢迎留言交流!!1.简介 目前,深原创 2017-12-27 22:02:41 · 729 阅读 · 0 评论 -
Windows下使用Anaconda 安装 Pytorch
现在 Pytorch 0.4 版本以后已经开始支持Windows系统了,下面是基于官网给出的教程,方便不能翻墙的同学使用:Tips: 这里的 Anaconda一个是 anaconda3,即python 的版本是 3版本的,这里 windows 下 pyorch 不在支持 python2.7。不论是 pip 的安装方式还是 conda 的安装方式:这里以 python3....原创 2018-09-13 21:05:50 · 19353 阅读 · 12 评论 -
Pytorch —— AttributeError: ‘DataParallel’ object has no attribute ‘xxxx’
在 pytorch 多GPU训练下,存储 整个模型 ( 而不是model.state_dict() )后再调用模型可能会遇到下面的情况:AttributeError: ‘DataParallel’ object has no attribute ‘xxxx’解决的方法是:model = torch.load('path/to/model')if isinstance(model,torc...原创 2019-01-24 01:00:09 · 19393 阅读 · 6 评论 -
EMNIST数据集简介
后期将更新对此数据集处理的代码文章链接: EMNIST: an extension of MNIST to handwritten letters下载链接: [Download]下面对 EMNIST 做一个简单的介绍。NIST 与 MNISTNIST 全称为 NIST Speical Database 19,全数据集包含了 80 多万张图片,MNIST 则是 NIST 数据集的缩减版...原创 2019-01-16 22:51:07 · 21569 阅读 · 16 评论 -
Ubuntu 16.04 下 Theano 安装,及配置多 GPU使用(Multiple GPUs)
写在前面本文主要是针对 theano 的多 GPU 使用问题,做一个记录与总结。 在此之前我没有接触过关于 Theano 框架的内容,也是因为某些原因需要研究一下 theano 框架是否可以使用 GPU,如果可以,如何配置使用多 GPU。下面的内容写的很详细,甚至有点冗长,为了详细说明,贴了很多中间的步骤图,可以说很详细了,无非也是记录自己在一个之前没有任何接触的情况下,遇到了哪些问题,包括遇到...原创 2019-03-09 01:08:36 · 1471 阅读 · 4 评论 -
浅谈图像分割算法
目前比较有名的图像分割算法当属,Unet,SegNet,FCN,DeepLab 系列,RefineNet,PSPNet,Large kernel Matter 等。本文旨在对这写分割算法进行一个简单的总结比较。未完待续…...原创 2019-07-31 22:16:21 · 1807 阅读 · 1 评论 -
《Deep Learning》你需要知道的答案
《Deep Learning》你需要知道的答案本文来自微信公众号: AI研习社 的一篇文章——“深度学习面试你必须知道这些答案”,我也打印了这本书的英文原版,正好可以带着这些问题去学习,每个题目下原文已经给出了具体问题答案的页码范围。然后我也会不定期的根据书中内容以及自己的理解,详细的更新下面问题的答案。若读者发现我的回答有翻译不对或者理解不正确的地方,也欢迎留言指正,相互讨论学习!1.列举常见的原创 2017-11-16 22:26:51 · 6745 阅读 · 0 评论