- 博客(29)
- 收藏
- 关注
原创 顺序生成迭代的文件名
当触发某个条件时,需要新建一个节点/项目,类似于在一个文件夹里创建一个文件,该文件需要满足顺序,比如:文件a(f1)、文件a(f2)、文件b(f3)…现在如果新增一个文件,需要按照顺序添加进去,这里发现有f1,有f3,没有f2,因此新文件的名字是:文件x(f2).这些文件可以重命名,可以改成任意的,更改后的名字例如:文件a(f1)、2、文件b(f3)…
2025-03-03 11:48:29
191
原创 Qt中将QStackedWidget组件中的页设置跟随主窗口大小
新建的页(qt默认显示page_*),如下图所示,会有红色的禁止符号据说是没有设置布局之类的。并且,拖进去的控件没办法对齐(好像是固定了一样),也不会随着主窗口放缩而改变。
2024-12-11 18:33:45
415
原创 KMP算法-Python
今天实现以下经典的字符串匹配算法-KMP算法,大概意思是给你一个长的字符串(母串),在给你一个子串,求出子串是否在母串中,如果在,返回在母串下标,不在,按题目要求返回即可。具体原理比较复杂,大家可以去哔哩哔哩找视频看,我是看懂了一遍后,直接把代码记住。
2023-09-12 11:01:55
158
原创 Python简单的多进程操作
功能是使用multiprocessing.Process类,第一个参数传递函数名(注意函数名不能带(),会导致多进程失效),第二个参数是你要实现多进程函数里带的参数,应为函数名里不能带括号(只能写eat,不能写eat()),所以在args选项里填参数,并且得是可迭代对象。
2023-08-01 10:59:58
187
原创 Python列表for循环按要求删除元素值
显然并不正确,这种方法不适合去除所有的符合要求的值,得用while循环,控制迭代器的迭代,他这个迭代器是一直向后的,一旦遇到重复值时,就会略过,比如你删除了2,但迭代器会增加1,恰好原本位置的2前移,就错过了。问题:给定一个列表,想要删除所有符合要求的值?所以for循环中删除列表的元素需要注意。
2023-07-09 18:21:29
488
原创 python读取ply格式的3D模型文件
在研究生的一些项目中,会用python语言读取3D模型,3D模型通常有很多种类,但我的研究领域,通常用到ply格式的文件,因此,我今天晚上写一个博客来实现用python读取3D模型。上图中,有用的只有数据行里的签上列,也就是x、y、z坐标,3个合在一起就是一个点的坐标,得到所有点的坐标(往往得上千个)。我的项目是位姿估计,往往用到3D模型,一般在数据预处理的时候用,代码通常在dataset之类的文件中。显然调库的方式更简单,代码少,出问题的概率也比较小。
2022-10-19 22:20:23
4379
原创 文件或目录损坏其无法读取问题解决方法2022-9-15
今天用TF卡(SD卡也一样)连接iPad时,我删除一些文件,结果导致无法读取某个文件目录,结果显示:文件或目录损坏其无法读取等问题(大概之类的提示),据查证,是文件系统的分区表损坏(大概那个意思,具体表达可能不对),解决方法很简单:按Windows + R键,输入cmd,打开,然后输入:
2022-09-15 19:45:03
1788
1
原创 VM16虚拟机安装Ubuntu22.04系统2022-07-10
本教程较为详细的介绍了按装最新的Ubuntu系统。1.进入vm16软件如下图:2.左上角点击文件,然后点击新建虚拟机。3.弹出此界面,默认是典型即可,然后点下一步。4.选择稍后按装操作系统,点下一步。5.选择linux的Ubuntu64,点下一步(如果是安装别的操作系统,那么就选择其他的,比如想装MacOS,那么就选择MacOS即可),点击下一步。6.对这个虚拟机起名(没有太多讲究),然后选择一个文件夹,建议非系统盘(通常是C盘),最好新建一个文件夹来存放(文件可能会多和乱),点下一步。7.分
2022-07-10 23:58:50
2826
原创 PPT视角校正应用设计与实现
对于这样一张图,图片里面的PPT内容存在视角不正,图片大小不一,偏转等问题,PPT视角校正的用处就是把下面的图片变成大小统一,无偏转,视角对正的图片。下图是视角对正的图片:具体代码稍后公布......
2022-06-23 13:08:22
347
原创 json.decoder.JSONDecodeError: Extra data: line 2 column 1 (char 992)问题解决方法,读取多个json对象
在用Python中json.load()方法读取json文件时产生了这个错误,原因是这个方法只能读取一个json对象,换句话说只能读取一个花括号里的内容,但是绝大部分的json文件都是好多个json对象的,也就是有好多组花括号,这个时候json.load()方法就不在适用了(其只能读取单个json对象)。下面代码是我的json文件的一个截取,里面有5个对象。怎么办,用新的方法来读取,导入jsonlines包在虚拟环境中输入:这里对json文件的格式输入有要求,每一个json对象后面要加入一个“\n”换
2022-06-17 11:33:59
3480
原创 浅谈深度学习中数据集离线增强和在线增强
伏公子今天读了一篇文章,看到了在线数据增强这个名词,感到很困惑,因此探索了一下,把自己理解的写在这里,伏公子不会去讲定义,只会讲容易理解的解释。这个在线和离线和我们的是否上网没关系,和QQ的在线状态和离线状态毫无关系,其实我觉得这个在线和离线这个名字起的非常不好,还不如叫静态数据增强和动态数据增强更加形象。离线数据增强简单来说,就是把已有的数据进行一些增强(比如,裁剪、旋转、缩放、对比度、光照、镜像、颜色、拉伸等),然后存储起来,放到硬盘中,等需要用的时候,放到运行内存或者是显存中使用。举个例子,比
2022-05-26 16:56:02
2354
2
原创 PVNet位姿估计网络简单复现2022-5-21
结果图说明本博客编写于2022年5月21日,复现时间是2022年5月20日,复现网络是PVNet。环境unbuntu18.04.6LTScuda版本10.2gcc版本7.5.0python版本按照需要采用的是3.7GPU:GTX1070CPU:i7其他配置和要求的应该一样了所需资源下载项目总地址:https://zju3dv.github.io/pvnet/论文:https://arxiv.org/pdf/1812.11788.pdf代码:https://github.com/
2022-05-21 10:36:02
3578
26
原创 安卓添加快捷方式
长按APP图标时,出现一些选项,比如长按微信就有的扫一扫本博客编写与2022年5月6日,安卓版本为安卓12。效果类似于相机这样的,具体我的忘记截图了。首先,在res/values/strings.xml中写:(具体写什么看你自己,核心是:最多写4组名字,每组一个长标题,一个短标题,最多共计8个,当然仅写一组也可以。如果长标题过长,手机就会显示短标题,因此往往短标题要小于长标题,但我的例子中,标题都很短,因此名字都一样,具体命名非常随意)。 <string name="one">专业
2022-05-06 13:25:06
1205
原创 VMware16虚拟机安装Ubuntu20.04操作系统2022-04-17
下载VMware16软件请看我的另外的博客:下载VMware16软件下载Ubuntu操作系统下载选择一个喜欢的版本即可安装虚拟机点击创建新的虚拟机,然后选择典型的即可,然后点下一步。点击最下面的稍后安装操作系统。选择linux系统,选择Ubuntu64位的(这里匹配你的虚拟机系统,如果选项里没有自己下载的操作系统新,那么就选择这里能选择的最新的,比如:装MacOS12时,这里最大只有MacOS11的,那么就只能选这个最新的MacOS11),然后点下一步。题外话:如果想要安装MacOS操
2022-04-17 16:58:43
1615
原创 pip使用(持续更新)
更新pip这个方法可以不会出问题,用pip直接更新的话据说会有问题。python -m pip install --upgrade pip
2022-04-11 14:00:37
713
原创 下载官方Windows11镜像
直接去官网网址:官网网址非常建议选择第一个,这个版本可以在虚拟机用,有多种版本,比如专业版、家庭版本等。点击下载,然后会让你选择语言。点击确认后点击64 bit Download,就开始下载了,速度一般快,大概1-2MB/S。...
2022-04-08 18:50:02
750
原创 Android Studio BumBleBee导入OpenCV-2022-03-28
说明本博客编辑时间为2022年3月末,采用的系统是win10,IDE是Android Studio BumBleBee(目前最新稳定版),OpenCV版本是4.5.5。OpenCV下载地址:点击下载OpenCV按照提示下载即可(官网下载可能会慢,但是我建议官网下载,大概200-300MB),下载的是zip格式安装包,下载好后解压到某个位置即可(建议目录为英文)。注:随着版本迭代,下面的具体步骤和界面可能会不太一样,但大概流程是差不多的注:网上大多数博主的方法,我都试过了,不好使,可能是他们用的版本太
2022-03-28 20:55:40
7202
3
原创 DenseNet手写数字识别练习Pytorch实现
伏公子今天看了DenseNet的论文,决定复现一下这个极为先进的网络。这个网络在某年的CVPR上获得了最佳论文,比ResNet还要好。具体原理不是本文想要讲得,本文主要是复现代码。DenseLayer层:这个是最基本的层,代码如下:class DenseLayer(torch.nn.Module): def __init__(self, input_features_num, grow_rate, bn_size, drop_rate): super().__init__()
2021-12-11 20:59:25
2538
2
原创 卷积神经网络经典应用手写数字识别练习
今天,我用卷积神经网络练习手写数字识别,这是一个早期非常经典的人工智能应用,相信友友们都不陌生,就是像这种的图片,让AI来识别,识别率非常高。上边2个图是最终结果,可以看到,接近100%。步入正题,首先,我们得自己写个类,定义自己的卷积神经网络模型,如下图:import torch.nnimport torchvisionimport torch.utils.dataclass CNN(torch.nn.Module): def __init__(self): s
2021-11-27 20:51:12
610
原创 AttributeError: ‘MSELoss‘ object has no attribute ‘backward‘解决方案
这个问题我亲身经历,搞了好久,才发现错误,根本原因就是对代码,pytorch等的原理理解不够深入。my_loss(my_y, y)函数忘记给返回值(loss)了,还错误的把my_loss进行backward操作了,因此MSELoss对象没有backward,正确解决办法如最下面的图,loss = my_loss(my_y, y)给个返回值,然后在写loss.backward()方法错误写法如下:my_loss = torch.nn.MSELoss()for my_step in range(max
2021-11-26 20:10:08
8127
1
原创 pytorch中view函数的常用写法解释
下图是一个简单的神经网络(不是CNN),他是用来拟合一个抛物线的,但是本文的重点是forward函数中的x.view(-1, n)函数,很多时候你会发现许多的网络都是这么写的,2个参数值里有一个-1,另外一个是正数,view函数是不改变数据的情况下任意修改Tensor的形状(你不妨认为你的Tensor是106块麻将结合到一起,你可把它摆放成一个长条的,也可以堆成堆,总之还是那些牌,还是106块)。-1代表的意思是不确定,主要依据那个非-1的参数,在本例中,就是依靠那个n,就是只要保证列数是n即可,行数随意
2021-11-26 19:59:59
1489
原创 Pytorch神经网络拟合抛物线(二次曲线)
本文是利用pytorch中神经网络来对一条抛物线进行拟合,这种拟合相对简单,在很多教材中往往都是用numpy或者自定义的方式求出w和b值来拟合。class MyCNN(torch.nn.Module): def __init__(self, in_cheng, hid_cheng, out_cheng): super().__init__() self.incheng = torch.nn.Sequential( torch.nn.Linea
2021-11-26 17:07:57
3368
4
原创 TensorFlow2.2.0无法用GPU且提示缺少cudart64_101.dll的解决办法(本人已解决)
在用TensorFlowGPU版本训练模型时,运行后发现电脑跳过跳过了GPU,用的CPU运行,这时运行速度会非常慢.虽然能够运行,但是会弹出错误:缺少cudart_101.dll,所这个文件没有找到。其实这个问题的根本原因是:下载的TensorFlow和CUDA不匹配,比如TensorFlow2.2.0系列的应该和CUDA10.1匹配,好像TensorFlow2.3.0系列才会匹配CUDA10.2(我的另外的电脑用的2.3.0版本就不会有这个问题,虽然看官网说2.3.0也是适配10.1)。如果仔细观察,你会
2021-11-22 14:10:16
3679
2
原创 ZED双目相机安装包
最近在做双目相机的项目,发现这个ZED官网特别卡,下载特别费劲,这里给一个安装包SDK,CUDA10.2–X64版本。有需要的可以下载。百度网盘分享:链接:https://pan.baidu.com/s/1EEglb9f6VyqqHiiW6o1fxA提取码:u6f7...
2021-10-30 18:24:55
406
原创 OpenCV中将Mat RGBA4通道转换成RGB3通道
在OpenCV中,有一种数据结构是Mat,我们一般会定义一个frame的变量,这个变量可以是4通道的,也可以说3通道的。前不久在一个项目中遇到了这个问题,要求是用ZED相机来实时拍摄视频并实时显示。ZED相机中的Mat是4通道的,虽然也可以调用3通道的模式,但是调用3通道的模式有问题。如果将ZED中sl转化成OpenCV格式后的image_ocv直接转换成3通道模式的话,会导致预览窗口只有一帧画面卡死,不会连续采集图像。所以将ZED相机中的sl::Mat结构(image_zed)先变成OpenCV的Mat
2021-10-30 17:03:57
9077
3
原创 Assimp库支持导入的3D文件格式
Assimp库支持导入的3D文件格式采用assimp库,用函数的方法打印出可以导入的模型格式,非常具有可信性,我看有些博主写的根本不对,这个库不支持导入fbx格式文件。
2021-04-13 08:49:31
426
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人