自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 PyCharm无限创建Python进程故障总结

摘要:公司服务器因PyCharm无限创建python.exe进程导致系统故障,累计产生17,000+进程。根本原因是D:\uv\venv\pyvenv.cfg配置文件被错误修改,导致Python解释器初始化失败。故障链路显示,错误的home路径和version格式引发uv.exe调用失败,PyCharm错误重试机制导致进程无限累积。解决方案包括终止所有Python进程、删除错误虚拟环境并重新安装uv。该P0级故障影响所有用户和项目,表现为系统资源耗尽和Python命令无响应。

2026-05-11 09:44:14 390

原创 VMware 虚拟机安装Ubuntu26.04

本教程详细介绍了使用VMware Workstation Pro安装Ubuntu 26.04的完整流程。首先需下载Ubuntu 26.04的ISO镜像文件并保存。然后通过VMware创建新虚拟机,选择"稍后安装操作系统",配置适当的硬件参数(包括内存、处理器核心数和虚拟化选项)。接着挂载ISO镜像启动安装程序,按照图形界面指引完成分区、时区设置、用户创建等步骤。教程提供了详细的截图说明每个关键步骤,包括虚拟机配置界面和Ubuntu安装过程中的各个选项设置。安装完成后即可正常使用Ubunt

2026-04-24 10:47:59 327 2

原创 Python 36进制和10进制互相转换

本文介绍了10进制与36进制相互转换的方法。提供了两种实现方式:1) 使用Python内置函数int()和numpy.base_repr()的简洁方法;2) 通用算法实现。10转36通过除基取余法实现,36转10则采用逐位加权求和的方式。两种方法都支持0-9和A-Z的36进制字符表示,其中字母不区分大小写。代码示例清晰展示了转换过程和结果类型,适用于需要压缩数字表示或特殊编码的场景。

2026-01-14 09:31:45 243

原创 Python多进程用法举例(2026年持续更新)

本文分享了Python多进程编程的实用案例与注意事项。主要内容包括:1)基础Process类创建进程;2)进程池Pool的各种用法(map/imap/apply_async等);3)进程间通信方式(Queue/Pipe/Manager);4)同步原语(Lock/Semaphore)。特别提醒:使用gRPC异步服务时上下文切换可能变慢,且某些定制数据类型可能不支持多进程。文章通过代码示例展示了多进程编程的核心方法,适合开发者学习参考。

2026-01-09 09:20:00 1088

原创 Python实现3种禁止软件多开方法

文章摘要: 本文介绍了几种在Windows系统中实现程序单实例运行的技术方案。核心方法是使用Windows Mutex机制,通过三种不同的实现方式:1) 会话+用户隔离的命名Mutex,2) 全局单实例锁,3) 基于程序路径哈希的唯一实例锁。代码提供了完整的Python实现,包括获取会话ID、用户信息和路径哈希等辅助函数。使用时只需在主程序中调用相应函数并传入唯一应用ID即可。这些方案可以有效防止程序多开导致的资源冲突问题,特别适用于需要严格控制程序实例数量的场景。

2025-12-19 11:20:46 597

原创 Pycharm2025.3版本使用UV搭建项目

本文介绍了在PyCharm中使用UV工具加速Python包管理的步骤:1)安装2025.3+版本PyCharm;2)新建项目时自动下载UV并配置环境变量;3)在toml文件中设置阿里或清华镜像源提升下载速度;4)使用"uv"前缀命令替代"pip",速度提升显著(如某项目从30分钟缩短至1分钟)。文章强调UV支持项目级镜像配置,但需注意环境变量设置和PyCharm重启。

2025-12-17 11:03:01 908

原创 shapely库和gdstk库提取复杂自交多边形的方法

本文讨论了提取复杂自交多边形中所有子多边形的方法。当使用gdstk库进行布尔运算时,将同一个多边形同时作为两个参数传入"or"操作(gdstk.boolean(poly,poly,"or"))能正确提取全部5个子多边形;而传入空列表作为第二参数(gdstk.boolean(poly,[],"or"))则会导致错误结果。文中还提到shapely库的make_valid函数也可用于处理此类问题,但未展示具体实现。该技巧对于处理自交多边形的分解具有重要参

