![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
神经网络
滑稽的柴犬
在校大学生一名,多多指教
展开
-
nvdia triton server运行pt文件
triton server默认都是tensorrt推理。但也会出现有操作不支持,导致无法转模型为engine的情况。可以选择直接运行pytorch的pt文件,以下为操作步骤。1.pytorch后端环境编译步骤原理是使用 pytorch C++ API运行pt文件模型。安装依赖项apt-get install patchelf rapidjson-dev python3-dev构建NGC 的 PyTorch 容器。例如,构建一个使用 NGC 21.02 版本的 PyTor.原创 2021-08-20 14:48:41 · 1139 阅读 · 0 评论 -
unet pytorch源码分析
https://github.com/milesial/Pytorch-UNet网络整体结构代码""" Full assembly of the parts to form the complete network """import torch.nn.functional as Ffrom .unet_parts import *class UNet(nn.Module): def __init__(self, n_channels, n_classes, bil..原创 2021-05-24 17:58:35 · 2599 阅读 · 0 评论 -
detectron2 安装配置
安装前准备python ≥3.6 PyTorch ≥ 1.5python3可查看python版本pip list可查看pytorch版本gcc和g++ 1 sudo apt-get install build-essential 查看cuda 版本是否与torch版本对应,如不对应则切换cuda版本 1 2 3 sudo rm -rf /usr/local/cuda #删除之前的软连接 sud原创 2021-05-11 16:56:36 · 225 阅读 · 0 评论 -
unet项目全流程,标注,训练,转tensorrt
柴犬/unet项目全流程 - 码云 - 开源中国 (gitee.com)原创 2021-05-11 16:35:11 · 687 阅读 · 5 评论 -
问题解决心路历程:yolov4 tesnorrt client 运行yolov5engine时预测输出不对
经过同事提醒发现是预处理的问题。yolov4def preprocess(image,input_height,input_width): image = cv2.resize(image, ( input_width,input_height)) image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) image = np.transpose(np.array(image, dtype=np.float32, order=..原创 2021-05-11 09:31:58 · 330 阅读 · 0 评论 -
问题解决心路历程:tensorrt 与 原模型精度相差过大
今天用pytorch训练了一份resnet18的模型,用于工作服检测。但是把模型转为tensorrt engine部署后,发现运行起来预测结果完全错误。1.一开始以为是过拟合,但是用训练数据预测,发现还是不对。2.这时开始怀疑是自己模型结构哪里写错了,但是编译已经通过了,也就是自己写的tensorrt模型,完美接收了来自pytorch的resnet18的参数。发现自己写的tensorrt版本的resnet结构,输入数据是224*224,pytorch版是128*64。..原创 2021-05-10 17:16:25 · 3715 阅读 · 1 评论 -
开源实例分割软件labelme使用教程
项目源码github源码地址gitee拷贝的源码地址 (上面的加载慢用这个)安装(windows为例)先安装conda,这里推荐minicondaminiconda安装教程见如下文章http://doge.ac.cn/?p=2840安装完毕后用conda安装labelme# python3conda create --name=labelme python=3.6conda activate labelmepip install l..原创 2021-05-10 17:13:50 · 644 阅读 · 0 评论 -
安装pycocotools报错
报了一长串错Building wheel for pycocotools (setup.py) ... error ERROR: Command errored out with exit status 1: command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-xktd0rpk/pycocotools_12febb60ea2840848..原创 2021-05-10 17:11:28 · 3718 阅读 · 0 评论 -
语义分割,实例分割,全景分割示例
b 语义分割c 实例分割d 全景分割全景分割 = 语义分割 + 实例分割(以后谁再问我,直接发这个图)原创 2021-05-10 17:03:16 · 338 阅读 · 0 评论 -
pytorch tensorboard使用的简单教程
1.编写先初始化from torch.utils.tensorboard import SummaryWriterwriter = SummaryWriter(comment=f'LR_{lr}_BS_{batch_size}_SCALE_{img_scale}')散点图writer.add_scalar('Loss/train', loss.item(), global_step) #loss 直方图writer.add_histogram('w..原创 2021-05-10 17:00:28 · 1155 阅读 · 0 评论 -
这些年炼丹时的低级失误,持续反省中
预处理1.ImageFolder读取时需要补零ImageFolder 读取顺序之坑 – 柴犬的犬舍 (doge.ac.cn)2.通道转换用transpose,而不是reshape(我是傻逼)np.reshape()和np.transpose() – 柴犬的犬舍 (doge.ac.cn)3.pytorch ToTensor对部署的影响transforms.ToTensor()操作之后,图像会从[0, 255] -> [0.0,1.0]部署时需要..原创 2021-05-10 16:58:17 · 86 阅读 · 0 评论 -
在训练CNN时,loss稳定在-log(类别数)
在训练CNN时,loss稳定在log(类别数),是存在什么问题? 比如说二分类误差稳定在0.69,十分类误差稳定在2.302首先,0.69, 2.302表明网络就是在随机的猜,这里一般都是因为用了交叉熵损失函数这里yi往往是1,最后就是1*log(yhat)而如果是随机猜,预测值会接近1/n,即最后为log(1/n)=-log(n)1.检查是否代码问题,是否有bug;调参数、learning rate等看看,也很有可能先开始梯度太大,weight跑到了很远的地方(或者直接跑到了原创 2020-08-05 16:04:58 · 1008 阅读 · 0 评论 -
Python __call__详解
问题今天看自己调用EfficientNet的源码发现了这么一段class DogeNet(nn.Module): def __init__(self): super(DogeNet, self).__init__() model = EfficientNet.from_pretrained('efficientnet-b4') model._fc = nn.Linear(1792, 2) self.effici..原创 2020-08-04 16:15:03 · 836 阅读 · 0 评论 -
RCNN家族简短总结
传统算法全部滑窗一遍太慢,所以有了RCNN,先筛选一部分滑窗的候选区,再全都过卷积分类回归。RCNN每个候选区都卷积一次太慢,所以Fast RCNN直接先卷积,然后在特征图上用selective search找候选区域,然后再分类回归。Fast RCNN找候选区域不是神经网络算法,太慢了,所以有了Faster RCNN,用卷积神经网络找候选区域。...原创 2020-07-31 14:46:30 · 149 阅读 · 0 评论 -
感受野的计算
感受野的概念之前提到,vgg的主要亮点在于堆叠多个3x3卷积核来代替7x7的卷积核减少了所需的参数量,在保持感受野相同的情况下,提升了网络的深度,在一定程度上提升了神经网络的效果这里输出层层感受野指的是该层每个单元对应输入图像上的区域大小感受野大小计算RFi+1为下一层卷积层感受野,RFi为当前卷积层感受野大小。k为卷积核大小,s为步长。这里和步长相关,是因为如下图所示。如果,以卷积核正中间的点为中心。周围的点所对应的区域,都是分别往不同方向移动步长个单位。..原创 2020-07-25 20:49:30 · 987 阅读 · 0 评论 -
maxout对参数量的影响
相当于在输出前面又加了一层,该层有K个神经元,最后只输出这些神经元中最高的值即z1=w1*x+b1z2=w2*x+b2z3=w3*x+b3z4=w4*x+b4z5=w5*x+b5out=max(z1,z2,z3,z4,z5)缺点会直接导致参数量变为k倍,现在已经很少有用的,基本被relu替代...原创 2020-07-25 20:49:00 · 161 阅读 · 0 评论 -
单个卷积层的计算量为多少
最终一个卷积核的卷积如下所示(下式最主要的是按照特征图上每个点的形成来理解)比如一张图时224*224*3的图,一个卷积层有256个3*3的卷积核在它上面进行卷积,每个卷积核的每次卷积都会进行如上图的一次操作,即k1x1+k2x2+k3x3+......k9x9+b,一个卷积核有3*3个点,因此最终每个卷积核在每个通道上进行9次卷积操作,而输入的图像有三个通道,最终进行了3*3*3次卷积,一共有256个卷积核,最终为3*3*3*256验算以上理论:以alexnet第...原创 2020-07-25 20:48:01 · 849 阅读 · 0 评论 -
alexnet和vgg为什么参数量过多
卷积层以上图的模型为例,卷积层的参数个数只有(卷积核的宽*卷积核的高+1)*输出通道数,其中括号内卷积核的宽*卷积核的高是属于权重值的,1是属于偏置值的。下面只用权重估算如第一层卷积层只有7*7*3*64=9408个参数第二层卷积层只有3*3*64*192=110592个参数全连接层而全连接层则是将延展成一维的特征图维度为(特征图宽*特征图高*输入通道数)*1直接乘上维度为 (特征图宽*特征图高*输入通道数)*全连接层输出通道数 的矩阵 ,最终这个矩阵参数量为(特...原创 2020-07-25 20:47:13 · 1094 阅读 · 0 评论 -
pytorch ImageFolder 读取顺序之坑
ImageFolder读文件如果读的是1.jpg,2.jpg........1000.jpg这种,千万要注意最后读取顺序,因为肯定会读成这样这时候就需要写个脚本给他补零,修正读取顺序import ospath = 'test/AD&CN'file_list = os.listdir(path)for file in file_list: # 补0 10表示补0后名字共10位 filename = file.zfill(10) # print(filena原创 2020-07-25 20:44:00 · 2043 阅读 · 4 评论 -
tensorrt7.0在windows环境下安装方式(来自nvidia官方文档精简后)
CUDA 10.2或11.0 RC,cudnn8.0,以上都安装完成的情况下开始安装tensorrt。怎么安装参考之前安装pytorch的教程。先去nvidia官网下载Windows版本匹配的TensorRT zip文件。https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#downloading解压zip文件1.7.x.x.x(含TensorRT版本)2.cuda-x.x和c..原创 2020-07-24 10:50:37 · 2216 阅读 · 1 评论 -
l2正则化系数过高导致梯度消失
lamda = 3 # 正则化惩罚系数 w_grad=(np.dot(self.input.T, grad) + (self.lamda * self.w))/self.batch_size这里把正则化系数设置为3如果采用4层relu隐藏层的神经网络,将会直接导致梯度消失1%| | 2/200 [00:17<28:09, 8.53s/it]loss为0.23035...原创 2020-04-05 17:29:22 · 1660 阅读 · 0 评论 -
numpy手写mlp
直接提供代码一共分四个文件trainer.py用于接受参数开始训练layer.py用于定义每个层的属性和功能net.py用于构建整个神经网络mlp用于读取mnist数据集并进行训练记得把trainer,layer,net这三个文件拷到同一个文件夹下,方便mlp文件调用这三个文件的类DogeTrainer.pyfrom dogel...原创 2020-04-02 14:28:20 · 2054 阅读 · 1 评论 -
numpy手写softmax回归
softmax诞生原因线性回归主要用于连续值预测,即回归问题,比如判定一个东西是鸡的概率是多少而当模型需要预测多个离散值时,即分类问题,比如判定一个东西是鸡还是鹅还是鸭此时就需要多个输出单元,并且修改运算方式从而方便预测和训练,这也就是softmax层诞生的原因这里使用的是minist手写数字识别数据集1.首先通过Pytorch读取数据集def load_data(): tra...原创 2020-04-01 14:49:26 · 1441 阅读 · 0 评论