李卓璐
公众号创作小白 如果你也喜欢视觉 那么请关注我的公众号叭:李卓璐随手记
展开
-
学习笔记3-数据增强代码学习
import osimport torchfrom torchvision import transformsfrom torchvision import datasetsfrom PIL import Image#数据读取及预处理data_dir='./datasets'train_dir=data_dir+'/train'valid_dir=data_dir+'/valid'#数据预处理模块transformsdata_transforms={ 'train':tran原创 2021-10-12 10:15:29 · 196 阅读 · 0 评论 -
学习笔记52-关于深度学习中的分类器汇总,模型对类别概率计算输出代码。
基础分类器:1、SVM:线性核SVM: 一般应用于多分类,分类的结果(如3分类)最后会给出(约等于)1、2、3的值代表第1、2、3类。非线性核SVM: 一般应用于二分类问题上。注意:SVM需要训练,如通过caffe提取特征后,用提取的特征训练svm2、softmax分类:其实它是逻辑回归的拓展,应用于多分类,在caffe、pytorch、TensorFlow中均可实现softmax,可以直接端到端地训练分类,比较常用。注意:分类的结果是给出的一个概率向量,相应的那个概率值高即为预测的哪个类,类原创 2022-03-29 09:16:38 · 5206 阅读 · 0 评论 -
学习笔记22-分类网络自动创建各自类别的测试集和训练集(代码已实现)
只需要创建一个original文件夹,把图片放里面就ok,每个类别的train和val文件夹自动生成。#自动分train和val文件import osfrom shutil import copy, rmtreeimport randomdef mk_file(file_path: str): if os.path.exists(file_path): # 如果文件夹存在,则先删除原文件夹在重新创建 rmtree(file_path) os.ma原创 2022-03-12 16:05:08 · 883 阅读 · 0 评论 -
学习笔记26-解决:载入预训练模型时Pytorch遇到权重不匹配的问题(附+修改后的预训练模型载入和冻结特征权重完整代码)
在pytorch微调mobilenetV3模型时遇到的问题1.KeyError: ‘features.4.block.2.fc1.weight’这个是因为模型结构修改了,没有正确修改预训练权重,导致载入权重与模型不同,使用下面说的两种方法适当修改载入权重即可。2.size mismatch for fc.weight: copying a param with shape torch.Size([1000, 1280]) from checkpoint, the shape in current mo原创 2022-03-15 15:00:20 · 24264 阅读 · 12 评论 -
可视化学习笔记8-使用python transforms数据增强后效果图(附结果图)
from torchvision import transformsimport PIL.Image as Imageimport matplotlib.pyplot as pltimport numpy as npimage = Image.open("try/0.jpg")transform = transforms.Compose([ transforms.RandomResizedCrop(224),原创 2022-03-12 15:29:20 · 6312 阅读 · 0 评论 -
学习笔记25-利用python批量修改更改文件、文件夹名称(附代码)
from skimage import data_dir, exposure,io, transform, colorimport numpy as npdef convert(f): rgb = io.imread(f) # 依次读取rgb图片 dst = transform.resize(rgb, (1200, 1200)) # 将图片分辨率转换为1200*1200 return dst str = 'E:/study/MobileNetV3/image_v3原创 2022-03-14 16:13:49 · 6089 阅读 · 0 评论 -
学习笔记20-图像增强-利用python批量将4张图片合并拼接 mosaic?(附结果图)
import PIL.Image as Imageimport osIMAGES_PATH = 'E:\\study\\MobileNetV3\\image\\train\\Sidenormal\\' # 图片集地址IMAGES_FORMAT = ['.jpg'] # 图片格式IMAGE_SIZE = 256 # 每张小图片的大小IMAGE_ROW = 2 # 图片间隔,也就是合并成一张图后,一共有几行IMAGE_COLUMN = 2 # 图片间隔,也就是合并成一张图后,一共有几列原创 2022-03-12 15:57:11 · 1606 阅读 · 0 评论 -
学习笔记24-利用python将批量图片合成视频(附代码及结果)
实验了很多博客,这个可以!出处import cv2size = (1200,1200)#这个是图片的尺寸,一定要和要用的图片size一致#完成写入对象的创建,第一个参数是合成之后的视频的名称及保存地址,第二个参数是可以使用的编码器,第三个参数是帧率即每秒钟展示多少张图片,第四个参数是图片大小信息videowrite = cv2.VideoWriter(r'E:\study\Picture_video\out\test.mp4',-1,0.5,size)#0.5是帧数,代表2s一张图,size是图片尺原创 2022-03-14 16:02:28 · 1543 阅读 · 0 评论 -
学习笔记27-将批量图片合成视频代码
import cv2size = (680,460)#这个是图片的尺寸,一定要和要用的图片size一致#完成写入对象的创建,第一个参数是合成之后的视频的名称及保存地址,第二个参数是可以使用的编码器,第三个参数是帧率即每秒钟展示多少张图片,第四个参数是图片大小信息videowrite = cv2.VideoWriter(r'D:\weixin\test.mp4',-1,10,size)#0.5是帧数,代表2s一张图,size是图片尺寸img_array=[]for filename in [r'D:原创 2022-03-29 08:18:58 · 326 阅读 · 0 评论 -
可视化学习笔记7-将训练的loss,acc结果生成npy格式,读取npy利用matplotlib.pyplot绘图。(附结果图)
npy文件介绍: NumPy 为 ndarray 对象引入了一个简单的文件格式:npy。是numpy专用的二进制文件,用于存储重建 ndarray 所需的数据、图形、dtype 和其他信息。是一种常用的保存模型文件的格式。生成loss.npy和acc.npy代码如下:running_loss = 0.0loss = loss_function(logits, labels.to(device))running_loss += loss.item() Train_Loss =原创 2022-03-12 15:49:55 · 3542 阅读 · 0 评论 -
学习笔记21-.pth转.pt代码实现(附结果图)
import torchfrom torch.utils.mobile_optimizer import optimize_for_mobilefrom model_v3 import mobilenet_v3_largefrom train import n_classes #此变量是调的train.py种类超参数model = mobilenet_v3_large(num_classes=n_classes)model.load_state_dict(torch.load("model/原创 2022-03-12 15:59:23 · 3100 阅读 · 4 评论 -
学习笔记28-pytorch框架下模型推理时间,单张FPS计算代码。
FPS画面每秒传输帧数,多少帧每秒,或每秒多少帧。F就是英文单词Frame(画面、帧),P就是Per(每),S就是Second(秒)model.eval() # 进入eval模式(即关闭掉droout方法 total_time = 0 with torch.no_grad(): # predict class input = img.to(device) torch.cuda.synchronize()原创 2022-03-29 10:16:45 · 4041 阅读 · 0 评论 -
可视化学习笔记9-pytorch cifar10数据可视化,归一化可视化。
cifar10数据可视化import osos.environ['KMP_DUPLICATE_LIB_OK'] = 'True'import torchimport torchvisionimport torchvision.transforms as transforms#下载数据预处理transform=transforms.Compose([transforms.ToTensor(),transforms.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5))]原创 2022-05-18 14:57:30 · 755 阅读 · 0 评论 -
学习笔记31-自回归-建立时间序列预测模型(ARIMA方法)
建立时间序列预测模型(ARIMA方法)原创 2022-09-01 21:23:01 · 3206 阅读 · 2 评论 -
学习笔记49-overleaf-LaTeX新手指南
overleaf官网1.公式篇超详细 LaTex数学公式2.表格制表命令使用教程在线表格编辑器3.整体介绍介绍/使用教程原创 2022-07-07 09:39:30 · 998 阅读 · 0 评论 -
学习笔记30-Top1和Top5定义与代码复现
定义Top-1: Accuracy是指排名第一的类别与实际结果相符的准确率,就是你预测的label取最后概率向量里面最大的那一个作为预测结果,如过你的预测结果中概率最大的那个分类正确,则预测正确。否则预测错误。Top-5: Accuracy是指排名前五的类别包含实际结果的准确率,就是最后概率向量最大的前五名中,只要出现了正确概率即为预测正确。否则预测错误。TOP-5正确率=(所有测试图片中正确标签包含在前五个分类概率中的个数)除以(总的测试图片数)TOP-5错误率=(所有测试图片中正确标签不在前五原创 2022-03-31 09:50:57 · 4709 阅读 · 6 评论 -
可视化学习笔记5-pytorch利用summary()打印神经网络的结构
安装指令 pip install torchsummary使用方法from model_L5 import mobilenet_L5_largefrom skimage import iofrom torchsummary import summaryimg_path = '10.jpg'img = io.imread(img_path)img = transform.resize(img, (224, 224))model = mobilenet_L5_large(num_classes=原创 2022-04-08 10:35:29 · 3674 阅读 · 0 评论 -
可视化学习笔记6-混淆矩阵可视化分类模型预测结果(附代码)
混淆矩阵是机器学习中总结分类模型预测结果的情形分析表,以矩阵形式将数据集中的记录按照真实的类别与分类模型预测的类别判断两个标准进行汇总。其中矩阵的行表示真实值,矩阵的列表示预测值。sklearn.metrics.confusion_matrix(y_true, y_pred, labels=None, sample_weight=None)y_true真实标签值y_pred预测标签值labels=None类别,可以手动设置,也可自动生成。sample_weight 是样本权重定义/绘制混淆矩原创 2022-04-06 15:06:25 · 4368 阅读 · 0 评论 -
可视化学习笔记1-pytorch netron可视化网络结构图
前提安装netron、torch、torchvision包执行下方代码即可# 针对有网络模型,但还没有训练保存 .pth 文件的情况import netronimport torch.onnxfrom torch.autograd import Variablefrom torchvision.models import resnet50 # 以 resnet18 为例myNet = resnet50() # 实例化 resnet18x = torch.randn(16, 3, 40,原创 2022-05-18 14:37:18 · 791 阅读 · 0 评论 -
可视化学习笔记10-pytorch cifar10批量数据预处理结果可视化
使用cifar10数据集,概率为0.5的随机遮挡批量结果可视化。import torch as timport numpy as npimport torchvision as tvimport matplotlib.pyplot as pltfrom torchvision import transformsfrom torchtoolbox.transform import CutoutROOT = './data/cifar-10'BATCH_SIZE = 128train_tr原创 2022-05-18 15:01:32 · 674 阅读 · 0 评论 -
可视化学习笔记2-pytorch 可视化卷积网络中间特征层
输出的结果是两张特征图(可以实现跑一次看多层),代码如下。import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport requestsimport cv2import torchfrom torch import nnimport torch.nn.functional as Ffrom torchvision import modelsfrom torchvision import transfo原创 2022-05-18 14:47:09 · 1138 阅读 · 0 评论 -
可视化学习笔记3-pytorch tensorboard可视化events.out.tfevents文件
前提配置好tensorboard包方法一:打开pycharm中terminal进入到events.out.tfevents文件目录下执行tensorboard --logdir=./命令如下图所示,点击网址即可。方法二:如果在执行方法一的过程中出现文件目录下显示已经生成了图文件,但是浏览器打不开的情况。执行tensorboard --logdir=./ --port=8080或tensorboard --logdir=./ --port=6060命令即可解决问题。...原创 2022-05-18 14:28:19 · 2341 阅读 · 0 评论 -
学习笔记34-RandomErasing代码讲解与使用
代码地址:https://github.com/zhunzhong07/Random-Erasing.作者将该方法分类,目标检测和行人识别上,效果较好。RandomErasing代码讲解如下:使用方法:在train.py文件中的transforms内调用。原创 2022-06-01 09:42:55 · 819 阅读 · 0 评论 -
可视化学习笔记11-pytorch-GradCAM可视化自己的网络
注意:代码中需要改的3个地方已经用注释标清,大家使用时注意修改。super(GradCAM, self) .__init__() # 获取模型的特征提取层 self.feature = nn.Sequential(OrderedDict({name: layer for name, layer in model.named_children() if name not in [ 'avgpool' , 'classifier' ] #改1:根据自己的网络模型架构调整。原创 2022-09-01 21:41:12 · 3365 阅读 · 2 评论 -
png、jpeg、JPEG、JPG转jpg不改变前缀,只改变文件格式!(为yolo训练做准备)
yolo无法直接训练不是jpg格式的图片,因此需要格式转变。png、jpeg、JPEG、JPG转jpg不改变前缀,只改变文件格式!原创 2023-09-18 20:16:54 · 397 阅读 · 0 评论 -
学习笔记51-python mat格式转换成csv格式
完整代码:所遇错误:解决办法:Python3.x中不再支持iterkeys(),所以将iterkeys()改成keys(),即data.keys()原创 2022-12-25 11:07:32 · 1594 阅读 · 0 评论 -
学习笔记38-python 设置固定字符串长度,批量修改文件名称
字符串对齐补位;批量修改文件名称。原创 2023-02-13 10:52:46 · 267 阅读 · 0 评论 -
学习笔记48-yolov5运行过程遇到的问题(关于git的问题、页面太小无法完成操作)
如果不好使再考虑降低Batch_Size大小或者调整虚拟内存可用硬盘空间大小!(调整虚拟内存可用硬盘空间大小网上随便找都有笔记,照抄即可没坑。解决办法:插入下面代码。有问题欢迎评论区讨论!1.关于git的问题。原创 2023-09-05 15:38:49 · 745 阅读 · 0 评论 -
学习笔记32-pytorch代码实现全局协方差池化GCP
直接将其转换为numpy数据会破坏计算图,因此numpy拒绝进行数据转换。这实际上这是对开发者的一种提醒。如果自己在转换数据时不需要保留梯度信息,可以在变量转换之前添加。协方差矩阵描述的是一组随机变量两两之间的相关性大小。全局协方差池化的做法,就是通过计算特征图的协方差矩阵(二阶信息)来选出这个能代表特征图数据分布情况的值。torch.cov()函数可以自行实现协方差矩阵的计算,具体计算过程由下图官方解释。根据协方差的计算公式,简单写代码实现GCP,并应用于CNN网络的分类层中。原创 2022-10-15 08:34:50 · 1447 阅读 · 2 评论 -
学习笔记33-遍历指定文件夹中所有文件,按num批量分成多个子文件夹(附运行代码)
【代码】遍历指定文件夹中所有文件,按num批量分成多个子文件夹(附运行代码)原创 2023-02-07 16:15:07 · 453 阅读 · 1 评论 -
学习笔记19-txt转json
【代码】学习零碎-txt转json。原创 2023-04-19 20:59:30 · 1572 阅读 · 2 评论 -
可视化学习笔记4-pytorch可视化激活函数(relu、relu6、leakyrelu、hardswish、Mish)代码
源代码import torchimport matplotlib.pyplot as pltimport torch.nn as nnimport torch.nn.functional as Fclass ReLU(nn.Module): def __init__(self): super(ReLU, self).__init__() def forward(self, input): return F.relu(input)# def原创 2022-04-30 14:43:14 · 3130 阅读 · 3 评论 -
学习笔记40-Ubuntu下跑Aplaca报错:torch.cuda.0utofMemoryError: CUDA out of memory.解决办法(查看CUDA占用情况&清除GPU缓存)
发现在执行程序时仅使用极少的内存(图片-1%),因此不是内存不足,考虑可能是缓存爆了!原创 2023-04-21 08:01:58 · 5537 阅读 · 1 评论 -
学习笔记46-代码记录-根据.npy文件计算平均acc\平均trainloss\平均testloss
【代码】代码记录-根据.npy文件计算平均acc\平均trainloss\平均testloss。原创 2022-10-12 15:26:29 · 286 阅读 · 0 评论 -
学习笔记35-查看GPU使用情况指令;查看CPU/GPU型号;查看CUDA版本;
查看GPU使用情况指令查看CPU型号GPU型号查看CUDA版本桌面右键进入控制面板,点系统属性,点组件就可以查看了。原创 2022-03-29 08:15:16 · 2539 阅读 · 0 评论 -
学习笔记43-python 将数组元素存入.csv文件中;csv内部实现行列转换;
提前创建一个新的、空的文件test.csv,否则会出现出现文件已被使用的错误。原创 2022-09-07 22:01:54 · 2073 阅读 · 0 评论 -
学习笔记42-.xlsx文件转为.csv文件代码
以上代码只需改注释处地址即可。原创 2022-09-01 21:26:21 · 424 阅读 · 0 评论 -
学习笔记10-Python图像批量处理(对比度、灰度)-内含代码可实现
1、图像批量处理-对比度from skimage import data_dir, exposure,io, transform, colorimport numpy as npdef convert_gray(f): rgb = io.imread(f) # 依次读取rgb图片 gamma = exposure.adjust_gamma(rgb, 3) # 调暗 dst = transform.resize(gamma, (256, 256)) # 将图片大小转换为原创 2022-02-11 14:06:02 · 2872 阅读 · 0 评论 -
学习笔记8-python skimage图像处理(实例演示-代码讲解)
scikit-image是基于scipy的一款图像处理包,它将图片作为numpy数组进行处理,正好与matlab一样。这里选择Skimage模块进行数字图像处理。程序自带图片: skimage程序自带了一些示例图片,如果我们不想从外部读取图片,就可以直接使用这些示例图片:#显示上面图片可用如下代码,图片名对应的就是函数名。from skimage import io, dataimg=data.lena()io.imshow(img)以上内容来自于:https://blog.csdn.原创 2022-02-06 10:28:32 · 3753 阅读 · 0 评论 -
学习笔记11-OpenCV图片读取、显示、保存用法+一个完整框架
学习网址:https://blog.csdn.net/u014630987/article/details/767138141、图像读取cv2.imread(path, flags)其中参数意义如下:path: 该参数制定图片的路径,可以使用相对路径,也可以使用绝对路径;flags:指定以何种方式加载图片,有三个取值:1.cv2.IMREAD_COLOR:读取一副彩色图片,图片的透明度会被忽略,默认为该值,实际取值为1;2.cv2.IMREAD_GRAYSCALE:以灰度模式读取一张图.原创 2022-02-11 14:40:40 · 1910 阅读 · 0 评论