OpenCV
OpenCV-图像的基础操作图像的读取、显示与保存 图片的读取与显示12345678910import cv2img = cv2.imread('img_path')cv2.imshow('windowname',img)cv2.waitkey(0) # 让窗口持续显示 不会一闪而过import matplotlib.pyplot as plt# 因为我用的vscode,更好的图片显示方式是pltplt.imshow(img) 使用PIL读取图片12345from PIL import Imageimage = Image.open(image_path)image.show() PIL打开的通道顺序是RGB opencv打开图片的通道顺序是BGR shape: opencv(820,818,3) PIL(670760,3) 图片的保存 cv2.imwrite(‘img_name.jpg’,img) 视频的读取与显示123456789import cv2cap =...
模型优化 剪枝 蒸馏 量化
模型优化(性能)https://pytorch.org/tutorials/beginner/profiler.html剪枝和蒸馏不可控,实际生产中一般使用量化。部署时需要根据设备,考虑模型大小与模型计算量 剪枝连接变稀疏了,计算量减少,直接使网络中的部分神经元失活(将参数置为0,不再参与运算可以加速模型的计算),但依赖于特定算法库或硬件平台的支持。模型深层拿到的是语义特征,模型浅层拿到的是边缘特征。 结构化剪枝破坏掉原有模型的结构1prune.random_structured(conv, name='weight', amount=0.5, dim=0) 非结构化剪枝不改变原有模型的结构(层数),改变的是每一层卷积核的个数代码:https://pytorch.org/tutorials/intermediate/pruning_tutorial.html 12345import torch.nn.utils.prune as pruneconv = model.conv1prune.random_unstructured(conv,...
相对路径与绝对路径
相对路径与绝对路径相对路径是相对于当前路径而言的,而绝对路径是相对于根目录而言的。 / 表示根目录./ 表示当前路径../ 表示上一级路径../../ 表示上两级路径 vscode中python自定义包的模块如何导入其他子包模块https://yxchangingself.xyz/posts/python-the-module-of-parentpkg-import-the-module-of-childpkg/ 解决方法: 在当前目录下创建一个__init__.py文件 将子包路径添加到系统路径中 123456# parent.__init__.pyimport sysimport...
模型打包
模型打包目前自己所用的框架为pytorch(python版本的torch),需要打包好训练好的AI模型(网络结构+网络参数),放到其他设备上运行。 LibTorch也是一个部署时候用的推理框架 c++/java 版本 TorchScript:torch自己的打包工具 torch保存模型的方式:1 只保存模型参数(权重文件)12345678910111213# torch.save(model.state_dict(), 'model.pth')import torchfrom torchvision.models import resnet18model = resnet18()torch.save(model.state_dict(), 'model.pth') # 只保存权重###import torchimport torchvision.models as modelsnet =...
目标检测
目标检测参考:https://www.cnblogs.com/yege/p/17355384.html#2One_Stage_50https://blog.csdn.net/weixin_43981621/article/details/120127926罗会兰, 陈鸿坤. 基于深度学习的目标检测研究综述[J]. 电子学报, 2020, 48(6): 1230-1239. https://doi.org/10.3969/j.issn.0372-2112.2020.06.026 基础概念目标检测(object detection):找出图像中所有感兴趣的目标,确定他们的类别和位置。 分类从检测内容上可分为: 单目标侦测 对单张图片进行分类 单类别多目标侦测 检测多个同类目标,主要需要输出目标位置信息 多类别多目标侦测 检测多个异类目标,需要输出目标类型及目标位置信息 从算法类型上可分为: two stage 基于候选区域 先找预选框 region proposal(简称RP,一个有可能包含待检物体的预选框),再通过卷积神经网络进行样本分类。 任务流程:特征提取...
图像分割
...
Hexo+Github创建自己的blog
参考 https://blog.fiveth.cc/p/bb32/ https://butterfly.js.org/posts/21cfbf15/ 基础Blog搭建1.环境搭建 node.js git启动终端控制台 输入node -vnpm -vgit -v 2.安装hexonpm install hexo-cli -g(如果安装失败可以以管理员模型启动cmd mac是在命令行前加上sudo)然后输入你电脑的password 就会开始下载 3.构建github仓库在github中Create a new repository,也就是创建一个新的仓库,这里需要注意的是仓库名必须和用户名一致为:用户名.github.io 这也就是之后你hexo博客的网址。 4.生成ssh keys同样是打开终端输入(如果不成功同样选择在前面加上sudo)ssh-keygen -t rsa -C “邮件地址” 然后敲4次Enter 然后进入.ssh文件打开里面的id_rsa.pub,全选复制里面的代码 然后打开github 进入用户设置,找到SSH keys 新建SSH...
优化器与损失函数
epoch和batch_size的选择 epoch的作用在于逐步提高模型的精度,直到达到一个相对稳定的水平。 batch size过小会导致模型训练过程不稳定,容易受到噪声数据干扰;而batch size过大则会导致模型训练时间过长。但batch...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post1$ hexo new "My New Post" More info: Writing Run server1$ hexo server More info: Server Generate static files1$ hexo generate More info: Generating Deploy to remote sites1$ hexo deploy More info: Deployment