自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据库基础知识

什么是数据库设计?简单来说,数据库设计就是根据业务系统的具体需要,结合我们所选用的DBMS(数据库管理系统),为业务系统构造出最优的数据存储模型,建立好数据库中的表结构和表之间的关联关系的过程。使其可以对应用系统的数据进行存储,并可以高效的访问已存储的数据。关系型数据库:MySQL、Oracle、PgSql、SQLServer为什么要进行数据库设计?数据库设计的流程需求分析逻辑设计:使用ER图对数据库进行逻辑建模。

2024-03-18 23:39:13 915

原创 行为型-观察者模式

观察者模式是一种行为型设计模式,它定义了一种一对多的依赖关系,当一个对象的状态发生改变时,其所有依赖者都会收到通知并自动更新。观察者模式(Observer)又称发布-订阅模式(Publish-Subscribe:Pub/Sub)。它是一种通知机制,让发送通知的一方(被观察方)和接收通知的一方(观察者)能彼此分离,互不影响。观察者模式包含以下几个核心角色:主题(Subject):也称为被观察者或可观察者,它是具有状态的对象,并维护着一个观察者列表。主题提供了添加、删除和通知观察者的方法。

2024-03-14 23:48:21 505

原创 springboot-数据库操作学习-JDBC(一)

Spring Boot ⽀支持了了主流的 ORM 框架:MyBatis、Hibernate 和 Spring JDBC,⼏几种 ORM 在不不同的场景下各有优势,在 Spring Boot 体系内都有对应的 Starter 包以⽅方便便集成。

2023-06-18 13:57:53 557

原创 java泛型

泛型程序设计意味编写的代码可以对多种不同类型的对象重用。

2023-05-03 19:19:58 687

原创 Maven生命周期

Maven内置了三个构建生命周期:default、clean 和 site。生命default周期处理您的项目部署,clean生命周期处理项目清理,而site生命周期处理项目网站的创建。

2023-03-26 19:08:17 464

原创 Maven依赖管理

POM是一个 XML 文件,其中包含有关项目的信息以及 Maven 用于构建项目的配置详细信息。它包含大多数项目的默认值。这方面的例子是构建目录,它是target;源目录,即src/main/java;测试源目录,即src/test/java;等等。当执行任务或目标时,Maven 会在当前目录中查找 POM。它读取 POM,获取所需的配置信息,然后执行目标。可以在 POM 中指定的一些配置是项目依赖项、可以执行的插件或目标、构建配置文件等。还可以指定其他信息,例如项目版本、描述、开发人员、邮件列表等。

2023-03-26 18:49:30 748

原创 maven介绍

maven

2023-03-26 18:19:37 430

原创 行为型-策略模式

策略模式

2023-01-08 22:12:46 380

原创 tensorflow加载与保存模型

问题:1.训练好分类模型,比如训练保存了一个10分类的模型,但是实际用的时候呢,分类数可能会改变,但是还想继续使用前面保存的模型。那么相当于是只加载前几层的参数,最后一层做一些修改。2.加载预训练模型时,预训练模型缺少网络中定义的变量保存模型saver = tf.train.Saver()saver.save(sess,“model.ckpt”)加载模型saver.restore(sess,“model.ckpt”)不传参数时,相当于是保存了所有的参数,然后加载所有的参数。加载模型时变量缺

2021-01-10 16:14:37 253

原创 超详细的卷积后大小的计算公式

计算公式定义定义几个参数输入图片大小 W×W卷积核大小 F×F步长 Spadding的像素数 P于是我们可以得出计算公式为:N = (W − F + 2P )/S+1输出图片大小为 N×N以resnet50为例,输入为[1,3,224,224],其中1为batchsize,3为通道数,224为height和width。经过第一层卷积后,其大小为[1,64,112,112]in_channels= 3//输入通道out_channels= 64 //输出通道nn.Conv2d(in_

2021-01-07 20:15:58 41357 10

原创 python重写tf.nn.ctc_greedy_decoder

greedy search参考链接:https://zhuanlan.zhihu.com/p/39266552基本原理就是将每个时间 t 内最大概率的 k 取出即可。下面通过一个例子来阐述:y 的分布如下:那么greedy search的结果为例如当 t=1时,在序列 [0.25,0.4,0.35]中得到最大概率为0.4,依次找到各时间内的最大概率即可。代码实现:应用在crnn_ctc文字识别中输入inference_output大小为[25,1,37],其中25为单词宽度,1为bat

