- 博客(16)
- 收藏
- 关注
原创 onnxruntime.capi.onnxruntime_pybind11_state.InvalidProtobuf: [ONNXRuntimeError] : 7 : INVALID_PROTOB
加载onnx模型报错:错误原因:onnx文件损坏。
2023-04-09 22:17:18
6687
2
原创 pytorch中的nn.Conv2d()如何控制输出的形状
大家想必在构建网络结构的时候都会遇到一个问题,那就是如何设置卷积核的参数来控制输出张量的形状,本文就这个问题来对conv2d函数进行一个讲解。in_channels: 输入维度out_channels: 输出维度kernel_size: 卷积核大小stride: 步长大小(默认为1)padding: 填充的大小(补0)输出的维度由out_channel来进行设定,而输出的尺寸则是由输入尺寸(input_size),卷积核大小(kernel_si...
2022-06-07 22:49:44
2836
原创 RuntimeError:one of the variables needed for gradient computation has been modified by an inplace...
在进行网络训练的时候,显示loss.backward()处出现RuntimeError:one of the variables needed for gradient computation has been modified by an inplace operation: [torch.cuda.FloatTensor [5, 16, 316, 316]], which is output 0 of LeakyReluBackward1, is at version 2; expected versi
2022-05-31 18:10:36
2222
1
原创 Pytorch 构建网络部分代码学习
一、.view()函数作用: 类似于reshape(),改变tensor变量维度。用法:import torch#一般用法b=torch.randn(3,2) #3*2矩阵print(b)print(b.view(1,6)) #变成1*6矩阵print(b.view(6,1)) ##变成6*1矩阵#传入数字-1,自动对维度进行变换a=torch.randn(3,5,2)print(a)print(a.view(3,1,-1).size()) #将a转化成3*1*n形
2022-05-17 16:54:28
379
原创 cannot import name ‘container_abcs‘ from ‘torch._six‘
因为1.8版本之后container_abcs就已经被移除了。cannot import name ‘container_abcs’ from ‘torch._six’在使用一些开源代码的时候,可能会遇到该错误。网上有很多人提供的解决方法是将下面这部分代码TORCH_MAJOR = int(torch.__version__.split('.')[0])TORCH_MINOR = int(torch.__version__.split('.')[1])if TORCH_MAJOR
2022-04-26 12:28:38
468
原创 导出onnx模型,onnx不支持roll操作符
当我torch.onnx.export()函数导出swin-tranformer模型时出现报错:Exporting the operator roll to ONNX opset version 9 is not supported. Please open a bug to request ONNX export support for the missing operator.解决方法:将opset version 9换成12(可以先试试只换opset版本,如果其报错不支持这个版本后
2022-04-26 12:17:34
3213
1
原创 毕设--基于深度学习的人脸识别(详细步骤+代码)
最近闲来无事,想写一个本人毕设基于深度学习的人脸识别文章。我主要利用两个不同的神经网络进行实现,分别是一个简单三层的卷积神经网络和结构复杂的VGG16神经网络,并比对了两种网络训练出的模型的识别效果。从最终的结果来看,与预想的一样结构更复杂的VGG16的效果更胜一筹。下面我就来具体介绍一下其实现过程。首先来说说第一个烂大街的模型,代码量很少,其实也很容易理解。但是我在网上找demo的时候真的是踩了不少的坑,不知道是作者故意而为之还是有些人本来就是copy其他人的,自己还偷懒没有跑,反正就是自己下载的几个
2022-04-13 16:01:46
24926
37
原创 关于CNN训练时loss停留在0.69,acc为0.5左右的问题
最近在用CNN作为主干网络来训练二分器时,出现了loss停留在0.69左右,acc在0.5左右的情况,在这里记录一下解决方法。首先是我在网上收集到的方法以及我最终的解决方法。方法1:查看数据有没有问题,看输入的数据及label是否正确。方法2:数据没有问题的话,再查看一下输入到网络前你的data是否进行了归一化处理,如果数据没有进行归一化处理模型也容易爆炸无法收敛。方法3:如何前面两个没有出现问题的话很大概率就是数据分布的问题,这也是一般模型无法收敛的重要原因,其解决方法就是在网络的最后一层
2022-04-13 15:45:51
5367
3
原创 深度学习CNN训练时的常用函数及配置代码笔记--Pytorch
1.num_workernum_workers>0 表示只有指定数量的worker进程去加载数据,主进程不参与。增加num_works也同时会增加cpu内存的消耗。所以num_workers的值依赖于 batch size和机器性能。一般开始是将num_workers设置为等于计算机上的CPU数量最好的办法是缓慢增加num_workers,直到训练速度不再提高,就停止增加num_workers的值。2.worker_init_fn创建DataLoader需要传入Dataset对象,如果在D
2022-04-13 14:57:05
2017
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人