自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

云帝的博客

兴趣使然

  • 博客(60)
  • 资源 (1)
  • 收藏
  • 关注

原创 Python 多层BP神经网络的实现及应用

Python 多层BP神经网络的实现及应用神经网络前向传播(Forward propagation)反向传播(Error Back propagation)Python代码实现BP神经网络在深度学习中,其中一种网络架构是前向传播——反向传播,本文就讲解一下反向传播算法(Error Back Propagation),并用Python在不调用深度学习库的情况下实现BP算法的三角函数拟合。

2020-12-20 15:02:35 2769 4

原创 (C/C++)初识单向链表

(C/C++)初识单向链表第一次写博客,如果写得不好请谅解,欢迎大佬们一起交流讨论。 在我初学链表的时候,会觉得书上讲解十分抽象,理解到头炸,在通过做题的方式后,对链表又产生了新的认识和看法,使用链表的方式更加灵活了,通过这篇文章与大家分享一下单向链表的一些知识。 本文章主要讲单向链表: - 创建 - 输出 - 排序 - 插入 - 删除 - 清空

2018-03-13 00:47:04 10669 12

原创 VS Debug的条件断点 (深入浅出判断string)

VS Debug的条件断点 (深入浅出判断string)条件断点判断字符串相等错误案例错误案例1错误案例2错误案例3可执行写法正确用法1正确用法2分析string条件断点运行环境:Windows10Visual Studio 2019编译器默认C++Debug的条件断点的打开方式:断点右键-选择条件使用这种方式可以减少用修改源码来断点。条件断点是在断点处的约束触发条件,并且可以设置断点忽略次数,条件断点在多线程上也能使用,可以线程ID用来分离线程(只在指定的线程中断点)断点优先级:

2022-05-11 00:54:39 2814 1

原创 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 2185 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 3649

原创 python 获取本地USB摄像头列表

