pytorch
文章平均质量分 65
yangdeshun888
本人QQ:2891720537,欢迎添加咨询问题。
展开
-
智能问答系统相关的知识图谱构建:neo4j、py2neo
1、智能问答系统:其使用的技术方案为:数据集准备:先创建具有各种节点、属性、标签的数据。构建知识图谱:其是通过上面的数据集,然后进行解析数据,并创建各自节点信息保存到neo4j图谱数据库里。接着对应需要问答的语句,进行通过kdtree来判断其是属于哪一种类别的问题。然后进行根据问题会具有的一些常用名词来判断其想问的是哪一种问题。然后根据问题回答构建对应的回答内容。2、相关软件安装与排错:其中参考的应用工程为:QASystemOnMedicalKG医疗问答系统相关软件包:neo4j、对应的j原创 2021-04-14 11:27:32 · 1334 阅读 · 0 评论 -
深度学习知识十五:basnet边缘注意力分割网络、SSIM Loss原理介绍
1、basnet边缘注意力分割网络原理介绍:basnet主要使用了一个Residual Refinement Module跟SSIM loss,其解码网络主要有7个输出,然后通过Residual Refinement Module进行输出一个,总共有8个输出,他们的输出W H大小跟输入数据的W H一样。basnet网络其目标分割效果很好,除了使用上面的RRM网络结构外还有一个是使用了SSIM loss 这个损失会计算预测输出跟打标mask的亮度、对比度、图像结构这三者的损失。BASNET网络的结原创 2021-03-27 21:39:43 · 4796 阅读 · 1 评论 -
centos7 安装TensorRT
参考博客:centos7 安装TensorRT注意:a、主要两个文件:TensorRT、pycuda包文件。b、tensorRT需要到官网下载后解压到固定的系统文件夹下即可。pycuda则是直接使用pip安装即可。c、加速流程:pytorch模型转换成onnx,使用自身的onnx模块即可;然后通过onnx转换成tensorrt的模型格式,大概后缀为.engine;最后就可以通过调用这个engine进行相应的加速使用。1.安装cuda、cudnn问题:patchlevel.h没有那个文件将py原创 2021-03-15 15:32:53 · 1275 阅读 · 0 评论 -
深度学习知识一:使用到的激活函数种类和优缺点解释!
用于原创 2017-09-18 09:03:52 · 9415 阅读 · 0 评论 -
Flask、django--如何在pycharm中导入并运行项目、flask出现即You did not provide the “FLASK_APP“报错解决
一.导入flask项目File-Open选择需要导入flask项目(如项目名为flasky)。二.设置解释器File-Settings-Project Interpreter,如下图所示三.添加Flask server1.点击pycharm右上角的Add Configuration2.点击+号,选择Flask Server3.填写参数4.运行项目点击pycharm右上角的运行按钮:在浏览器中输入访问地址:http://127.0.0.1..原创 2020-06-15 14:39:44 · 2133 阅读 · 0 评论 -
【深度学习】基于深度学习的数据增广技术一览
周末在家无聊,偶然兴心想对CV领域常用的数据增广方法做个简单的调研与总结,重点是AI时代新兴的几种反响还不错的方法、各种第三方与官方实现代码等。那么今天由Happy来跟大家聊一聊深度学习中那些常用的数据增广方法。在图像分类任务中,数据增广是一种常用的正则化方法,同时已成为提升模型性能所必不可少的步骤。从引领AI热潮的AlexNet到最近EfficientNet都可以看到数据增广的身影。数据增广的方法也由传统的裁剪、旋转、镜像等方式逐渐过渡到当前火热的AutoAug、RandAug等基于NAS搜索的数据增转载 2020-06-26 12:26:03 · 1995 阅读 · 0 评论 -
深度学习知识六:(模型量化压缩)----pytorch自定义Module,并通过其理解DoReFaNet网络定义方法。
参考中文官方,详情参考:PyTorch 如何自定义 Module1.自定义ModuleModule 是 pytorch 组织神经网络的基本方式。Module 包含了模型的参数以及计算逻辑。Function 承载了实际的功能,定义了前向和后向的计算逻辑。下面以最简单的 MLP 网络结构为例,介绍下如何实现自定义网络结构。完整代码可以参见repo。1.1 FunctionFunction ...原创 2020-03-20 14:48:05 · 1161 阅读 · 0 评论 -
一大波PyTorch图像分割模型来袭,俄罗斯程序员出品新model zoo
一个新的图像分割model zoo来啦!一大波基于PyTorch的图像分割模型整理好了就等你来用~这个新集合由俄罗斯的程序员小哥Pavel Yakubovskiy一手打造,包含四种模型架构和30种预训练骨干模型(backbone),官方文档列举了四条主要特点: 高级API(两行代码构建神经网络) 4种模型架构:Unet,Linknet,FPN,PSPNet 每...转载 2020-02-14 10:24:27 · 1931 阅读 · 0 评论 -
onnx与tensorflow格式的相互转换,opencv直接调用pd文件进行预测,pytorch转换为onnx
onnx是Facebook打造的AI中间件,但是Tensorflow官方不支持onnx,所以只能用onnx自己提供的方式从tensorflow尝试转换Tensorflow模型转onnxTensorflow转onnx, onnx官方github上有提供转换的方式,地址为https://github.com/onnx/tutorials/blob/master/tutorials/OnnxTens...原创 2020-02-06 17:07:42 · 3655 阅读 · 0 评论 -
pytorch实用工具:torchsummary、torchsnooper、显示tensor的vutils
一. torchsummmary工具:其主要是用来计算网络的计算参数等信息的,其大概的流程为:安装指令:pip install torchsummary使用方法: import torch, torchvision model = torchvision.models.vgg model = torchvision.models.vgg16() from torchsum...原创 2020-02-01 10:19:47 · 27459 阅读 · 7 评论 -
linux卸载旧版CUDA跟安装的驱动并安装新版CUDA跟cudnn安装
使用GPU和CUDA、cuDNN进行深度学习计算的浪潮已经持续了很多年,在此期间,显卡驱动和CUDA版本,以及cudnn深度学习工具包的版本已经更新了很多次。随着新的TensorFlow 2.0版和Pytorch1.3版的发布,我们用于深度学习的机器也需要将运行环境更新到最新版本了,尤其是还在使用CUDA 8.0的话。本文将介绍如何卸载旧版CUDA(如8.0版)并安装新版CUDA(10.0版)材...原创 2020-01-05 15:14:14 · 6247 阅读 · 1 评论 -
Pytorch 使用不同版本的 cuda,跟使用不同版本的cuda进行编译扩展库,其实TensorFlow也是一样,编译Dcn v2例子。升级GCC
使用pytorch时我们可能需要对其进行扩展一些功能,例如近随机卷积的DcnV2。此时我们则需要选择适合的cuda版本进行安装并进行编译扩展。由于我们电脑上可能已经安装过多个cuda版本,此时我们可以根据通过设置环境变量进行随意切换使用的cuda版本。如下安装多个版本的的电脑为什么安装了pytorch如果编译扩展库需要再安装cuda库。不管我们通过什么进行安装pytorch等深度框架的时候...原创 2020-01-05 12:41:34 · 1133 阅读 · 0 评论 -
python项目生成requirements.txt的工程依赖环境的方法
生成requiresments.txt的方法有两种方式:第一种:pip freeze > requirement.txt其中freeze参数是指输出当前环境中安装的依赖包。其中【>】指的是把输出的信息输入到requirement.txt文件里。特点:会把当前环境中安装的所有依赖包都输出来,即使有些文件是当前工程没依赖的包。这会造成环境的臃肿。当前环境的所有依赖包为...原创 2019-12-10 16:49:40 · 1169 阅读 · 0 评论 -
Centernet在windows上的编译方法
环境: win10 vs2017 pytorch1.1 cuda10完整工程centernet_window完整工程下载地址:CenterNet-windows1、编译DCN库:由于CenterNet使用了可变卷积网络,而在pytorch上并没有集成,所以使用前要先进行Dcn的编译。a、准备跟pytorch1.0对应版本的DCNv2:pytorch1.0现在已经不支持DCNv1...原创 2019-11-21 11:24:26 · 3594 阅读 · 20 评论 -
PyTorch中在反向传播前为什么要手动将梯度清零?
PyTorch中在反向传播前为什么要手动将梯度清零?这种模式可以让梯度玩出更多花样,比如说梯度累加(gradient accumulation)传统的训练函数,一个batch是这么训练的:for i,(images,target) in enumerate(train_loader): # 1. input output images = images.cuda(...原创 2019-11-19 23:13:28 · 1233 阅读 · 2 评论 -
Pytorch 使用不同版本的 cuda,跟使用不同版本的cuda进行编译扩展库,其实TensorFlow也是一样
在使用 Pytorch 时,由于 Pytorch 和 cuda 版本的更新,可能出现程序运行时需要特定版本的 cuda 进行运行环境支持的情况,如使用特定版本的 cuda 编译 CUDAExtension 引入的拓展模块等。为了满足应用程序和框架本身对不同版本的 cuda 的需求,Pytorch 需要能够在不同版本的 cuda 之间切换使用。这里即记录 Pytorch 在编辑 cpp 和 cud...原创 2019-11-19 09:46:33 · 1341 阅读 · 0 评论 -
深度模型不work?这有一份超全的Debug检查清单
本文来自52CV群友Qiao-Mu Ren的读书笔记。原载于知乎:https://zhuanlan.zhihu.com/p/89566632为什么需要讨论DL Troubleshooting?80%-90%时间用于debug和tune,10%-20%时间用于推导数学或者实现。模型为什么会表现糟糕? 实现时的bug,很多深度学习bug不可见,比如模型label顺序错误 ...转载 2019-11-03 11:30:14 · 315 阅读 · 1 评论 -
十个最常用深度学习图像/视频数据标注工具
图像数据标注概述在深度学习领域,训练数据对训练结果有种至关重要的影响,在计算机视觉领域,除了公开的数据集之外,对很多应用场景都需要专门的数据集做迁移学习或者端到端的训练,这种情况需要大量的训练数据,取得这些数据方法有如下几种人工数据标注 自动数据标注 外包数据标注人工数据标注的好处是标注结果比较可靠,自动数据标注一般都需要二次复核,避免程序错误,外包数据标注很多时候会面临数据泄...转载 2019-10-22 17:54:52 · 1600 阅读 · 0 评论 -
yeild、keras深度通过numpy初始化variable、merge,pytorch训练可视化visdom、进行数据的深拷贝
最好的yeild解释网站:Python yield 使用浅析其里面有解释怎么判断一个函数是不是generatorhttps://www.jianshu.com/p/d09778f4e0551、yeild的使用,代码例子如下:def yield_test(n, index): for i in range(n): # 每次迭代运行到yeild处返回值并停止,下...原创 2019-02-13 18:31:26 · 924 阅读 · 0 评论 -
精简CNN模型以ShuffleNet v2 为例子解释,移动端网络设计的需要的规则ARM、GPU上对比,各种卷积方式的演变跟介绍
参考博客:深度学习【57】ShuffleNet V2 --最好的,下面的文章有些公式显示不了。看这个链接最好shufflenet部分网络结构 -变形卷积核、可分离卷积?卷积神经网络中十大拍案叫绝的操作。 --要看介绍才不久才刚刚写了MobileNet v2的博客,它来自Google。而今天看过了ShuffleNet v2,很是感慨。这篇来自Face++ Sun, Jian团队的...转载 2019-02-25 10:34:55 · 774 阅读 · 0 评论 -
深度学习知识十三:pytorh-inception多分支辅助分类、shortcut、densenet、 DepthWise深度可分离卷积、ShuffleNet的channel shuffle
参考博客:变形卷积核、可分离卷积?卷积神经网络中十大拍案叫绝的操作。pytorch微调网络Inception3CNN网络架构演进:从LeNet到DenseNet1、inception的多分支卷积:最初的Inception的卷积如下:其是对输入进行多个卷积处理,往往比单一卷积核处理要好,然后再把处理后特征进行cat()操作。由于其计算量大,参数多。后来进行改进了,添加了...原创 2019-02-26 11:09:02 · 3082 阅读 · 0 评论 -
pytorch进行上采样的种类
1、其中再语义分割比较常用的上采样:其实现方法为:def upconv2x2(in_channels, out_channels, mode='transpose'): if mode == 'transpose': # 这个上采用需要设置其输入通道,输出通道.其中kernel_size、stride # 大小要跟对应下采样设置的值一样大小。这样才...原创 2019-02-26 16:40:28 · 4685 阅读 · 0 评论 -
zip迭代tensor数据、求topk的简单方法,shape[:-1],[::-1]的用法
1、zip函数可以获取可迭代数据的元素,其中包括各种list、tuple、Tensor等元素下面是一个例子:testzip = [[1, 2], [1, 3], [2, 3], [3, 3]]print("单参数时的输出:")for tuplesin in zip(testzip): #tuplesin出来的数据是([1,2],),在3D数据训练的适合会导致其重现出来的...原创 2019-03-14 15:00:32 · 4754 阅读 · 0 评论 -
python往文件里写一定格式数据、多线程开启与控制
1、往文件里写具有一定格式的数据: # write obj 3D face methods with open(obj_name, 'w') as f: # write vertices & colors for i in range(vertices.shape[1]): s = 'v {:.4f} {:.4f}...原创 2019-04-29 15:56:21 · 400 阅读 · 0 评论