2025-09-10 15:37:10 226

原创 PyQt5实现自定义窗口和圆角矩形

使用PyQt5实现自定义标题栏和窗口圆角

2025-08-22 10:00:55 250

原创 pypiserver搭建轻量化Python镜像源

本文介绍了在内网环境下搭建私有Python镜像源的方法。首先在可联网电脑通过pip download下载所需whl文件(需指定Python版本避免不兼容),然后在内网服务器安装pypiserver服务,将whl文件拷贝至指定目录后启动服务(端口8088)。最后修改pip配置文件指向本地镜像源地址。文章特别提醒要注意Python版本匹配问题,若出现"Package not found"错误,很可能是版本不兼容导致。该方法解决了内网开发环境无法连接外网PyPI源的问题。

2025-08-12 17:01:31 524

原创 Mac电脑安装HomeBrew

输入以下代码:如下图所示按需要输入相应数字,这里我输入里1,如下图所示:输入开机密码,如下图所示:输入y,如下图所示:等待,可能需要6分钟左右,如下图所示:再次输入密码,如下图所示:选择一个源,这里建议选择阿里的源(这里说句题外话,如果有需要安装Python相关的包,最好也选择阿里的,目前体验下来比其他的源好一点),我这里输入5,入下图所示:等待···,时间不长,如下图所示:重启终端或输入终端里提示的代码以使相应配置生效,我选择了重启终端,如下图所示:自己可以验证一下brew是否安装成

2025-08-02 15:03:13 603

原创 顺序生成迭代的文件名

当触发某个条件时,需要新建一个节点/项目,类似于在一个文件夹里创建一个文件,该文件需要满足顺序,比如:文件a(f1)、文件a(f2)、文件b(f3)…现在如果新增一个文件,需要按照顺序添加进去,这里发现有f1,有f3,没有f2,因此新文件的名字是:文件x(f2).这些文件可以重命名,可以改成任意的,更改后的名字例如:文件a(f1)、2、文件b(f3)…

2025-03-03 11:48:29 264

原创 Qt中将QStackedWidget组件中的页设置跟随主窗口大小

新建的页(qt默认显示page_*),如下图所示,会有红色的禁止符号据说是没有设置布局之类的。并且,拖进去的控件没办法对齐(好像是固定了一样),也不会随着主窗口放缩而改变。

2024-12-11 18:33:45 785

原创 KMP算法-Python

今天实现以下经典的字符串匹配算法-KMP算法,大概意思是给你一个长的字符串(母串),在给你一个子串,求出子串是否在母串中,如果在,返回在母串下标,不在,按题目要求返回即可。具体原理比较复杂,大家可以去哔哩哔哩找视频看,我是看懂了一遍后,直接把代码记住。

2023-09-12 11:01:55 201

原创 Python简单的多进程操作

功能是使用multiprocessing.Process类,第一个参数传递函数名(注意函数名不能带(),会导致多进程失效),第二个参数是你要实现多进程函数里带的参数,应为函数名里不能带括号(只能写eat,不能写eat()),所以在args选项里填参数,并且得是可迭代对象。

2023-08-01 10:59:58 232

原创 Pytorch调用GPU的方法

Pytorch调用GPU有两种方法,一种是torch.cuda(),一种是torch.to()。

2023-07-09 23:35:00 4283

原创 Python列表for循环按要求删除元素值

显然并不正确,这种方法不适合去除所有的符合要求的值,得用while循环,控制迭代器的迭代,他这个迭代器是一直向后的,一旦遇到重复值时,就会略过,比如你删除了2,但迭代器会增加1,恰好原本位置的2前移,就错过了。问题:给定一个列表,想要删除所有符合要求的值?所以for循环中删除列表的元素需要注意。

2023-07-09 18:21:29 589

原创 排序算法(持续更新)

排序算法

2023-02-13 13:09:47 135

原创 基于RGB图像的实例级物体6D位姿估计研究

研究生工作之一数据集:LineMod框架:pytorchGPU:Tesla V100

2022-11-28 10:28:28 1157 1

原创 python读取ply格式的3D模型文件

