- 博客(13)
- 收藏
- 关注
原创 mobilenet
from torch import nnimport torchdef _make_divisible(ch, divisor=8, min_ch=None): """ This function is taken from the original tf repo. It ensures that all layers have a channel number that is divisible by 8 It can be seen here: htt.
2022-04-09 21:43:10
806
原创 SEnet、CBAM、ECA注意力三大机制
# 下面是通道注意力机制即SEnet的代码,个人理解SEnet是在对每个channel进行加权操作,看那个channel重要,就给他权重大一点。# 每个channel由于每个特征向量不一样因此提取的特征也就不一样即通道注意力机制注重的是特征的重要性(图片的点、线、明暗)# 因此通道注意力机制是对每个通道的长宽进行卷积,一开始对通道不进行改变import torchimport torch.nn as nnimport mathclass se_block(nn.Module): de.
2022-04-09 11:58:47
8053
4
原创 googlenet
googlenet的优点:模型又准又轻 深度加到22层,引入Inception模块,利用不同卷积核提取不同程度的信息 采用1x1 卷积进行降维以及映射处理减少了计算量,增加模型深度提高非线性表达能力 GAP, 每一个通道求平均即平均池化层,不用FC,减少了参数量 在训练时有辅助分类器下面是Googlenet代码import torch.nn as nnimport torchimport torch.nn.functional as Fclass GoogLeNet(nn.Mo
2022-03-31 17:30:12
1809
原创 vgg网络
其优点是利用小卷积块代替了大卷积核,两个3*3相当于一个5*5的感受野,三个3*3相当于一个7*7的感受野,但减少了参数量。池化也是用了2*2.其测试阶段用三个卷积替换了三个全连接,可以实现任意高和宽的输入。下面是vgg网络import torch.nn as nnimport torch# official pretrain weightsmodel_urls = { 'vgg11': 'https://download.pytorch.org/models/vgg11-bbd3
2022-03-30 11:05:47
251
原创 第二种自建数据集完整套路
1.先用下面代码将数据集进行分割成训练集和测试集import osfrom shutil import copy, rmtreeimport randomdef mk_file(file_path: str): if os.path.exists(file_path): # 如果文件夹存在,则先删除原文件夹在重新创建 rmtree(file_path) os.makedirs(file_path)def main(): # 保证随
2022-03-28 17:23:41
909
原创 alxnet 亮点在于dropout使神经元随机失活来防止过拟合
import torch.nn as nnimport torchfrom torchaudio import transformsfrom torchvision import transformsclass AlexNet(nn.Module): def __init__(self, num_classes, init_weights=False): super(AlexNet, self).__init__() self.num_classes = .
2022-03-28 16:28:06
198
原创 混淆矩阵的代码实现
import osimport jsonimport torchfrom torchvision import transforms, datasetsimport numpy as npfrom tqdm import tqdmimport matplotlib.pyplot as pltfrom prettytable import PrettyTableimport creatdatasetimport resnextclass ConfusionMatrix(object.
2022-03-24 22:47:15
5344
9
原创 现成网络模型的迁移学习和网络模型的保存与读取
下面是迁移学习的相关内容# 以下是迁移学习的相关内容# 以VGG16来进行示范import torchimport torchvisionimport winntfrom torch import nnVGG16 = torchvision.models.vgg16(pretrained=True)# pretrained 是指是否调用已经预训练好的参数模型,即里面的权重是否调用已经训练好的print(VGG16)# 查看网络架构tran_dataset = torchvisi.
2022-03-17 21:32:16
292
原创 基础的一些cnn小代码练习
# conv2d 是用于二维图像处理的,同理3d就是三维,1d就是一维图像import torchimport torchvisionfrom torch import nnfrom torch.nn import Conv2d, MaxPool2d, Sequentialfrom torch.utils.data import DataLoaderfrom torch.utils.tensorboard import SummaryWriterdataset = torchvision..
2022-03-16 17:58:15
435
原创 tensorboard一些简单常用的代码
需要再Terminal里面输入tensorboard --logdir logs才能打开Tensorboard# tensorboard --logdir=logs --port=6007 是将端口号改为了6007#一般用到一下几个指令:# 一、打开图片显示图片# writer.add_images("input",imgs,step) 第一个是标签,第二个是图像,注意图像必须是numpy或者tentor类型的,而且必须是通道数在前面,比如RGB三通道的就要是3*w*h#如果通道数在后面,则.
2022-03-16 17:44:59
3980
原创 transform 的一些相关代码
import torchimport torchvisionfrom torchvision import transforms, utils,datasetstransform_train = transforms.Compose([ transforms.RandomCrop(32, padding=4), # 先四周填充0,在吧图像随机裁剪成32*32 transforms.RandomHorizontalFlip(), # 图像一半的概率翻转,一半的概率不翻转 transforms.R.
2022-03-16 16:27:22
1297
原创 带有自己数据集的resnext和seresnet
创建数据集import torchimport os, globimport random, csvfrom torch.utils.data import Dataset, DataLoaderfrom torchvision import transformsfrom PIL import Imageclass MyDataset(Dataset): def __init__(self, root, mode): super(MyDataset, sel
2022-03-15 20:22:13
1063
2
原创 resnext和SEresnet代码详解(一行一行代码详解)
resnext是由resnet50演变而来,于resnet50的区别就是在卷积块和激活函数之间其增加了bn板块,是为了对数据进行归一化处理,还有就是增加了import torchfrom torch import nnimport torchimport torch.nn as nnclass Block(nn.Module): def __init__(self,in_channels, out_channels, stride=1, is_shortcut=False): .
2022-03-07 12:01:05
3442
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人