自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 基于深度学习的车牌识别

如果你认为车牌只是车子的‘名字’,那么是时候让你见识一下,当科技赋予它‘超能力’时会发生什么?

2024-04-20 14:16:45 280

原创 微信自动发消息

一种轻量化的微信发送消息的代码

2024-03-31 13:39:36 497

原创 Imagenet2012的1000个类别

Imagenet2012的1000个类别

2024-01-13 21:52:44 611

原创 解决ModuleNotFoundError: No module named ‘yaml‘

报错:ModuleNotFoundError: No module named 'yaml'

2023-11-03 18:27:51 6788

原创 如何把利用paddlepaddle导出的json文件转化为yolo或者voc文件

这两天想偷懒,想让模型先在数据上标一遍,然后我再做修正,主要是图个省事。由于我们的业务主要是利用paddle,模型也是基于paddle推理的,因此即便我对paddle有一万个吐槽但也不得不用它。但在利用paddle保存推理结果文件时,遇到了一个大问题:就是paddle推理出来的所有数据都在同一个json文件,并且导入labelimg中也不能正常的显示到标注的框,不能对数据进行矫正。因此我就想着在代码中间能不能修改某些内容。

2023-09-19 14:26:57 30827

原创 5. 自动求导

⑧ 即使构建函数的计算图需要通过Python控制流(例如,条件、循环或任意函数调用),仍然可以计算得到的变量的梯度。⑥ 在深度学习中,目的不是计算微分矩阵,而是批量中每个样本单独计算的偏导数之和。② 在外面计算y关于x的梯度之前,需要一个地方来存储梯度。④ 通过调用反向传播函数来自动计算y关于x每个分量的梯度。① 例子1是一个线性回归的例子,如下图所示。① b是之前计算的结果,是一个已知的值。⑦ 将某些计算移动到记录的计算图之外。⑤ 计算x的另一个函数。

2023-09-13 11:42:22 34566

原创 小工具——筛选图像小工具

首先要选择两个文件夹,一个用来导入数据,另外一个用来保存数据。导入文件夹,文件夹里面有大量图像,点击键盘右键可以切换到下一张,左键上一张,点击空格可以把这个图像保存到另外一个文件夹中。不过到最后一张的时候可能回异常退出,不过不影响使用所以我就没进行改进了。最近在公司手动筛图片,需要将某些含有检测目标的图像手动筛选出来用于做新模型的测试。我最开始是两个文件夹,来回复制粘贴,后来感觉这种效率太低了,就随手写了一个图像筛查小工具。这里的操作是剪切操作,并非复制操作。随便文件夹是保存的文件。点击3选择保存文件夹。

2023-09-08 14:10:23 37753

原创 一键让你使用录屏

最近在做项目,有时候需要录屏,但是我的操作又很慢,常常就是动辄上分钟计,这哪个评委老师受得了啊。建议把代码放在桌面,这样录的视频也在桌面,便于查找。视频的名字叫test.mp4,录制完成后,按英文状态下的esc或者q键结束。

2023-09-06 12:47:06 38983

原创 三秒教你搞定利用python发送邮件

我之前利用python统计了班级没有交作业的同学,并且一键给他们发邮件。收到了很多人的私信,这里我给大家分享一下如何利用python发送文件。至于授权码的获取方式,可自行搜索,网上教程一大堆,我就不赘述了。

2023-09-06 12:41:02 38959

原创 4. 矩阵计算

① y是向量,x是标量的话,求导为标量。② y是向量,x是向量的话,求导为矩阵。是一个椭圆,梯度是指向值变化最大的方向。

2023-08-27 13:20:55 42787

原创 3. 数据操作、数据预处理

② 如果在后续计算中没有重复使用X,即内存不会过多复制,也可以使用X[:] = X + Y 或 X += Y 来减少操作的内存开销。① 机器学习用的最多的是N维数组,N维数组是机器学习和神经网络的主要数据结构。① 要改变一个张量的形状而不改变元素数量和元素值,可以调用reshape函数。① 可以用[-1]选择最后一个元素,可以用[1:3]选择第二个和第三个元素。① 为了处理缺失的数据,典型的方法包括插值和删除,这里,我们考虑插值。① 可以通过张量的shape属性来访问张量的形状和张量中元素的总数。