在研究生的一些项目中,会用python语言读取3D模型,3D模型通常有很多种类,但我的研究领域,通常用到ply格式的文件,因此,我今天晚上写一个博客来实现用python读取3D模型。上图中,有用的只有数据行里的签上列,也就是x、y、z坐标,3个合在一起就是一个点的坐标,得到所有点的坐标(往往得上千个)。我的项目是位姿估计,往往用到3D模型,一般在数据预处理的时候用,代码通常在dataset之类的文件中。显然调库的方式更简单,代码少,出问题的概率也比较小。

2022-10-19 22:20:23 4701

原创 文件或目录损坏其无法读取问题解决方法2022-9-15

今天用TF卡(SD卡也一样)连接iPad时,我删除一些文件,结果导致无法读取某个文件目录,结果显示:文件或目录损坏其无法读取等问题(大概之类的提示),据查证,是文件系统的分区表损坏(大概那个意思,具体表达可能不对),解决方法很简单:按Windows + R键,输入cmd,打开,然后输入:

2022-09-15 19:45:03 2194 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 3057

原创 PPT视角校正应用设计与实现

对于这样一张图,图片里面的PPT内容存在视角不正,图片大小不一,偏转等问题,PPT视角校正的用处就是把下面的图片变成大小统一,无偏转,视角对正的图片。下图是视角对正的图片:具体代码稍后公布......

2022-06-23 13:08:22 500

原创 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 3672

原创 浅谈深度学习中数据集离线增强和在线增强

伏公子今天读了一篇文章,看到了在线数据增强这个名词,感到很困惑,因此探索了一下,把自己理解的写在这里,伏公子不会去讲定义,只会讲容易理解的解释。这个在线和离线和我们的是否上网没关系,和QQ的在线状态和离线状态毫无关系,其实我觉得这个在线和离线这个名字起的非常不好,还不如叫静态数据增强和动态数据增强更加形象。离线数据增强简单来说,就是把已有的数据进行一些增强(比如,裁剪、旋转、缩放、对比度、光照、镜像、颜色、拉伸等),然后存储起来,放到硬盘中,等需要用的时候,放到运行内存或者是显存中使用。举个例子,比

2022-05-26 16:56:02 2649 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 4027 26

原创 安卓添加快捷方式

长按APP图标时,出现一些选项,比如长按微信就有的扫一扫本博客编写与2022年5月6日,安卓版本为安卓12。效果类似于相机这样的,具体我的忘记截图了。首先,在res/values/strings.xml中写:(具体写什么看你自己,核心是:最多写4组名字,每组一个长标题,一个短标题,最多共计8个,当然仅写一组也可以。如果长标题过长,手机就会显示短标题,因此往往短标题要小于长标题,但我的例子中,标题都很短,因此名字都一样,具体命名非常随意)。 <string name="one">专业

2022-05-06 13:25:06 1335

原创 VMware16虚拟机安装Ubuntu20.04操作系统2022-04-17

下载VMware16软件请看我的另外的博客:下载VMware16软件下载Ubuntu操作系统下载选择一个喜欢的版本即可安装虚拟机点击创建新的虚拟机,然后选择典型的即可,然后点下一步。点击最下面的稍后安装操作系统。选择linux系统,选择Ubuntu64位的(这里匹配你的虚拟机系统,如果选项里没有自己下载的操作系统新,那么就选择这里能选择的最新的,比如:装MacOS12时,这里最大只有MacOS11的,那么就只能选这个最新的MacOS11),然后点下一步。题外话:如果想要安装MacOS操

2022-04-17 16:58:43 1705

原创 下载官方Windows11镜像

直接去官网网址:官网网址非常建议选择第一个,这个版本可以在虚拟机用,有多种版本,比如专业版、家庭版本等。点击下载,然后会让你选择语言。点击确认后点击64 bit Download,就开始下载了,速度一般快,大概1-2MB/S。...

2022-04-08 18:50:02 860

原创 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 7275 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 2689 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 658

原创 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 8377 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 1603

原创 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 3676 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 3867 2

原创 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 9328 3

空空如也

空空如也

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

TA关注的人

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