- 博客(21)
- 收藏
- 关注
原创 pyqt中pyqtgraph的plotwidget出现界面刷新卡顿的问题
pyqt界面刷新卡顿的问题目的:在PlotWidget中绘制了折线图,并且折现图会左移。from pyqtgraph import PlotWidget用的是PyqtGraph Examples中的Scrolling plots的案例。遇到的问题:折线图在一开始会更新,后面就卡顿了。但是在对界面的边界进行滑动调整时,折线图会开始更新,不操作就会停止。思考:这个显然是界面刷新卡顿的问题,因为在拉动界面进行界面大小拉伸时,界面是强制刷新状态,所以折线图会更新,停下后就不更新了。查看了该文章《p
2021-12-29 20:11:13
2355
2
转载 rest api介绍
参考文章rest api是前后端分离最佳实践,是开发的一套标准或者说是一套规范,不是框架。好处:1、轻量,直接通过http,不需要额外的协议,通常有post/get/put/deletec操作。2.面向资源,一目了然,具有自解释性。3.数据描述简单,一般通过json或者xml做数据通讯。REST(Representational State Transfer):表现层状态转化1.资源(Resources)REST的名称“表现层状态转化”中,省略了主语。“表现层”其实指的是“资源”的“表现层”
2021-02-20 16:26:20
421
原创 LRU原理实现
参考文章leetcode链接如何实现LRU(Least Recent Used)为什么需要LRU?操作系统课程中,内存不够的场景下,淘汰旧内容的策略。基于HashMap和双向链表实现LRU使用HashMap存储key,这样可以做到put和get的时间都是O(1)。而HashMap的Value指向双向链表实现的LRU的Node节点。1.put(key,value):首先在HashMap找到key对应的节点,如果节点存在,更新节点的值,并把这个节点移到表头。如果不存在,需要构造新的节点,并且尝试把节
2021-02-17 19:51:04
228
原创 leetcode热题100道(2)
leetcode206.反转链表迭代递归234.回文链表思路1思路2114.二叉树展开为链表思路1其他方法待写...96.不同的二叉搜索树647.回文子串思路1.动态规划思路2.双指针461.汉明距离739.每日温度206.反转链表反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL思路:迭代遍历链表时,将当前节点的next指针改为指向前一个节点。由于节点没有引用其前一个
2021-02-03 16:22:24
618
原创 三次握手四次挥手
参考文章被面试官问到“三次握手,四次挥手”时该怎么回答?面试中被问到三次握手四次挥手应该怎么回答?---------不看后悔系列什么是“三次握手,四次挥手”TCP是一种面向连接的单播协议,在发送数据前,通信双方必须在彼此间建立一条连接。所谓的“连接”,其实是客户端和服务端的内存里保存的一份关于对方的信息,如ip地址、端口号等。tcp可以看成是一种字节流,它会处理ip层或以下的层的丢包、重复以及错误问题。在连接的建立过程中,双方需要交换一些连接的参数。这些参数可以放在tcp头部。tcp提供了一种可
2021-01-26 23:48:00
97
原创 leetcode热题100道
LeetCode热门100题70.爬梯子121.买卖股票的最佳时机64.最小路径和198.打家劫舍200.岛屿数量70.爬梯子每次爬1或者2个台阶,爬n个台阶有几种方法?解答1:一开始我想到的是排列问题,对一连串的1、2进行排列,结果发现从6开始,得到的结果都比原始答案大很多。好吧,应该是组合问题。C(m,n)class Solution {public: int climbStairs(int n) { if(n==39) return 102334155;
2021-01-22 13:06:05
991
原创 用两个队列实现栈
参考文章——C++用两个队列实现栈c++的栈的常见函数:定义:stack<int> s;stack<int> s;s.empty(); //如果栈为空则返回true,否则返回falses.size(); //返回栈中元素的个数s.top(); //返回栈顶元素,但不删除该元素s.pop(); //弹出栈顶元素,但不返回其值s.push(); //将元素压入栈顶队列:先进先出栈:先进后出两个队列实现一个栈的思想:用da
2021-01-18 14:22:33
251
原创 两个栈实现一个队列
参考文章——两个栈实现一个队列一、基础队列属于先进先出类型,即插入数据在队尾进行,删除数据在队头进行。在c++中只要#include<queue>即可使用队列类。其中在面试或笔试中常用的成员函数如下:pushpopsizeemptyfrontback栈属于先进后出,即插入与删除数据均在栈顶进行。二、两个栈实现队列两个栈,一个可以作为队列的入口,负责插入新元素;另一个栈作为队列的进口,负责移除老的元素。入队:将新元素压入栈A中 A(1,2,3)出队:若想要最先入队的
2021-01-17 16:26:56
185
原创 python多进程应用——视频实时显示分析
python的多线程应用引言新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入引言我学习python多线程的契机是需要在播放视频的同时进行视频帧的识别。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,
2021-01-14 15:32:22
1300
4
原创 断点续传的原理——http1.1协议
参考文章——断点续传原理解析断点续传的原理Http断点续传的原理:是在http的请求上多定义了断点续传相关的HTTP头 Range和Content-Range字段(Range和Content-Range是HTTP/1.1中新增的HTTP头字段。它用于从服务器端中获取一个大文件的一部分内容,这极大地提高了HTTP的运行效率,很适合下载软件进行多线程下载和断点续传。)HTTP1.1协议开始支持获取文件的部分内容,这为并行下载以及断点续传提供了技术支持。它通过在Header里两个参数实现的,客户端请求时对
2021-01-13 20:34:48
587
原创 voila:jupyter notebook简单制作视频播放和深度学习测试的显示界面
导语:voila可以使jupyter notebook转换为交互式的仪表板。网上有一些例子(将Jupyter Notebook变成Web APP:Voila)可以了解到voila的一些功能。还有关于jupyter的使用技巧(如何优雅地使用 Jupyter?)本文主要内容是制作一个简单的网页界面,其中的功能有:1. 选择不同的视频并且可以播放,2.运行深度学习模型的测试代码,3.补充1. jupyter notebook播放视频import ipywidgets as widgetsfrom ipy
2021-01-12 18:44:03
2282
原创 读书笔记——python函数参数匹配模式
读书笔记 摘写自《python学习手册》第18章 参数本文使用python版本3.6python函数的参数1.位置次序:2.关键字参数:3.默认值参数:混合使用关键字参数和默认值参数4.可变长参数 args函数定义中:收集参数函数调用中:解包参数泛化地使用函数python3.x的keyword-only参数顺序规则参数在python中总是通过复制传入的。传入的对象被赋值给了在def头部的变量名。而在这一模型的上层,python提供了额外的工具,来改变调用中参数对象和头部的参数名的配对关系。1.位置次
2020-12-17 17:02:03
557
原创 读书笔记——python的多态
摘写自《python学习手册》第16章 函数基础引言函数的定义与调用定义def times(x,y): return x*y上面的代码定义了一个名为times的函数,该函数将返回它的两个参数的乘积。调用def语句创建了一个函数但是没有执行它。在def运行之后,可以在程序中通过在函数名后面增加括号调用这个函数。括号中包含n个对象参数,这些参数汇传递(赋值)给函数头部的形式参数名:>>times(2,4)8第二次调用传递了两个完全不同种类的对象。如上图。这次函数的作用完
2020-12-08 14:49:00
199
1
原创 ubuntu18编译opencv4.1.1——为了使用opencv的cuda加速
网上教程挺多的的,我也是参考网上教程编译成功的,现在把我编译的过程发出来。目的:使用opencv中的cuda加速函数。例如:frame1_gray = cv.cuda_GpuMat(image1)frame2_gray = cv.cuda_GpuMat(image2)opticalFlowGPU = cv.cuda_FarnebackOpticalFlow.create(3,0.5,False,9,3,5,1.2,0)flow = opticalFlowGPU.calc(frame1_gray,
2020-10-12 10:52:39
1851
2
原创 二维卷积层的原理
主要介绍二维卷积层的工作原理卷积神经网络是含有卷积层的神经网络1.二维互相关运算在二维卷积层中,一个二维输入数组和一个二维核数组通过互相关运算输出一个二维数组。例如:输入数组:3x3的二维数组核数组:2x2的二维数组 (该数组在卷积计算中又称卷积核或过滤器)在二维互相关运算中,卷积窗口从输入数组的最左上方开始,按从左往右、从上往下的顺序,依次在输入数组上滑动。当卷积窗口滑动到某一位置时,窗口中的输入子数组与核数组按元素相乘并求和,得到输出数组中相应位置的元素。将上述过程实现在corr2d函
2020-10-09 14:50:02
2586
原创 pytorch跑3DResNets视频分类模型遇到cuDNN error: CUDNN_STATUS_INTERNAL_ERROR
参考文章解决RuntimeError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILEDpytorch torch.backends.cudnn设置作用加以下代码torch.backends.cudnn.enabled = False
2020-10-07 20:15:34
390
3
原创 python写入文件夹路径到txt文本中遇到Permission denied问题
具体问题是:写入文件到中途,出现权限错误我的文件比较多,要写入8000多行,之前两三千行的时候没有报错文件结构是全部文件夹 一类文件夹(8000个文件夹 二类文件夹(2000个 三类文件夹(2500个 四类文件夹(7000个目的:写入类文件夹内的 文件的路径import osdst_path = "D:\\xxx\\xxx\\data\\crop_jpg\\"# os.listdir(file)会历遍文件夹内的文件并返回一个列表path_list = os.lis
2020-10-04 22:52:21
2687
1
原创 jupyter notebook远程访问内网服务器
1.背景之前做过frp内网穿透直连校园内服务器,但是因为各种原因效果不太好。(大概率是差一个路由器,因为服务器连校园网会间接性断网)。所以内网服务器不能连外网,只有内网ip。我要做的就是在外网远程连接到内网服务器的jupyter2.准备除了远程服务器和你的个人电脑之外,你还需要一台在内网可以上网的电脑(称为跳板服务器)和云服务器。需要用到的:1.frp内网穿透2.jupyter no...
2020-04-29 00:25:13
1340
1
原创 win10运行anaconda提示无法定位程序输入点**/pythoncom36.dll
该文章只针对定位程序输入点*/pythoncom36.dll**参考文章(base环境没有报错,就是创建虚拟环境,进去之后操作就会报错)我以为提示无法定位程序输入点都是复制libssl-1_1-x64.dll文件,后来发现我的提示的是**pythoncom36.dll。(忘记截图了)查了资料后,发现是没有更新conda的缘故。conda update -n base conda更新之后...
2020-04-23 23:25:18
6985
8
原创 服务器装Ubuntu16.04桌面版的分区教程
服务器装Ubuntu16.04桌面版的分区教程之前给笔记本(120G固态+1T机械)装双系统,参照这篇文章。在固态分了200M设置EFI分区,做启动项。但是我在装服务器的时候跟着设置,发现引导报错,执行‘grub-install /dev/sdb’失败。这个应该是引导启动没做好。我查了资料 发现启动项有些是boot项,有些是efi项。但是都是双系统的设置。然后再是swap、根目录、hom...
2020-01-13 15:10:06
999
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人