- 博客(39)
- 资源 (2)
- 收藏
- 关注
原创 centos 开机自启动虚拟环境中的python程序
1.创建无挂起脚本文件创建名为main.sh的脚本#!/bin/shAPP_NAME='./dist/main'PID_RIDIAS=$(ps -ef | grep ${APP_NAME} | grep -v grep | awk '{ print $2 }')if [ -z "$PID_RIDIAS" ]then echo 'Main is NOT running.'else echo 'Restart Main, Kill' $PID_RIDIAS kill $
2021-07-02 14:12:06
1019
原创 pyinstaller打包
一、概念PyInstaller将Python应用程序及其所有依赖项捆绑到一个包中。用户无需安装Python解释器或任何模块即可运行打包的应用程序。参数介绍如下参数使用 -D: 创建包含可执行文件的单文件夹包,同时会有一大堆依赖的 dll 文件,这是默认选项; -F: 只生成一个 .exe 文件,如果项目比较小的话可以用这个,但比较大的话就不推荐优势1.即插即用,可与任何Python 3.6-3.9版配合使用。2.完全多平台,并使用操作系统支持来加载动态库,从而确保完全兼容。3.
2021-04-26 19:25:57
749
11
原创 centos挂载3.7T硬盘
1.使用fdisk -l开查看当前状态下磁盘情况 $ fdisk -l Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label
2021-04-08 15:48:39
184
原创 Visual Studio 2019配置OpenCV4.5.1
1.安装vs2019官网下载安装文件,我选择的是社区版双击exe文件进行安装,选择工作负载,根据自己的需求选择,下图是我选的:选择语言包修改安装位置,默认是C盘等待安装完成即可2.配置opencv到opencv的官方git上下载,我下载的是4.5.1,选择exe文件,下载并双击安装选择安装的路径,等待安装安装好之后配置环境变量打开vs2019,新建一个控制台项目点击调试里面的最下面的调试属性点击VC++目录中的包含目录,点箭头进行编辑点1创建新的条目,点2处的三个点
2021-01-27 17:43:48
1352
4
原创 python内存不断增长
问题:python进程在10分钟之内,内存从35%涨到98%1.内存泄漏的几种常见情况对象一直被全局变量所引用, 全局变量生命周期长.垃圾回收机被禁用或者设置成debug状态, 垃圾回收的内存不会被释放.也是非常罕见的内存泄露的方式2.查看python内存泄露的工具gc: python内置模块, 函数少功能基本, 使用简单objgraph: 可以绘制对象引用图, 对于对象种类较少, 结构比较简单的程序适用,安装绘图库比较麻烦guppy: 可以对堆里边的对象进行统计, 算是比较实用py
2020-12-31 14:10:38
4547
1
原创 那些年走过的坑
如果哪位大神路过可以给提一下解决意见,我将感激涕零。1.opencv问题1(未解决):videcapture拉图时,capture.is_opend()为True,但是is_succeed,frame = capture.read()中的is_succeed为False。具体现象:刚开始可以拉到图片,后面突然就拉不到了。原因:摄像头的连接数太多了,导致摄像头计算资源不够,卡住了,有时候卡着卡着就挂了(我用的是某一个端口,挂的话也只是某一个端口挂掉)。问题2(未解决):videocapture拉关闭
2020-12-21 11:40:45
302
原创 我常用的linux(centos)命令
1、统计文件个数:统计当前目录下文件的个数(不包括目录):ls -l | grep "^-" | wc -l统计当前目录下文件的个数(包括子目录):ls -lR| grep "^-" | wc -l查看某目录下文件夹(目录)的个数(包括子目录):ls -lR | grep "^d" | wc -l2、创建文件夹mkdir 文件名...
2020-12-10 11:21:27
102
原创 python读写文件越来越慢
1.磁盘占用率高本人处理数据集标签文件的时候,经常会遇到格式转换的问题比如coco转voc,xml转voc等等。每个文件都不是很大,可能只有1-2k,但是架不住多啊。一多就要疯狂io,磁盘占用率就很高。刚开始发现这个问题就使用了数据结构,真的是学了这么多年数据结构,第一次感觉到了他有多牛逼。set、dict都比list 快超级多,在处理大文件之类的情况现象超级明显。2.内存占用率高将提取的内容都放在内存里了,确实节约了不少时间,但是,到最后还是会变慢。what`shappened?内存占用.
2020-11-25 17:06:38
2492
原创 删除重复的图片
我们使用的数据集可能是通过组合来自多个来源的图像而制作的。这样的数据集中将有很多重复的图像,如果依靠人工手动筛选将会花费很多时间并且容易出错-因此,我需要一种方法来检测并从数据集中删除这些重复的图像。1.数据集有重复图像会造成的问题1.将偏见引入到数据集中,为神经网络提供了额外的机会来学习特定于重复项的模式。2.这会损害模型泛化性2.运用的原理图像哈希(也称感知哈希)是基于图像的可视化内容构造哈希值的过程。我们将图像哈希用于CBIR(Content-based image retri..
2020-11-18 15:37:21
1640
原创 python你的意想不到
isinstance(bool, int) is True 你敢相信?我想要的:(type(bool) is bool) is True
2020-11-10 11:08:40
95
原创 解决问题记录:opencv保存的mp4(mp4v格式)视频不能使用浏览器打开或者说不能通过网络传输
题外话:其实是可以转成其他格式的,比如avi,mov,但是有些浏览器可能不兼容,所以必须用mp4.1.方法:使用h264或者x264编码的视频,但是linux不支持这种编码方式,需要安装libx264-dev,ubuntu上的命令为apt-get install libx264-dev;问题:在 centos上找不到这个名字的安装包,其他安装包还没找待完成a.根据官方文档下libx264的解决方案,执行对应操作,遇到了警告中的错误,但是运行yum remove nasm && h
2020-11-06 14:08:18
2374
转载 /etc/profile和~/.bash_profile的区别与联系
转载自:https://developer.aliyun.com/article/635942没能联系上作者询问转载事宜,但是文章写得很实用,想记录一下,之后方便查找,如有侵权请联系我,马上删除。目录/etc/profile/etc/environment/etc/bashrc~/.bash_profile~/.bashrc~/.bash_logout/etc/profile.d/注意事项简介:/etc/profile 为系统的每个用户设置环境信息和启动程..
2020-11-05 11:20:18
124
原创 遇到的pycharm问题
1.控制台不打印日志解决:重启编辑器2.run后一直不执行下一步操作解决:如果你用了eventlet的api,要把eventlet.monkey_patch()放到贴近你监测程序的上边。
2020-11-04 10:29:54
210
原创 yolov5模型转到TensorRT中推理(踩坑踩到吐血)
方法一pt转onnx,onnx转到TensorRT1.pt转onnxpytorch自带的函数import torchfrom models.yolo import Modelimport onnxnc = 37device = torch.device('cuda:0')ckpt = torch.load(r'E:\yolov5-master\runs\exp0\weights\best.pt', map_location=device) # 加载模型model = Model(r'
2020-09-18 09:59:44
19128
31
原创 centos上opencv安装
1下载opencv和opencv-contrib2编译opencvcmake时总使用python2的环境,如果想换到python3,就要先把python屏蔽掉,cmake结束之后再弄回来。sudo mv /usr/bin/python2.7 /usr/bin/pythonNO-tempsudo mv /usr/bin/pythonNO-temp /usr/bin/python2.7...
2020-09-10 15:17:30
644
原创 pytorch多节点分布式训练
本文为代码结构梳理。不提供理论知识。顺便说一点,nccl好像只支持linux。1.参数输入(选)parser.add_argument('--distributed', default=True, help="Whether to turn on the distribution")parser.add_argument('--rank', type=int, default=0, help='node rank for distributed training')parser.add_argum
2020-08-24 14:49:07
2210
原创 NCCL填坑
NCCL填坑简介篇章一篇章二篇章三篇章四篇章五篇章五简介简单介绍一下,我这新鲜热乎的坑。真的是太少见的了。本人在做pytorch分布式训练,晚上找了个小demo准备先让服务器热一下身。顺手将共享文件传输改成了tcp传输dist.init_process_group(init_method='file:///home/****/nfstest',backend="gloo",world_size=4,group_name="pytorch_test")变为dist.init_process_group(
2020-08-21 10:46:53
21677
32
原创 从入门到放弃-windows下安装VSCode+minGW+Cmake+Opencv
从入门到放弃-windows下安装VSCode+minGW+Cmake+Opencv前言安装VSCode安装minGW安装Cmake安装opencv在VSCode中配置opencv参考前言自从知道了c++版写opencv的好处之后,我就萌生了安装opencv 的想法(原来用的是python写的opencv)。安装的过程中天知道我经历了什么,可能我遇到了网上所有的问题,还有一些网上没有的。下面就是我的惨痛经历:安装VSCode1.下载通道,选择自己的操作系统对应的版本,我选的是user install
2020-05-26 17:10:55
1154
2
转载 pytorch读取coco数据集
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/a362682954/article/details/87915680YOLOV3是工业上可以用的兼顾速度和准确率的一个深度学习目标检测模型,本系列文章将详细解释该模型的构成和实现,本文代码借鉴:https://github.com/er...
2019-10-15 16:25:43
8227
原创 常用的pytorch函数
torch.pow(input, exponent, out=None)对输入input的按元素求exponent次幂值,并返回结果张量。 幂值exponent可以为单一float数或者与input相同元素数的张量。>>> exp = torch.arange(1, 5)>>> a = torch.arange(1, 5)>>&...
2019-09-29 16:15:51
142
原创 YOLOV3介绍
发展进程 RCNN(2013年)-解决通用多目标捕获问题 第一次提出候选区(Selective Search)的方法 处理模式:先提出候选框再识别对象 利用卷及神经网络来做目标检测的开山之作 解决的问题 1.速度:传统区域选择使用滑窗,每滑一个窗口检测一次,相邻窗口信息重叠度高,检测速度慢。R-CNN使用一个启发式方法(selective search...
2019-09-26 16:32:31
1658
原创 pytorch中使用tensorboard查看损失
首先导包—from torch.utils.tensorboard import SummaryWriter 实例化—writer = SummaryWriter() 写损失—writer.add_scalar('loss', loss.item(), global_step=1) 在循环外面关闭—writer.close() 在terminal中输入tensorboard --logdi...
2019-09-26 16:27:01
1617
原创 MTCNN介绍
历史 此模型是2016年中科院深圳研究院乔宇老师在论文《Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks》中提出的 本文原始的创意来自《A Convolutional Neural Network Cascade for Face Detection》,有人称它为 C...
2019-09-26 16:24:03
1427
原创 Python启程(Anaconda安装和Pycharm安装)
首先我们要在官网里下好安装包。Anaconda官网下载:https://www.anaconda.com/distribution/#download-section个人选的最新版,安装包确实有点大。Pycharm官网下载:http://www.jetbrains.com/pycharm/download/#section=windows两个版本都免费,社区版就够用了。安装...
2019-09-26 16:13:22
96
原创 Anaconda进出虚拟环境
用了很多次还是总忘,记一下。创建虚拟环境: pip create -n py27 python=2.7或 conda create -n py27 python=2.7Windows下: 激活虚拟环境:activate py37 退出虚拟环境:deactivatelinux下: 激活虚拟环境:source activate py37...
2019-05-24 16:59:43
755
原创 从Genymotion到安卓逍遥
安装好AS和Genymotion后,开始准备连接。网上找了一个百度安装帖子,跟着步骤走下来发现并没有安装成功,所以又重新找了一个。(http://www.codeceo.com/article/android-genymotion-config.html) 不知道这次的怎么样。下面我们跟他一起安装。 首先,启动genymotion,并使用自己在Genymotion官网注册的账号密...
2019-04-12 15:01:13
175
原创 css选择器练习题
任务给每个列表定义不同的背景颜色提示:使用结构伪类选择器:nth-of-type()设置缩略图外形效果提示:使用伪元素::after制作圆形效果1、给每个缩略图设置不同的图片提示:使用伪结构选择器:nth-of-type(),并且配合::after2、给每个缩略图添加透明度蒙板效果提示:使用伪类选择器::before给缩略图添加蒙板效果3、鼠标悬
2017-07-07 13:45:17
3232
原创 历届试题 格子刷油漆
历届试题 格子刷油漆 时间限制:1.0s 内存限制:256.0MB 问题描述 X国的一段古城墙的顶端可以看成 2*N个格子组成的矩形(如下图所示),现需要把这些格子刷上保护漆。 你可以从任意一个格子刷起,刷完一格,可以移动到和它相邻的格子(对角相邻也算数),但不能移动到较远的格子(因为油漆未干不能踩!) 比如:a d b
2017-03-05 16:02:21
360
原创 算法提高 聪明的美食家
算法提高 聪明的美食家 时间限制:1.0s 内存限制:256.0MB 问题描述 如果有人认为吃东西只需要嘴巴,那就错了。 都知道舌头有这么一个特性,“由简入奢易,由奢如简难”(据好事者考究,此规律也适合许多其他情况)。具体而言,如果是甜食,当你吃的食物不如前面刚吃过的东西甜,就很不爽了。 大宝是一个聪明的美食家,当然深谙此道。一次他
2017-03-04 17:18:36
360
原创 算法提高 身份证号码升级
算法提高 身份证号码升级 时间限制:1.0s 内存限制:256.0MB 问题描述 从1999年10月1日开始,公民身份证号码由15位数字增至18位。(18位身份证号码简介)。升级方法为: 1、把15位身份证号码中的年份由2位(7,8位)改为四位。 2、最后添加一位验证码。验证码的计算方案: 将前 17 位分别乘以对应系数 (7
2017-03-04 16:38:41
330
原创 基础练习 查找整数
基础练习 查找整数 时间限制:1.0s 内存限制:256.0MB 锦囊1使用循环语句、判断语句和跳出循环语句。锦囊2将所有数读入到一个数组中,然后使用循环语句依次枚举数组中的每个元素,每次和要查找的元素比较,若找到则记录并跳出循环。问题描述给出一个包含n个整数的数列,问整数a在数列中的第一次
2017-02-26 19:56:12
299
原创 基础练习 数列特征
基础练习 数列特征 时间限制:1.0s 内存限制:256.0MB 锦囊1使用循环语句和标志变量。锦囊2将所有数读入到一个数组中,然后使用循环语句依次枚举数组中的每个元素,使用三个变量分别表示当前找到的最大值、最小值及前一部分数的和。最后输出。问题描述给出n个数,找出这n个数的最大
2017-02-26 19:00:36
504
原创 基础练习 字母图形
基础练习 字母图形 时间限制:1.0s 内存限制:256.0MB 锦囊1字母的序号与两个坐标的差的绝对值有关。锦囊2用两重循环来枚举所有的坐标,使用绝对值函数计算出坐标的差,再输出对应的字符。问题描述利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFGBABCD
2017-02-26 15:38:16
202
翻译 基础练习 01字串
基础练习 01字串 时间限制:1.0s 内存限制:256.0MB 问题描述对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:0000000001000100001100100请按从小到大的顺序输出这32种01串。输入格式本试题没有输入。
2017-02-26 14:52:56
143
翻译 基础练习 闰年判断
时间限制:1.0s 内存限制:256.0MB 锦囊1使用if语句进行判断。锦囊2当条件是4的倍数且不是100的倍数,或者是400的倍数满足时输出yes,否则输出no。问题描述给定一个年份,判断这一年是不是闰年。当以下情况之一满足时,这一年是闰年:1. 年份是4的倍数而不是100的倍数;
2017-02-11 12:59:49
275
翻译 入门训练 Fibonacci数列
锦囊1使用数组来保存F序列,只保存除10007的余数。锦囊2先令F[1]=1, F[2]=1,然后用F[i]=(F[i-1]+F[i-2])%10007来计算F[i]。问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少
2017-02-11 12:15:12
185
翻译 入门训练 圆的面积
锦囊1使用面积公式计算结果。锦囊2利用公式:面积=π*r2,使用double类型保存结果,在输出的时候注意保存正确的小数位数。问题描述给定圆的半径r,求圆的面积。输入格式输入包含一个整数r,表示圆的半径。输出格式输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。说明:在本题中,输入是一个整数,
2017-02-11 12:03:09
170
翻译 入门训练 序列求和
锦囊1使用求和公式计算结果,使用64位整型(C++:long long, C:long long, Java:long)来保存结果和进行中间运算。锦囊2利用公式1+2+3+...+n=(1+n)*n/2来计算。注意这里的乘法运算时需要在64位整数下进行。问题描述求1+2+3+...+n的值。输入格式输入包括一个整数n。输出格式
2017-02-11 11:43:29
167
翻译 入门训练 A+B问题
问题描述输入A、B,输出A+B。说明:在“问题描述”这部分,会给出试题的意思,以及所要求的目标。输入格式输入的第一行包括两个整数,由空格分隔,分别表示A、B。说明:“输入格式”是描述在测试你的程序时,所给的输入一定满足的格式。做题时你应该假设所给的输入是一定满足输入格式的要求的,所以你不需要对输入的格式进行检查。多余的格式检查可能会适得其反,
2017-02-11 11:30:07
183
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人