python 获取本地USB介绍WMIAForge开启虚拟摄像头OBSpyvirtualcam其他介绍最近想写IM聊天室,需要了解一些基础,顺便打算把以前挖的坑给填了。在去年有水一篇:《Python Opencv暴力获取所有相机》这份代码是我前年写的,当时是项目需要,语言用的就是Python,由于当时就只知道Python中可以用OpenCV调用摄像头,并且网上千篇一律都是用OpenCV调用摄像头,我不排斥技术,我排斥的是这些文章重复率太高了,甚至里面存在bug,但是没人点出来。(这个bug指的是op

2022-04-26 14:15:13 5126

原创 PyQt 多线程应用

最近重新学了Qt多线程,对多线程的逻辑有了新的认识,因此写了这样一个程序来证明我的认识是对的,这个程序的代码量不多,主要侧重点在设计方面,因为设计问题我代码改版了三次,花费近两周时间才完成并且修复了所有测试的bug。(PS:如果有人对这份代码感兴趣,并且运行后发现bug,可以告知我及时修正它)代码在我的github:https://github.com/Yundi339/PyQt_Multi-Thread...

2022-04-18 15:57:49 385

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

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

原创 C++ lambda递归

c++ lambda的匿名特性,无法直接在lambda内部递归调用自身。借助std::function,这是一个可调用对象包装器,可以容纳除了类成员函数指针以外所有的可调用对象,适合作为回调函数使用。Leetcode 47 全排列II题目:给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。第一种写法,直接用function包装,lambda通过[&]捕获引用,进而实现递归调用,缺点就是这种写法一定要有个返回值类型,对于void要改成返回bool。class S

2022-04-06 16:17:30 2805

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

原创 C++ 自定义String类

C++ 自定义String类 思考类的声明_CompareLength_SetString_MoveString_UnSafeMoveString构造函数和析构函数重载 = 操作符重载+=操作符重载+操作符重载中括号重载==操作符重载输入输出流完整代码想要实现高级的 String 类还挺复杂的,C++ 和 C# 不一样,许多模块都需要自己来解决内存问题,并且如何提高内存空间的利用效率,调用函数是否触发拷贝构造函数,触发拷贝构造函数时又该如何避免重复的内存释放。

2022-02-22 01:06:02 2437

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

原创 PyQt 使用QMessageBox不堵塞父进程

PyQt 使用QMessageBox不堵塞父进程问题描述原因分析解决方案问题描述在窗口中,有两个事件:1.编辑label后,点击空白位置会自动触发参数修改函数,如果参数有问题会弹出一个弹窗警告2.button按钮,点击按钮会触发点击事件(与1的功能不一样)错误修改label的值后,直接点击button按钮:弹出一个弹窗警告,然后button的点击事件没有触发原因分析弹窗警告使用了:QMessageBox.warning(self, 'warning','warning message')

2022-01-04 23:27:07 3751 7

原创 windows问题

windows问题右键“打开方式”导致资源管理器卡死文件资源管理器扫描很久Chrome打开页面很慢windows沙箱锁屏壁纸模糊关闭部分特效cmd管理员模式Everything选项电脑死机自动重启PING不通/局域网FTP连接不上PSTool

2021-11-21 17:41:40 1045

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

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

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

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

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

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

原创 C# treeview滚动条事件

C# treeview滚动条事件问题描述解决思路代码问题描述TreeView过长;不点击节点,鼠标滚轮可以让滚动条滚动;点击节点,按住不放,拖拽节点到页面外部,页面不会自动滚动,鼠标滚轮也不会让滚动条滚动。解决思路在查过官方文档就知道C#的treeview封装了滚动条事件,没有提供相应的api接口,想要重载滚动条的事件是行不通的。由于只有按住节点的时候才有这个滚动的需求,因此我想了一种“曲线救国”的方法:重载TreeView的拖拽事件。QueryContinueDrag(object sen

2021-08-09 12:59:47 1452

原创 关于OpenCV的坑

1. 无法修改摄像头参数2. 中文无法识别2.1 窗口中文标题无法识别2.1 中文路径无法识别3. 图片转BGR4. resize问题

2021-08-03 20:08:41 5672 2

原创 PyQt 记住上次打开路径

PyQt 记住上次打开路径文件对话窗:打开单个文件 QFileDialog.getOpenFileName() 打开多个文件 QFileDialog.getOpenFileNames() 打开文件夹 QFileDialog.getExistingDirectory() 文件保存 QFileDialog.getSaveFileName()getOpenFileNames函数表示打开多个文件getOpenFileNames(parent=None

2021-07-24 22:29:08 2374

原创 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 1304 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 536 1

原创 Python 解决最小切割问题

Python 解决最小切割问题 最小切割问题 算法思想 伪代码 代码测试 代码实现 结论 给定图G =( V , E ),把图中的顶点集V 划分成两个不相交的非空顶点集B ,C 。找出顶点集合的划分方法,使切割的权值最小(切割边数最小)。 输入为图的顶点集 V 和边集 E 。输出为切割顶点集 B 、 C 和切割权值 m 。算法思想1.从图G中的边集E中随机取出不放回一条边;2.将边的两个顶点u和v合并成超级顶点z;3.删除顶点集V中的u和v;

2020-10-27 16:42:58 2184

原创 解决制作FAT32格式的重装U盘中文件过大问题

安装系统有些主板通过BIOS读取U盘只支持FAT32的,可以先试试NTFS格式能否读取。建议准备一个固态的U盘or硬盘,别问,问就是非常快。下面拿重装win10举例。不需要重装U盘的软件,这些软件只是起到解压缩包的功能,可能还会给你夹一些私货。1.准备U盘:然后分个6G的区,接着将它格式化成FAT32。2.然后下载官方的ISO镜像:去官网下载,或者MSDN,这里我推荐下载win10 1909版本的系统。3.在C盘根目录建立一个叫"win"文件夹:其实在哪新建和放哪都无所谓,因为正常C盘都是固态

2020-09-26 15:27:41 3189

原创 Navicat连接云端MySQL

Navicat连接云端MySQL 部署我使用MySQL是应用于网站,网站使用了Apache,PHP,MySQL。服务器的系统使用CentOS,其中Apache,PHP,MySQL部署教程可以参考下面这个地址:参考地址:https://blog.csdn.net/qq_39942341/article/details/103997748新建数据库账户假设你已经部署好了,防止出现误操作导致MySQL崩溃等错误,通常情况会使用非管理员账号新建数据库。

2020-07-27 15:19:06 605

原创 Python Miller Rabin 米勒-拉宾素性检验

Miller Rabin米勒-拉宾素性检验是一种素数判定法则,利用随机化算法判断一个数是合数还是可能是素数。卡内基梅隆大学的计算机系教授Gary Lee Miller首先提出了基于广义黎曼猜想的确定性算法,由于广义黎曼猜想并没有被证明,其后由以色列耶路撒冷希伯来大学的Michael O. Rabin教授作出修改,提出了不依赖于该假设的随机化算法。来自 https://baike.baidu.com/item/米勒-拉宾素性检验/22719763代码实现import numpy as npde

2020-07-26 13:07:39 2048 4

原创 Python 最短链路策略(ShortestLinkedHeuristic)解决TSP问题

ShortestLinkedHeuristic 最短链路策略算法基于贪心思想,每次选择一条没有被选择过的权重最小的边,检查是否与已有的边构成循环或者引起某个顶点分叉,如果没有则加入H。重复这个过程直到所有的边都被检查过。输入:无向连通图输出:TSP路径思路首先给出关于无向图的所有边和权重,以及所有顶点,接着按照ShortestLinkedHeuristic算法思路,构造路线集合H,每次从边集合E中取出权重最小的边,如果这条边与H不会形成一个循环,并且不会导致路线分叉,则将这条边加入路线集合H;直到

2020-07-26 12:38:37 1853

原创 Oracle/MySQL 从dual/help_topic中获取多行数据

背景与意义:某学长写出了一段又臭又长的代码,引发了我的思考获取12个月的月份:month123456789101112正常操作:SELECT MONTH FROM ( SELECT 1 MONTH UNION ALL SELECT 2 MONTH UNION ALL SELECT 3 MONTH UNION ALL SELECT 4 MONTH UNION A

2020-06-09 17:35:03 1640 2

原创 C++ 二叉树

代码实现打印输出:1.生成二叉树2.打印二叉树3.先序遍历4.中序遍历5.后序遍历6.层序遍历7.二叉树结点数#include <iostream>#include <stdio.h>#include <queue>#include <windows.h>using namespace std;//生成二叉树//打印二叉树//先序遍历//中序遍历//后序遍历//层序遍历//二叉树结点数struct Node{

2020-06-07 12:30:15 235

原创 C++ 关键路径

代码实现#include <iostream>#include <cstdio>#include <stack>#include <string>#include <windows.h>using namespace std;int vertex_num;int edge_num;struct Edge{ int edge_from; // 顶点1 int edge_to; // 顶点2 int

2020-06-07 12:24:09 342

原创 C++ 链表 大数加减法

大数加法#include <bits/stdc++.h>using namespace std;class Node{public: int data; Node *next; Node() { next = nullptr; } Node (int data) { this->data = data; } Node (const Node &temp) {

2020-06-07 12:20:56 2044 2

原创 C# 判断有向图是否存在环

代码实现Program.csusing System;namespace Csharp_test{ static class Program { /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { MyList mylist = new M

2020-06-07 01:50:39 434

原创 Python 判断无向图是否存在环

代码实现def has_cycle(G): """ 判断无向图是否有环 :param G: example {0: [1,2],1: [3], 2: []} :return:True无环,False有环 """ V = set() U = dict() cycle_set = [] def dfs(u, v): V.add(u) for x in G.get(u, []): if

2020-06-06 18:40:58 1361

原创 Python NearestNeighbor 邻近算法求解TSP

随机选择算法输入:无向连通图输出:TSP路径运行环境Python3.6Numpy 1.17.3代码函数说明NearestNeighbor(G, label)任选一个城市开始,到达离它最近的城市,然后从该城市出发,选择离它最近的未访问过的城市,重复该过程,直到所有城市都被访问过,再回到开始城市。代码实现import numpy as npdef NearestNeighbor(G, label): length = len(G) vertices = []

2020-06-06 18:26:41 1975

原创 Python 加性高斯白噪声 AWGN

高斯白噪声概念加性高斯白噪声(Additive White Gaussian Noise,简写AWGN)"白"是指功率谱恒定;高斯指的是概率p (x)满足高斯函数。在百度百科中的概念是,加性高斯白噪声在通信领域中指的是一种各频谱分量服从均匀分布(即白噪声),且幅度服从高斯分布的噪声信号。公式推导matlab的库中有AWGN这个库,如果要使用Python进行实现,要按照信噪比SRN公式进行推导:其中x为原始信号,n为噪声信号。推导可得噪声信号公式,其中N为原始信号长度:最后服从高斯分布

2020-05-17 11:35:39 15825 6

原创 Python 随机选择算法 RandomizedSelect

随机选择算法输入:一个长度为n的数组,一个数值i,且1≤ i ≤ n输出:第i个最小元素运行环境Python3.6Numpy 1.17.3代码函数说明get_random(i, j): 获取[i, j]的随机整数RandomizedSelect(a, p, r, i): 随机选择算法RandomizedPartition(a, p, r): 随机分区Partition(a, p, r): 分区递归版本import numpy as npdef get_random(i,

2020-05-12 12:41:05 1264

华容道最短步数求解

解华容道的一种方法,效率较高,使用c++编写,易理解,只提供求最短步数,不提供输出具体移动过程

2018-05-24

空空如也

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

TA关注的人

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