- 博客(74)
- 资源 (1)
- 收藏
- 关注
原创 Python 多层BP神经网络的实现及应用
Python 多层BP神经网络的实现及应用神经网络前向传播(Forward propagation)反向传播(Error Back propagation)Python代码实现BP神经网络在深度学习中,其中一种网络架构是前向传播——反向传播,本文就讲解一下反向传播算法(Error Back Propagation),并用Python在不调用深度学习库的情况下实现BP算法的三角函数拟合。
2020-12-20 15:02:35
3468
4
原创 (C/C++)初识单向链表
(C/C++)初识单向链表第一次写博客,如果写得不好请谅解,欢迎大佬们一起交流讨论。 在我初学链表的时候,会觉得书上讲解十分抽象,理解到头炸,在通过做题的方式后,对链表又产生了新的认识和看法,使用链表的方式更加灵活了,通过这篇文章与大家分享一下单向链表的一些知识。 本文章主要讲单向链表: - 创建 - 输出 - 排序 - 插入 - 删除 - 清空
2018-03-13 00:47:04
11010
12
原创 pveproxy 无响应不能访问web
显示在管理 VMA(虚拟内存区域)树时崩溃,通常由内核 bug、内核模块(第三方驱动)或内存损坏触发;PVE Web 面板突然打不开,浏览器一直 loading,SSH 登录还算正常,下面的虚拟机也能登录。这就已经能说明,问题不只是 pveproxy 这个服务挂了,而是 systemd 也被拖住了。结果没有任何响应,连报错、超时、提示都没有,直接挂起。重启后建议检查文件系统,看上一次启动前的崩溃/重启原因。: 如果有特定进程卡住,可以直接看内核栈。: 如果还能用,找出挂住的进程。重启,结果命令无法执行。
2025-10-18 19:10:04
487
原创 1panel docker开启swap内存
容器的 Swap 空间来源于宿主机,先确认 /etc/fstab 中存在 Swap 文件配置。表示限制容器使用物理内存上限400MB,物理内存加Swap总内存是1424MB。验证 /etc/fstab 文件,如果没有就最后添加。(在某些较新的发行版或虚拟化环境中)在docker run创建容器中添加。这里从设置4GB的swap,并开启。临时修改 swappiness。永久修改 swappiness。这个修改在系统重启后会失效。
2025-10-18 16:07:36
264
原创 github断开Fork关系
如果已经在 GitHub 上成功 fork 了仓库,并且想要断开它与原仓库的关联,使其成为一个独立的仓库,GitHub 允许执行此操作。3、找到危险区域(Danger Zone): 在左侧导航栏中选择 General(或直接滚动到页面底部)2、进入设置: 点击仓库名称下方的 Settings 标签。4、选择 Leave fork network。1、访问 Fork 仓库。
2025-10-14 00:21:34
553
原创 Docker中使用gosu
在 Docker 镜像中启动服务时,我们通常不希望以root身份运行主进程。sudogosu是一个非常轻量的工具,功能类似sudo,但不会产生额外进程,非常适合在 Docker 容器中用来切换用户。
2025-10-09 09:36:54
646
原创 爱发电nginx转发企业微信webhook
由于爱发电的webhook格式,与企业微信的webhook格式不一致,因此我将介绍如何使用nginx来实现中间件修改内容。
2025-10-06 22:25:25
1136
原创 PVE新增硬盘
最后在“数据中心-存储”添加目录,所有内容的类型都可以选择,保存后就可以看到新增的存储。Directory / ZFS / CIFS / NFS:可以存 ISO、备份、模板。挂载方法一:这种缺点是用盘符加载,如果下次重启盘符变了,就会找不到设备。用作 LVM:注意LVM模式只支持磁盘映像和容器,不支持备份存ISO。然后到PVE界面,在节点“硬盘-LVM”中可以看到新的硬盘加载。最后在“数据中心-存储”添加LVM,保存后就可以看到新增的存储。如果能看到新硬盘,就证明硬盘硬件已经安装完成。
2025-09-30 09:19:31
2052
原创 PVE更换系统盘
本文介绍了使用Debian Live更换Proxmox系统盘的步骤:首先准备启动盘并识别新旧硬盘;清理新盘残留数据后,创建分区和LVM结构;通过rsync复制系统数据;最后进入chroot环境修复引导配置。整个过程包括分区处理、数据克隆和引导修复等关键操作,确保新硬盘能正常启动原有系统。操作完成后需卸载分区并重启,检查虚拟机是否正常运行。
2025-07-14 09:26:11
1248
原创 VS Debug的条件断点 (深入浅出判断string)
VS Debug的条件断点 (深入浅出判断string)条件断点判断字符串相等错误案例错误案例1错误案例2错误案例3可执行写法正确用法1正确用法2分析string条件断点运行环境:Windows10Visual Studio 2019编译器默认C++Debug的条件断点的打开方式:断点右键-选择条件使用这种方式可以减少用修改源码来断点。条件断点是在断点处的约束触发条件,并且可以设置断点忽略次数,条件断点在多线程上也能使用,可以线程ID用来分离线程(只在指定的线程中断点)断点优先级:
2022-05-11 00:54:39
6494
3
原创 Conan安装和使用
Conan安装和使用安装pip install conanpip install conan --upgrade # 更新需要管理员权限client配置文件位置%USERPROFILE%\.conan\ 目录下的 conan.conf 文件修改包储存目录和下载缓存目录[storage]path = ./datadownload_cache = ./download_cache包查询# 检索远程conan search [PACKAGE_NAME] --remote=conan-c
2022-04-28 00:03:35
3089
2
原创 Python bitmap转byte, Mat
Python bitmap转Mat我相信能发现这个问题的都是在玩pythonnet,并尝试把Bitmap转成OpenCV使用。C#的话,OpenCV用的是Mat,Bitmap转成CV::Mat后,OpenCV可以直接使用。Python的话,cv2虽说用的是UMat,但是可以用np.ndarray类型,因此可以通过byte[]来进行转换。目前我用的最快做法是第一种,但我相信还有更快的做法:import clrfrom System import Bytefrom System.IO import
2022-04-26 14:42:53
3929
原创 python 获取本地USB摄像头列表
python 获取本地USB介绍WMIAForge开启虚拟摄像头OBSpyvirtualcam其他介绍最近想写IM聊天室,需要了解一些基础,顺便打算把以前挖的坑给填了。在去年有水一篇:《Python Opencv暴力获取所有相机》这份代码是我前年写的,当时是项目需要,语言用的就是Python,由于当时就只知道Python中可以用OpenCV调用摄像头,并且网上千篇一律都是用OpenCV调用摄像头,我不排斥技术,我排斥的是这些文章重复率太高了,甚至里面存在bug,但是没人点出来。(这个bug指的是op
2022-04-26 14:15:13
6587
原创 PyQt 多线程应用
最近重新学了Qt多线程,对多线程的逻辑有了新的认识,因此写了这样一个程序来证明我的认识是对的,这个程序的代码量不多,主要侧重点在设计方面,因为设计问题我代码改版了三次,花费近两周时间才完成并且修复了所有测试的bug。(PS:如果有人对这份代码感兴趣,并且运行后发现bug,可以告知我及时修正它)代码在我的github:https://github.com/Yundi339/PyQt_Multi-Thread...
2022-04-18 15:57:49
509
原创 Pycharm 配置Qt5&Qt6的QtDesigner
Pycharm 配置Qt5&Qt6的QtDesigner安装PyqtPyQt5PyQt6Pycharm配置DseignerPyuic安装PyqtPyQt5cmd安装PyQt5pip install PyQt5pip install PyQt5-toolsPyQt6cmd安装PyQt6pip install PyQt6pip install PyQt6-tools我装在Anaconda的默认环境中,如果装在其他环境,记得去对应环境下的目录找Pycharm配置File =&g
2022-04-16 19:53:02
1701
原创 Qt 线程和信号槽的简便用法movetothread
线程写法过去的写法,子类化QThread,重写run函数,整个线程只运行run函数。class MyThread : public QThread {public: MyThread() {} void run(){ while(isRun){ ... } };};这样写没问题,但是导致单个线程维护单个实例。原来的QThread类是抽象的,必须子类化,Qt4.4后,,QThread::run()默认实现,再加上信号槽连接,能够有更加便捷的
2022-04-15 22:54:42
1663
原创 C++ lambda递归
c++ lambda的匿名特性,无法直接在lambda内部递归调用自身。借助std::function,这是一个可调用对象包装器,可以容纳除了类成员函数指针以外所有的可调用对象,适合作为回调函数使用。Leetcode 47 全排列II题目:给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。第一种写法,直接用function包装,lambda通过[&]捕获引用,进而实现递归调用,缺点就是这种写法一定要有个返回值类型,对于void要改成返回bool。class S
2022-04-06 16:17:30
3575
原创 C++ copy和move中back_inserter的使用
使用copy和move将vector中的元素拷贝/移动到另一个vector中:vector<int> v1 = { 1,2,3,4,5};vector<int> v2;std::copy(v1.begin(),v1.end(),v2.end());std::move(v1.begin(),v1.end(),v2.end());// 有未经处理的异常: 将一个无效参数传递给了将无效参数视为严重错误的函数。copy和move都需要使用者保证容器的大小,像下面这样,先改变输
2022-04-04 22:30:55
1910
原创 C++ 自定义String类
C++ 自定义String类 思考类的声明_CompareLength_SetString_MoveString_UnSafeMoveString构造函数和析构函数重载 = 操作符重载+=操作符重载+操作符重载中括号重载==操作符重载输入输出流完整代码想要实现高级的 String 类还挺复杂的,C++ 和 C# 不一样,许多模块都需要自己来解决内存问题,并且如何提高内存空间的利用效率,调用函数是否触发拷贝构造函数,触发拷贝构造函数时又该如何避免重复的内存释放。
2022-02-22 01:06:02
3563
原创 C++ bitset的使用
C++ bitset库的使用bitsetbitset初始化1.构造2.整数初始化3.字符串初始化4.自定义符号初始化常用1. == 和 !=2. test 获得指定位的值3. size 获得长度4. all, any, none5. count 计算1的个数6. set 设为true/17. reset 设为false/08. flip 取反9. to_string 转字符串10. to_ulong,to_ullong 转整数操作符
2022-01-16 15:19:32
1849
原创 PyQt 使用QMessageBox不堵塞父进程
PyQt 使用QMessageBox不堵塞父进程问题描述原因分析解决方案问题描述在窗口中,有两个事件:1.编辑label后,点击空白位置会自动触发参数修改函数,如果参数有问题会弹出一个弹窗警告2.button按钮,点击按钮会触发点击事件(与1的功能不一样)错误修改label的值后,直接点击button按钮:弹出一个弹窗警告,然后button的点击事件没有触发原因分析弹窗警告使用了:QMessageBox.warning(self, 'warning','warning message')
2022-01-04 23:27:07
4939
8
原创 windows问题
windows问题右键“打开方式”导致资源管理器卡死文件资源管理器扫描很久Chrome打开页面很慢windows沙箱锁屏壁纸模糊关闭部分特效cmd管理员模式Everything选项电脑死机自动重启PING不通/局域网FTP连接不上PSTool
2021-11-21 17:41:40
1538
原创 ACM 矩阵变化还原
ACM 矩阵变化还原 题目问题思考解决方案实现题目假设有这样一个2*2矩阵,分为有ABCD四个区域每次变化使矩阵的尺寸变大一倍,例如22矩阵第一次变化为44矩阵,第二次变化为8*8矩阵,即第n次变化后矩阵的尺寸为2的n+1次方设原始E为[a,b,c,d],变化前的矩阵为Ei,每次变化,矩阵4个区域尺寸为之前2的n+1次方,并且矩阵内的数值根据以下规律变化:A = EiB = Ei + bC = Ei + cD = Ei + d例如:ABCD为1 4 2 3的矩阵,第
2021-10-26 13:01:35
467
原创 Python basemap地图可视化
Basemap是可视化库Matplotlib的拓展包,可以绘制二维地图下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/下载 安装 使用pip install pyproj-1.9.5.1-cp36-cp36m-win_amd64.whlpip install basemap-1.1.0-cp36-cp36m-win_amd64.whlfrom mpl_toolkits.basemap import Basemap
2021-10-25 22:50:28
999
原创 Pytorch 计算模型的FLOPs和参数量
安装:pip install ptflops单独使用:import torchfrom ptflops import get_model_complexity_infoflops, params = get_model_complexity_info(model, [1,32,32], as_strings=True, print_per_layer_stat=True)print(flops, params)批量处理:import torch, osfrom ptflops import
2021-10-25 20:33:53
1183
2
原创 PyQt 重载TreeWidget
PyQt 重载TreeWidget预览图:目的是将输入文件批量转换成Json文件,为了可视化处理,制作了一个界面来管理这些操作,主要难点是列表、列表子项、菜单之间的应用,每一个都需要重载下面是具体的代码,plainTextEdit就是转换后的Json文本class TreeWidget(QTreeWidget): def __init__(self, parent=None): super(TreeWidget, self).__init__(parent)
2021-10-18 19:41:14
876
原创 Python Opencv暴力获取所有相机
没找到opencv如何一次性获取所有相机的办法,因此用了一种很流氓的办法:打开所有相机因为opencv的相机列表是用number来访问的,所以只要从0开始遍历打开相机,只要打不开相机就停止这个代码是应用在pyqt上的,点击获取按钮,然后会将数组添加到combobox列表中,就可以查看并选择相机了from PyQt5 import QtCore, QtWidgets, QtGui, QtMultimediaimport cv2from PyQt5.QtMultimedia import QMedia
2021-10-18 19:16:01
2550
原创 Python 批量复制子文件 遍历删除空文件夹
一个文件夹有多个子文件夹和子文件,想要一次性找到出所有满足条件的子文件,并且把它们移动到指定文件夹里。下面的代码是以寻找文件大小大于file_size的图片为例# test.pyimport os, argparse, shutil, timedef get_img_file(file_name, file_size, output_path=None): image_input_list = [] image_output_file = [] # 有输出路径 if
2021-08-17 12:24:46
436
原创 C# treeview滚动条事件
C# treeview滚动条事件问题描述解决思路代码问题描述TreeView过长;不点击节点,鼠标滚轮可以让滚动条滚动;点击节点,按住不放,拖拽节点到页面外部,页面不会自动滚动,鼠标滚轮也不会让滚动条滚动。解决思路在查过官方文档就知道C#的treeview封装了滚动条事件,没有提供相应的api接口,想要重载滚动条的事件是行不通的。由于只有按住节点的时候才有这个滚动的需求,因此我想了一种“曲线救国”的方法:重载TreeView的拖拽事件。QueryContinueDrag(object sen
2021-08-09 12:59:47
2042
原创 关于OpenCV的坑
1. 无法修改摄像头参数2. 中文无法识别2.1 窗口中文标题无法识别2.1 中文路径无法识别3. 图片转BGR4. resize问题
2021-08-03 20:08:41
7780
2
原创 PyQt 记住上次打开路径
PyQt 记住上次打开路径文件对话窗:打开单个文件 QFileDialog.getOpenFileName() 打开多个文件 QFileDialog.getOpenFileNames() 打开文件夹 QFileDialog.getExistingDirectory() 文件保存 QFileDialog.getSaveFileName()getOpenFileNames函数表示打开多个文件getOpenFileNames(parent=None
2021-07-24 22:29:08
3172
原创 Pytorch 天池_工业蒸汽量预测
Pytorch 天池_工业蒸汽量预测1. 赛题介绍2. 数据说明3. 实验步骤3.1 数据清洗3.2 数据归一化3.3 数据划分3.4 建立模型3.5 训练参数3.6 运行代码3.7 实验结果1. 赛题介绍火力发电的基本原理是:燃料在燃烧时加热水生成蒸汽,蒸汽压力推动汽轮机旋转,然后汽轮机带动发电机旋转,产生电能。在这一系列的能量转化中,影响发电效率的核心是锅炉的燃烧效率,即燃料燃烧加热水产生高温高压蒸汽。锅炉的燃烧效率的影响因素很多,包括锅炉的可调参数,如燃烧给量,一二次风,引风,返料风,给水水量;以
2021-07-24 01:44:13
1707
2
原创 C++ 几个常用排序的代码
C++ 几个常用排序的代码冒泡排序选择排序插入排序希尔排序归并排序快速排序双路快排堆排序计数排序基数排序桶排序排序算法时间复杂度(平均)时间复杂度(最坏)时间复杂度(最好)空间复杂度稳定性冒泡排序O(n2)O(n^{2})O(n2)O(n2)O(n^{2})O(n2)O(n)O(n)O(n)O(1)O(1)O(1)稳定选择排序O(n2)O(n^{2})O(n2)O(n2)O(n^{2})O(n2)O(n2)O(n^{2})O(n2)O(1)O(1)O(1
2020-12-20 14:55:34
775
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