2020-12-29 22:28:28 985

原创 python线程池与进程池

因为python有GIL(Global Interpreter Lock(全局解释器锁)),无论cpu是不是多核cpu,其同一时刻只能有一个线程使用cpu,所以多线程适用于I/O密集型任务,多进程适用于cpu密集型任务。线程池concurrent.futures 模块提供异步执行回调高层接口。异步执行可以由 ThreadPoolExecutor 使用线程来实现。使用多线程并得到线程返回的结果示例:from concurrent.futures import ThreadPoolExecutord

2020-12-04 19:42:05 201

原创 Ubuntu离线安装docker和nvidia-docker

waiting

2020-11-08 22:09:54 588

原创 docker中使用cv2

在docker中使用cv2报如下错误:解决方法:sudo apt updatesudo apt install libgl1-mesa-glx

2020-11-05 15:35:52 679

原创 python从pdf中抽取图片

安装依赖pip install PyMuPDF Pillow导入依赖包import fitz # PyMuPDFimport iofrom PIL import Image加载pdf文件# file path you want to extract images fromfile = "1710.05006.pdf"# open the filepdf_file = fitz.open(file)遍历每个页面,提取图片# iterate over PDF pagesfor p

2020-10-12 16:56:27 673

原创 Missing key(s) in state_dict

pytorch加载模型时报错RuntimeError: Error(s) in loading state_dict for DataParallel:Missing key(s) in state_dict: “module.backbone.layers.0.stage_1.layers.0.weight”,这是因为加载的预训练模型之前使用了torch.nn.DataParallel(),而此时没有使用,所以可以加上该模块或者去掉。解决方法一:加上torch.nn.DataParallel()模

2020-10-07 20:34:04 12770

原创 TensorRT(二) TensorRT使用

TensorRT工作流程如上图所示,是一个从摄像头获取视频流并使用TensorRT加速推理的一个过程,下面大致对上图进行讲解。1.首先要获得一个TensorRT支持的模型格式,TensorRT支持uff、onnx、caffee三种格式。2.工作流程图中使用转好的uff格式的模型构建TensorRT Engine,有两种构建方式,一种使用TensorRT自带的工具trtexec,另一种使用TensorRT的C++和python的API接口用于构建。TensorRT自带的工具trtexec,例子如下,

2020-08-06 16:17:39 1905

原创 TensorRT(一) 安装Jetson AGX Xavier

TensorRT简介NVIDIA TensorRT™ 是用于高性能深度学习推理的 SDK。此 SDK 包含深度学习推理优化器和运行时环境,可为深度学习推理应用提供低延迟和高吞吐量。可以从每个深度学习框架中将已训练模型导入到 TensorRT。应用优化后,TensorRT 选择平台特定的内核,在Jetson 嵌入式平台或其他支持TensorRT的平台更大限度提升性能。本文中使用的是Jetson AGX Xavier。安装Jetson AGX Xavier安装过程在此不赘述,附两个比较不错的安装参考链接

2020-08-06 15:28:34 3603

原创 opencv帧差法生成视频摘要

视频摘要简介通过运动目标分析,提取运动目标,然后对各个目标的运动轨迹进行分析,将不同的目标拼接到一个共同的背景场景中,即同时展现在不同时间出现的多个对象。视频摘要主要运用在对长时间的监控视频的压缩上,节省视频占用的空间,同时可以保留视频中的目标和活动。一般的视频摘要的步骤可以总结为:视频读取→背景建模 → 前景提取→ 目标轨迹跟踪→ 目标的时序与空间规划 → 生成浓缩视频本文主要通过一个简单的去除视频里非运动帧来实现一个简单的视频压缩的功能。帧间差分法简单的视频压缩就是想把完全静止不动的视频

2020-07-31 22:37:09 714 1

原创 ubuntu安装opencv和opencv-contrib

若要安装opencv-contrib,那么需要将opencv-contrib下载下来与opencv一起编译。参考链接:https://blog.csdn.net/qq_38236355/article/details/88864023https://docs.opencv.org/3.4.3/d7/d9f/tutorial_linux_install.htmlhttps://blog.csdn.net/ksws0292756/article/details/79511170...

2020-07-11 15:54:27 222

原创 Pytorch的tensor与numpy的转化