2023-08-27 13:11:18 42766

原创 2. 配置版本

( 注意:当 pip install ipykernel 时,不能挂 VNP。② 输入 conda create --name py3.6.3 python=3.6.3 命令,输入 [y]/n 时输入 y,创建 py3.6.3 虚拟环境,它会安装 python3.6.3 到 anaconda3 的 env 目录下。③ 首先确保目前盘和要进入的盘一样,输入 cd D:\11_Anaconda\envs\py3.6.3\Scripts 命令,进入 py3.6.3 目录下的 Scripts 文件夹下。

2023-08-27 12:45:43 42836

原创 1. 深度学习介绍

计算机视觉面对的是图片,图片里面都是一个个像素,像素很难用符号学来解释,所以计算机视觉大部分用概率模型、机器学习来解释。② 感知类似我能看到前面有个屏幕,推理是基于我看到的东西想象未来会发生什么事,根据看到的现象、数据,形成自己的知识,知道所有知识后能进行长远的规划,未来怎么做。② 17年的时候,几乎所有的团队都可以做到5%以内的错误率,基本上可以达到人类在图片识别上的精度了。② IMAGENET是比较大的图片分类数据集,如下图所示,它包括了一千类的自然物体的图片,它大概有一百万张图片。

2023-08-27 12:38:54 43285

原创 15. 查看开源项目

② 如下图所示,Terminal终端运行.py文件时,--变量 后面的值是给变量进行赋值,赋值后再在.py文件中运行。例如 ./datasets/maps 是给前面的dataroot赋值,maps_cyclegan是给前面的name赋值,cycle_gan是给前面的model赋值。Terminal终端命令语句,如果不对该默认变量新写入,直接调用默认的参数;如果对该默认变量新写入,则默认的参数被新写入的参数覆盖。① 像运行Tensorboar一样,在Terminal终端,可以命令运行.py文件。

2023-08-27 11:47:04 42940

原创 14. 完整模型验证套路

训练次数:22200,Loss:0.42121270298957825。训练次数:10000,Loss:0.9259409308433533。训练次数:10300,Loss:0.9383634924888611。训练次数:10500,Loss:0.7797534465789795。训练次数:10600,Loss:0.9295462965965271。训练次数:10700,Loss:0.7535973787307739。训练次数:10800,Loss:0.8077783584594727。

2023-08-27 11:44:20 42979

原创 13. 利用GPU训练

训练次数:1300,Loss:1.6947956085205078。训练次数:1500,Loss:1.8372352123260498。训练次数:1700,Loss:1.6654351949691772。训练次数:1800,Loss:1.9246405363082886。训练次数:1900,Loss:1.7132933139801025。训练次数:2100,Loss:1.4903961420059204。训练次数:2200,Loss:1.4754142761230469。

2023-08-27 11:39:29 43055

原创 12. 完整模型训练套路

对于Dropout,model.eval()是利用到了所有网络连接,即不进行随机舍弃神经元。② tensor的requires_grad的属性默认为False,若一个节点(叶子变量:自己创建的tensor)requires_grad被设置为True,那么所有依赖它的节点requires_grad都为True(即使其他相依赖的tensor的requires_grad = False)在model(test)之前,需要加上model.eval(),否则的话,有输入数据,即使不训练,它也会改变权值。

2023-08-27 11:27:35 43105

原创 11. 网络模型保存与读取

---> 2 model = torch.load("./model/tudui_method1.pth") # 无法直接加载方式一保存的网络结构。② 再运行下面的代码,即下面为第1个代码块运行,无法直接导入网络模型。① 点击 Kernel,再点击 Restart。

2023-08-27 11:07:41 43239

原创 10. 网络模型使用及修改

【代码】10. 网络模型使用及修改。

2023-08-26 16:46:21 44628

原创 9. 优化器

① 损失函数调用backward方法,就可以调用损失函数的反向传播方法,就可以求出我们需要调节的梯度,我们就可以利用我们的优化器就可以根据梯度对参数进行调整,达到整体误差降低的目的。② 梯度要清零,如果梯度不清零会导致梯度累加。

2023-08-26 16:40:43 44678

原创 8. 损失函数与反向传播

① 反向传播通过梯度来更新参数,使得loss损失最小,如下图所示。② Loss损失函数另一方面为我们更新输出提供一定的依据。① Loss损失函数一方面计算实际输出和目标之间的差距。① L1loss数学公式如下图所示,例子如下下图所示。① MSE损失函数数学公式如下图所示。① 交叉熵损失函数数学公式如下图所示。

2023-08-26 16:34:29 44924

原创 7. 搭建网络

① 在 Anaconda 终端里面,激活py3.6.3环境,再输入 tensorboard --logdir=C:\Users\wangy\Desktop\03CV\logs 命令,将网址赋值浏览器的网址栏,回车,即可查看tensorboard显示日志情况。① 把网络结构放在Sequential里面,好处就是代码写起来比较简介、易懂。② 可以根据神经网络每层的尺寸,根据下图的公式计算出神经网络中的参数。

2023-08-26 16:19:13 44007

原创 6. 激活层

① 在 Anaconda 终端里面,激活py3.6.3环境,再输入 tensorboard --logdir=C:\Users\wangy\Desktop\03CV\logs 命令,将网址赋值浏览器的网址栏,回车,即可查看tensorboard显示日志情况。① inplace为原地替换,若为True,则变量的值被替换。若为False,则会创建一个新变量,将函数处理后的值赋值给新变量,原始变量的值没有修改。6.2 tensorboard显示。

2023-08-26 16:10:10 45101

原创 5. 线性层及其他层

① 在 Anaconda 终端里面,激活py3.6.3环境,再输入 tensorboard --logdir=C:\Users\wangy\Desktop\03CV\logs 命令,将网址赋值浏览器的网址栏,回车,即可查看tensorboard显示日志情况。

2023-08-26 16:05:16 44370

原创 4. 池化层相关概念

① 在 Anaconda 终端里面,激活py3.6.3环境,再输入 tensorboard --logdir=C:\Users\wangy\Desktop\03CV\logs 命令,将网址赋值浏览器的网址栏,回车,即可查看tensorboard显示日志情况。④ 池化使得数据由5 * 5 变为3 * 3,甚至1 * 1的,这样导致计算的参数会大大减小。例如1080P的电影经过池化的转为720P的电影、或360P的电影后,同样的网速下,视频更为不卡。③ Ceil_model为当超出区域时,只取最左上角的值。

2023-08-26 15:56:30 45672

原创 3.卷积层相关概念

① 在 Anaconda 终端里面,激活py3.6.3环境,再输入 tensorboard --logdir=C:\Users\wangy\Desktop\03CV\logs 命令,将网址赋值浏览器的网址栏,回车,即可查看tensorboard显示日志情况。② kernel_size在训练过程中不断调整,定义为3就是3 * 3的卷积核,实际我们在训练神经网络过程中其实就是对kernel_size不断调整。① Conv1d代表一维卷积,Conv2d代表二维卷积,Conv3d代表三维卷积。

2023-08-26 15:50:43 44602

原创 2. 步幅、填充原理

例子4:一个特征图尺寸为6 * 6的输入, 使用3 * 3的卷积核,步幅=2,填充=1,输出的尺寸=(6 + 2 * 1 - 3)/2 + 1 = 2.5 + 1 = 3.5 向下取整=3(降采样:边长减少1/2)。例子2: 一个特征图尺寸为5 * 5的输入,使用3 * 3的卷积核,步幅=1,填充=1,输出的尺寸=(5 + 2 * 1 - 3)/1 + 1 = 5。例子1:一个特征图尺寸为4 * 4的输入,使用3 * 3的卷积核,步幅=1,填充=0,输出的尺寸=(4 - 3)/1 + 1 = 2。

2023-08-26 15:41:18 44120

原创 1. 卷积原理

② 下图为每次滑动移动1格,然后再利用原图与卷积核上的数值进行计算得到缩略图矩阵的数据,如下图右所示。① 卷积核不停的在原图上进行滑动,对应元素相乘再相加。

2023-08-26 15:34:37 45131

原创 手把手教你用python演奏音乐(以富士山下为例)

这两天,我非常无聊,琢磨出了十二平均律,并利用mido库进行编写,实现了利用python演奏音乐。废话不多说了,直接上代码,供诸位大佬把玩。

2023-08-11 16:41:23 59270 1

原创 135.78秒教你在Linux(Jetson nano)中设置python程序开机自启

可以理解为这里面写的就是在终端输入的命令,有时用到sudo命令需要输入密码。所以要想在Jetson nano板子中开开机自启,必须先清除掉密码。PS:由于这篇博客是前几天内容的复盘,所以相关步骤没有截图,请各位大佬海涵。在注释中可填可不填,建议写:gosling123456yyds。在名称中填写start,当然,你也可以写其他的,没所谓的。这样一来,start.sh文件就有了读写权限了。点击添加/Add选项,进入下图所示页面。之后点击保存就OK了。

2023-08-06 10:19:52 64249 2

原创 一分钟让你学会如何在Linux操作系统下取消登陆密码

最近笔者在做一个利用 Jetson nano视觉处理的比赛,要求脱机(电脑)运行,因此我们的程序需要开机自启。在百思不得其解中,我们发现了解决之道。废话不多说,一起来进步吧。

2023-08-06 10:09:56 64425 3

原创 列表全排列

【代码】列表全排列。

2023-07-24 16:04:49 72799

原创 Leetcode(力扣)刷题第11题——盛最多水的容器(双指针)

Leetcode(力扣)刷题第11题——盛最多水的容器(双指针)

2023-07-23 18:45:11 73535 2

原创 Leetcode(力扣)刷题第9题——回文数(一行代码搞定)

给你一个整数 x ,如果 x 是一个回文整数,返回 true;否则,返回 false。从左向右读, 为 -121。从右向左读, 为 121-。因此它不是一个回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。从右向左读, 为 01。因此它不是一个回文数。例如,121 是回文,而 123 不是。

2023-07-23 18:31:12 73591

原创 Leetcode第8题-字符串转换整数 (atoi)

一行秒杀力扣中等难度题8

2023-07-23 18:20:15 73538

原创 Leetcode第1题两数之和

秒杀力扣第一题

2023-07-23 18:04:56 73645

原创 Leetcode第70题斐波那契数列

今天在耍leetcode第70题的时候总是提示要么超时,要么空间超了。然后我就很不开心了,抄起数字就推导斐波那契数列通项公式,参考了知乎大神的思路,过程如下:

2023-07-22 21:04:59 74638

原创 30行代码让你轻松玩转Yolov5

突然有个小伙伴私信我,说在搞项目的时候根本不需要那么多烦人的Yolo文件。他问我是否能提供一个简明易懂的Yolo教程。就在今天,他闪亮登场了……

2023-06-26 21:09:31 92330 3

原创 一行代码让你将项目的pip环境复制下来(pip生成requirements.txt文件)

注意:如果项目所在的文件夹中已经存在requirements.txt文件,执行上述命令时会提示警告信息:"WARNING: requirements.txt already exists, use --force to overwrite it"。请注意,将.txt文件移植到新环境中只会安装你在原始环境中使用"pip install"等命令直接安装的包,而使用"conda"等方式安装的包将不会被移植过来,你需要重新安装这些包。这将在项目所在的文件夹中生成requirements.txt文件。

2023-06-24 15:19:09 93526 1

原创 一行代码让你将项目的conda环境复制下来(conda生成environment.yaml文件)

请注意,将.yaml文件移植到新环境中只会安装你在原始环境中使用"conda install"等命令直接安装的包,而使用"pip"等方式安装的包将不会被移植过来,你需要重新安装这些包。要重新创建该环境或者使用别人提供的.yaml文件来复现环境,可以使用以下命令来安装所需的环境配置。将现有的Conda环境导出,并将环境保存在一个名为"environment.yaml"的文件中。

2023-06-24 15:06:46 93360 7

vncviewer.exe

vncviewer.exe

2023-09-11

11111111113动物大转盘.py

11111111113动物大转盘.py

2023-09-11

Unbuntu必要设置.md

Unbuntu必要设置.md

2023-09-11

大学期间对数据库的配置做的总结

大学期间对数据库的配置做的总结

2023-09-11

大学期间对于Linux开发做的一些小小总结

大学期间对于Linux开发做的一些小小总结

2023-09-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除