1.numpy转为tensornp2tensor = torch.fromnumpy(numpy1) # numpy1为ndarray2.tensor转为numpy tensor2np = tensor1.numpy() # tensor1为tensor但是有可能会有这个错误:TypeError: can’t convert CUDA tensor to numpy. Use Tensor.cpu() to copy the tensor那么将tensor先拷贝到CPU再转 tenso

2020-07-03 08:56:52 983

原创 LeetCode 70.爬楼梯

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。解题思路:n=1时,方法有1种n=2时,方法有2种n=3时,方法有3种n=4时,方法有5种可得递推式F(n) = F(n-1) + F(n-2),类似于斐波那契数列。解法一:递归,这个递交显示超出时间限制时间复杂度O(2n),空间复杂度O(n)int climbStairs(int n) { if (n == 1) {

2020-06-30 22:48:41 207

原创 神经网络可视化工具netron

可视化神经网络有两种方式:1.网页版https://lutzroeder.github.io/netron/打开网页上传你的模型即可看到模型的结构。2.python版附上github链接:https://github.com/lutzroeder/netron安装netron:pip install -i https://pypi.douban.com/simple/ netronimport netronmodel_path = "../weights/ssd.onnx"netron.

2020-06-15 15:10:26 662

原创 linux core dump

1.core文件是什么?核心文件(core file),也称核心转储(core dump),是操作系统在进程收到某些信号而终止运行时,将此时进程地址空间的内容以及有关进程状态的其他信息写出的一个磁盘文件。这种信息往往用于调试。2.生成core文件 ulimit -a 查看相关环境如图所示,core文件大小为0,那么我们需要设置其大小。使用命令: ulimit -c 100 设置其大小为100k3.调试core文件运行程序,程序出错时会在当前目录下产生core文件。然后可以使用gdb进行调试

2020-05-29 17:10:39 193

原创 ubuntu16.04安装libopencv-dev缺少依赖

安装libopencv-dev时,提示缺少依赖。缺少了依赖的包怎么解决呢?笨方法:那我们就apt-get install 缺少的包名,然后就会发现套娃,加入从第一个包进行安装的时候又会提示缺少另一个包,当场扑街。。。查找资料的时候发现了aptitude包管理系统。所以用如下命令:sudo apt-get install aptitudesudo aptitude install libopencv-dev然后会提示如下Accept this solution? [Y/n/q/?] nTh

2020-05-21 15:58:09 4422 3

原创 ssd模型pytorch版fine-tune

最近在做目标检测的相关项目,由于是深度学习小白,所以踩了很多坑,对此做一下总结。关于fine-tune和迁移学习ssd.pytorch代码链接:https://github.com/amdegroot/ssd.pytorch由于对深度学习不了解,所以连fine-tune什么意思都不懂。。。。查阅了一些资料后,大致有了一些了解,以下若有错误的地方,还烦请指正。迁移学习迁移学习(Transfer learning) 顾名思义就是把已训练好的模型参数迁移到新的模型来帮助新模型训练。拿这个代码为例,作者

2020-05-17 13:04:38 627

原创 centos和ubuntu查找缺少的共享库

centos写这篇文章是因为用docker的centos镜像安装python的opencv-python的库时导致的问题。如下图:缺少了libSM.so.6解决方案使用如下命令查看缺少得共享库yum whatprovides libSM.so.6使用yum install安装yum install libSM-1.2.2-2.el7.x86_64 //因为电脑是64位,这里用...

2020-04-18 17:50:23 867

原创 搭建SRS流媒体服务

srs简介SRS全称Simple RTMP Server,定位是运营级的互联网直播服务器集群,是一个非常简单就可以推送rtmp视频流的服务器.github主页:https://github.com/ossrs/srs获取srs git clone https://github.com/ossrs/srs编译srscd srs/trunk./configure && ...

2020-04-18 17:38:51 859

原创 安装pytorch

安装pytorch登录官网:https://pytorch.org/get-started/locally/找到适合自己系统,包管理工具的安装命令进行安装。测试是否安装成功import torchx = torch.rand(5, 3)print(x)若安装成功则会显示如下输出:若安装了CUDA,则可用以下命令检测CUDA是否安装成功import torchtorch.c...

2020-03-13 18:23:39 125

原创 解决每次打开pycharm直接进入项目的方法

解决每次打开pycharm直接进入项目的方法step1:step2:取消勾选这一项

2020-01-15 17:04:02 1166

原创 python读取csv的指定行

使用python的csv模块csv.reader会返回一个reader对象,这是一个可迭代的对象,从csv文件读取的每一行都作为字符串列表返回。输出csv文件的前100行: with open('testcsv', 'r', newline='', encoding='utf-8-sig', errors='ignore') as f: csv_write = csv....

2019-12-23 12:42:54 5673

原创 python清空列表的方法与区别

暂且提两种较常用的清空list的方法1)clear()示例:list_1 = [1,2,3,4,5]list_2 = list_1list_1.clear()print(list_1)print(list_2)得到的结果如下:[][]这种办法还有一种办法,就是利用列表的copy函数可以解决同时删除的情况,这牵扯到列表的直接赋值,浅拷贝和深拷贝问题,有兴趣的可以了解一下,参...

2019-12-08 19:01:23 522

原创 python在迭代列表时进行删除

在用for进行迭代列表时,发生如下情况:list1 = [1,2,3,4,5,6,7,8]for i, number in enumerate(list1): if number > 5: list1.pop(i)print(list1)得到的答案如下:[1, 2, 3, 4, 5, 7]很明显结果不对,因为在迭代过程中删除导致了下标向后多移了一项,删除...

2019-10-31 19:32:40 849

原创 python中// 和/有什么区别

python中// 和/有什么区别通常C/C++中,"/ " 算术运算符的计算结果是根据参与运算的两边的数据决定的,比如:8 / 4 = 2 ; 8,4都是整数,那么结果也就是整数2;8.0 / 4.0 = 2.0 ; 8.0,4.0是浮点数,那么结果也是浮点数2.0,跟精确的说,只要" / " 两边有一个数是浮点数,那么结果就是浮点数。在python中," / “就一定表示 浮点数除法,...

2019-09-22 16:30:47 846

原创 字典循环时的“坑”

字典循环时出错#dic = {‘k1’: ‘太白’, ‘k2’: ‘barry’, ‘k3’: ‘白白’, ‘age’: 18}将字典中键含有’k’元素的键值对删除。​#正常思路:先找出字典中所有的键,如果键中有k,则将含有’k’元素的键值对删除。dic = {‘k1’: ‘太白’, ‘k2’: ‘barry’, ‘k3’: ‘白白’, ‘age’: 18}for key in dic...

2019-09-21 22:59:34 323

原创 安装虚拟环境

查看系统是否安装了virtualenvvirtualenv --version安装虚拟环境sudo pip install virtualenvsudo pip install virtualenvwrapper创建虚拟环境mkvirtualenv flask_py(自定义文件名即可,此处为flask_py)安装完成虚拟环境后,若提示找不到mkvirtualenv命令,须配置环...

2019-08-26 21:52:54 162

原创 Python 字符串前面加u,r,b,f的含义

1、字符串前加 u例:u"我是含有中文字符组成的字符串。"作用:后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。2、字符串前加 r例:r"\n\n\n\n”  # 表示一个普通生字符串 \n\n\n\n,而不表示换行了。作用:去掉反斜杠的转义机制。(特殊字符:即那些,反斜杠加上对应字母,表示对应的特殊含义的,比...

2019-08-23 11:08:48 151

原创 糗事百科爬虫

python糗事百科爬虫爬取url:https://www.qiushibaike.com/hot/此网页爬取分析时选取网页特定元素进行爬取,需了解xpath的用法和lxml库的用法# coding=utf-8from lxml import etreeimport requestsimport jsonclass QiubaiSpider: def __init__...

2019-04-14 10:39:04 337

原创 豆瓣电影爬虫

python豆瓣电影爬虫爬取网址:https://movie.douban.com/tag/#/?sort=U&range=0,10&tags=美国我们爬取的内容为文本,爬取前我们需要进行网页的分析如图所示:我们可以看到我们的主要爬取数据存储在响应的其中一个页面中具体怎么查看和分析目前不做介绍了。# coding=utf-8from parse import pars...

2019-04-14 09:59:39 980

原创 2018北邮网研机试

2018北邮网研机试problemA:题目:类似超市结账,计算购买的商品的总价格。输入:第一行为测试数据组数 T(0< T <= 10) 每组数据第一行为购买商品的种类 n,接下来 n 行,每行两个数据,第一个为商品价格,第 二个为商品数量,价格为实型。输出:每一行输出相对应数据的总价值,保留两位小数。测试数据:221.00 20.50 21100.0...

2019-03-25 21:33:29 403

空空如也

空空如也

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

TA关注的人

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