- 博客(136)
- 资源 (16)
- 收藏
- 关注
原创 (三)目标检测之 R-CNN系列
目标检测之 R-CNN系列R-CNNFast R-CNNFaster R-CNNMask R-CNNR-CNN,Fast R-CNN,Faster R-CNN,Mask R-CNNR-CNN系列的四篇文章如下:R-CNN: https://arxiv.org/abs/1311.2524Fast R-CNN: https://arxiv.org/abs/1504.08083Faster R-CNN: https://arxiv.org/abs/1506.01497Mask R-CNN: htt
2021-12-16 12:37:42
2770
原创 多种格式转json
# -*- coding: utf-8 -*-import jsonfrom lib import xmltodictclass LogToDict(object): @staticmethod def iter_data(data): """通用迭代器,支持dict和list""" if isinstance(data, dict): for key, value in data.items():
2021-12-13 13:56:49
930
原创 git 添加可执行文件权限
在Linux下可以通过 chmod 来设置文件的可执行属性,Windows下通过文件扩展名判断文件是否可执行。问题在Windows下开发的脚本文件,提交到git仓库后,在Linux上克隆下,发现脚本文件无执行权限。解决方法利用git 命令设置更新文件的执行权限git update-index --chmod=+x $script参考Git 中文参考...
2021-06-29 14:47:33
2019
原创 Shell 实现读取ini格式配置文件
ini文件格式一般都是由节、键、值三部分组成。格式:[第一节 ]第一个键 = 值第二个键 = 第二个值[第二节 ]第一个键 = val1,val2,val3[redis]host = xxxport = xxbackend_db = xxbroker_db = xx[mysql]root_passwd = xxxxpasswd = xxxxxcharset = xxxxxdb = xxxxshell 脚本读取方式创建readIni()函数,$1,$2,$3为传递的参数
2021-06-03 14:56:36
1702
原创 vi —— 终端中的编辑器
vi —— 终端中的编辑器目标vi 简介打开和新建文件三种工作模式常用命令分屏命令常用命令速查图01. vi 简介1.1 学习 vi 的目的在工作中,要对 服务器 上的文件进行 简单 的修改,可以使用 ssh 远程登录到服务器上,并且使用 vi 进行快速的编辑即可常见需要修改的文件包括:源程序配置文件,例如 ssh 的配置文件 ~/.ssh/config在没有图形界面的环境下,要编辑文件,vi 是最佳选择!每一个要使用 Linux 的程序员,都应该或多或少的学
2021-01-16 10:27:18
330
原创 (二)目标检测之 HOG+SVM 算法
文章目录一、概述二、方法概述三、积分图四、AdaBoost五、级联检测六、结果七、复现八、总结参考资料一、概述 梯度直方图HOG(Histogram of Oriented Gradients)是法国人Dalal在2005年CVPR会议上提出的特征提取算法,并将其与 SVM 配合,用于行人检测。论文地址:Histograms of oriented gradients for human detectionHOG有个优点,提取的边缘和梯度特征能很好的抓住局部形状的特点,且因是对图像做了Gamma
2021-01-16 10:26:19
17045
2
原创 Anaconda 虚拟环境迁移
需求公司内网无法访问外网,pip可以访问私服,conda 无法创建虚拟环境。因为有用到python2,希望可以使用Anaconda管理pyhton2的虚拟环境。Conda PackConda-pack 是一个命令行工具,用于打包 conda 环境,其中包括该环境中安装的软件包的所有二进制文件。 当您想在有限或没有网络访问的系统中重现环境时,此功能很有用。上面的方法均从其各自的存储库下载软件包以创建环境。而此方法不需要。注意,conda-pack 指定平台和操作系统,目标计算机必须具有与源计算机相同的平
2020-12-23 22:10:35
1314
原创 Pythonic
Transforming Code into Beautiful, Idiomatic Python反向遍历集合colors = ['red', 'green', 'blue', 'yellow']for i in range(len(colors)-1, -1, -1): print(colors[i])# betterfor color in reversed(colors): print(color)使用iter()连续调用函数blocks = []while Tr.
2020-11-03 23:30:52
184
原创 Django---测试驱动开发(TDD)
Django---测试驱动开发(TDD基本概念单元测试功能测试单元测试/编写代码循环TDDDjango 案例命令阅读资料基本概念单元测试单元测试包括对最小代码单元的测试,这通常是函数或方法。单元测试主要是由单元/方法/功能的开发人员完成的,因为他们了解功能的核心。其目的在于检查每个程序单元能否正确实现详细设计说明中的模块功能、性能、接口和设计约束等要求,发现各模块内部可能存在的各种错误。单元测试确保每个代码单元在隔离状态下都能正常工作。它的一个限制是某些功能不能通过单元测试进行测试。即使在所有单
2020-10-07 16:23:40
605
原创 docker python 编译环境搭建
前言在对 python 源码进行学习的过程中,为了方便修改源码,调试结果,可以利用docker 搭建一个python编译环境。准备工作获取镜像docker pull centos共享目录docker run -it --name centos_py -v /f/python/源码/python源码/cpython:/cpython centos下载python编译环境依赖包yum install bzip2 bzip2-devel readline-devel sqlite-devel
2020-09-27 22:31:28
769
原创 (一)目标检测之 Viola-Jones
文章目录前言一、Viola Jones 背景二、Haar-like特征三、积分图四、AdaBoost五、级联检测六、结果七、总结参考资料前言目标检测:找出图像中所有感兴趣的物体,包含物体定位和物体分类两个子任务,即同时确定物体的类别和位置。传统目标检测方法的缺点:特征难以设计特征不鲁棒,效率存在瓶颈滑动窗口提取策略非常繁琐算法基本流程:候选框:通常采用滑动窗口的方法进行特征提取={底层特征:颜色、纹理、形状中层特征:PCA、LDA高层特征:对底层和中层特征进一步挖掘、表示
2020-09-21 21:12:01
18297
10
原创 linux 小技巧
有时候程序涉及到 kafka 发送、接收消息时,后台环境多人开发,不好变动,可视化界面如果没有搭建起来,一般用类似 kafka-console-consumer --bootstrap-server localhost:9092 --topic topic 指令 查看 kafka 是否接收消息,当发送消息过多,命令行终端显示不容易查看自己想看的消息,这个时候可以用 linux 的 tee 指令Linux tee命令用于读取标准输入的数据,并将其内容输出成文件。tee指令会从标准输入设备读取数据,将其内容
2020-09-18 00:01:03
147
原创 python 文件备份
#!/usr/bin/env python# -*- coding: utf-8 -*-import osimport timesource = ["./"] # 需要备份的目录target_dir = "./code/" # 保存备份的目录today_dir = target_dir + time.strftime('%Y%m%d')time_dir = time.strftime("%H%M%S")touch = today_dir + os.sep + time_dir +
2020-09-14 08:26:37
216
原创 遥感图像入门
遥感图像入门一、 遥感基本概念地物光谱特性3S 技术瑞利散射大气窗口二、 遥感系统的组成三、 衡量传感器性能的四个指标:四、 遥感分类五、 遥感数字图像处理图像与数字图像数字图像获取时的基本参数数字图像类型一、 遥感基本概念遥感(Remote Sensing)——遥远的感知,在未接触物体的情况下获取其特征信息,再经过提取、判定、加工及应用分析的一门综合性技术。广义的遥感遥感泛指一切无接触的远距离探测,包含对电磁场、力场、机械波(声波、地震波)等的探测。狭义的遥感狭义上理解,遥感是应用探测
2020-09-11 23:26:26
9020
原创 pgsql 小技巧
1 RETURNING colname在INSERT INTO或者UPDATE的时候在最后面加上RETURNING colname,PostgreSQL会在插入或者更新数据之后会返回你指定的字段。在批量插入数据的时候,可以通过 RETURNING id 获取多条数据的idsql_text = """INSERT INTO {db_name}.table_name ({key_str}) VALUES{info} RETURNING id""".fo
2020-09-05 01:42:28
286
原创 subprocess.Popen 调用缓慢
表现使用 python 的 subprocess.Popen 调用脚本时,发现虽然设置了直接返回状态码,不必等待脚本执行完毕,但依然会有很慢的情况出现,经过排查,发现原因在于fd被多个子进程同时继承导致的。在存在并发的时候, Popen中创建的pipe没有被关闭, 导致父进程认为子进程还没启动成功而一直阻塞。解决方案Popen时加上close_fds=True, 保证fd不会被多个子进程继承。proc = subprocess.Popen( cmd, close_fd
2020-09-05 01:36:42
2340
原创 kafka 常见错误
kafka-python包向目标主机发送消息时,报错 kafka.errors.FailedPayloadsError: FailedPayloadsError解决方案,修改hosts文件,添加目标主机IP,
2020-09-05 01:29:09
579
原创 使用docker配置kafka环境
Docker镜像使用第三方镜像wurstmeister/kafka-dockerdocker-compose.yml内容如下:---version: '2'services: zookeeper: image: confluentinc/cp-zookeeper:5.0.1 environment: ZOOKEEPER_CLIENT_PORT: 2181 ZOOKEEPER_TICK_TIME: 2000 kafka: # --------
2020-08-31 23:58:53
2582
原创 requests源码阅读
Requests 是一个非常简洁优雅的python HTTP库,老版本基于urllib和urllib2,由大神 Kenneth Reitz 开发,是广为推崇的Pythonic 代码。官方文档Requests: 让 HTTP 服务人类本文基于v0.2.0版本进行分析,v0.2.0版比较简单,核心代码400多行。KR只是简单的对urllib和urllib2进行封装。README简单的说明了KR造轮子的原因:Most existing Python modules for dealing HTTP r
2020-08-30 23:44:59
512
原创 k8s 简单demo--部署 tomcat
版本根据参考资料1,2,下载 docker desktop 后,开启 Kubernetes 服务。当前版本为2.3.0.4, Kubernetes 为 v1.16.5。通过 kubectl get nodes 命令可以看到节点情况,这里只有一个Master节点。准备工作创建一个单独的目录,来存放案例所需的文件mkdir k8s-demo && cd k8s-demo构建镜像这里直接用名docker pull tomcat 下载 tomcat,需要对tomcat 镜像进行修
2020-08-30 17:27:47
5446
1
原创 docker win10 数据卷(Data Volumes)挂载
数据卷(Data Volumes)是一个可供容器使用的特殊目录,它将主机操作系统目录直接映射进容器,类似于Linux中的mount行为。优点数据卷可以在容器之间共享和重用,容器间传递数据将变得高效与方便;对数据卷内数据的修改会立马生效,无论是容器内操作还是本地操作;对数据卷的更新不会影响镜像,解耦开应用和数据;数据卷会一直存在,直到没有容器使用,可以安全地卸载它。绑定数据卷在创建容器时,可以将主机本地的任意路径挂载到容器内作为数据卷。docker run -it -v /d/test:/
2020-08-29 01:02:46
8783
4
原创 docker安装tomcat启动后,访问首页出现404
docker 安装 tomcat 后,启动,发现无法访问 tomcat 首页。下载 tomcat运行 tomact, 将端口映射为8000访问 http://localhost:8000/,发现错误CTRL+P+Q,不停止退出容器,查看容器ID5. 进入 tomcat 容器内部,发现webapps下没有文件,webapps.dist存放着tomcat的默认文件, 将 webapps.dist 命名为webappsmv webapps webapps2mv webap
2020-08-28 07:41:34
793
原创 pgsql LEFT JOIN 右表数据不唯一
今天遇上一个类似 mysql left join 右表数据不唯一的情况解决方法 的问题,A表关联B表,B表数据不唯一,希望left join 后,只取B表中时间字段最迟的那条。在sql中,分组再加limit可以解决问题。但在pgsql中,由于GROUP BY 对字段的限制:在 GROUP BY 子句中,你可以对一列或者多列进行分组,但是被分组的列必须存在于列清单中。详见PostgreSQL GROUP BY 语句。如果对所需要的的查询字段,合起来分组,本身结果就是唯一,得不到想要的结果。最终利用 DIS
2020-08-18 21:45:26
3020
原创 ElasticSearch练习题---python
题目一、雇员表查询1.添加以下三条信息到Elasticsearch,index为megacorp,type为employee,id分别为1,2,3{“first_name” : “John”,“last_name” : “Smith”,“age” : 25,“about” : “I love to go rock climbing”,“interests”: [ “sports”, “music” ]}{“first_name” : “Jane”,“last_name” : “Smi
2020-08-15 16:53:14
758
原创 特殊字典---python
在阅读requests源码的过程中,发现KR建立了一个structures.py文件,打开一看,是来自werkzeug的两个特殊的数据结构,TypeConversionDict和MultiDict。看了一下实现,感觉挺有意思的,和大家分享一下收获。TypeConversionDictTypeConversionDict 要实现的功能如下: >>> d = TypeConversionDict(foo='42', bar='blub') >>> d.ge
2020-08-10 20:41:41
951
原创 Django项目骨架与常见配置修改
命令django-admin startproject XX # 创建项目python manage.py startapp XX # 创建应用python manage.py shell # shell,进入当前项目环境python mange.py runserver # 启动内置的服务器运行当前的项目python manage.py makemigrations # 生成迁移文件(数据表的Schema)python manage.py migrate # 数据库迁移python ma
2020-08-09 22:29:15
727
原创 面试题
什么是 Logistic 回归,以及其常见的应用场景简述 K-means 原理以及优劣点请描述什么是 RDF 三元组以及其作用的场景请描述什么是实体抽取以及管理抽取,以及常用的算法。简单描述在知识图谱领域,实体对齐的场景以及目的简单描述知识图谱的应用场景。单词纠错问题,大概题意是给你一个字典数据,key为单词,value为统计出现在文章中的次数,基于贝叶斯方面的知识,给出理论推导,并完成词语拼写过程中的纠错功能。将第七题中的英文改成汉字。...
2020-07-18 11:52:00
899
原创 URL之slug处理
为了生成一个可读性更强、对用户和搜索引擎更友好的固定链接,可以考虑把标题转换成英文或拼音,使用处理后的标题(即slug)构建固定链接。import refrom unidecode import unidecode_punct_re = re.compile(r'[\t ! "#$%&\'()*\-/<=>? @\[\\\]^_`{|}, .]+')def slugify(text, delim=u'-'): """Generates an ASCII-only s
2020-07-10 00:21:51
1626
原创 win10 Flask-DebugToolbar ValueError: path is on mount ‘c:‘, start on mount ‘D:‘
使用Flask-DebugToolbar包后,报错win10 Flask-DebugToolbar ValueError: path is on mount 'c:', start on mount 'D:'。原因是有些包从C盘导入,当时比较奇怪,我用的anaconda,安装在d盘,所有的包应该导入在d盘。使用print(sys.path)打印后,发现C盘确实下载了一些包,打开看了后,发现应该是在使用jupyter notebook时,下载了一些包。['D:\\ruanjian\\anaconda\
2020-07-09 10:50:08
2060
1
原创 vscode autoppep8 自动格式化,改变import顺序问题
在flask中,经常需要进行一些操作后,再引入包。vscode使用 autoppep8设置保存自动格式化后,会将下面的import放入页面底部。解决办法打开 VSCode 设置,输入python.formatting.autopep8Args,添加["--ignore", "E402"],让 autopep8 忽略 E402,也就是 “模块级别导入不在文件顶部”错误。"python.formatting.autopep8Args": ["--ignore", "E402"]在需要固定位置的
2020-07-08 20:56:18
5834
原创 flask-mail 发送带附件的邮件
Flask-Mail包装了Python标准库中的smtplib包,简化了在Flask程序中发送电子邮件的过程。Flask-Mail通过连接SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)服务器来发送邮件。在开始发送电子邮件前,我们需要配置SMTP服务器。在开发和测试阶段,我们可以使用邮件服务提供商的SMTP服务器(比如QQ),这时我们需要对Flask-Mail进行配置。配置邮箱服务器QQ授权码在QQ邮箱设置中进行配置。配置项如下:MAIL_SERVER =
2020-07-07 15:52:06
1443
原创 设备管理系统-基于Tkinter的小案例
基于Tkinter,做了一个简易的设备管理系统。文件格式检验文件.txt 文件格式如下:状态获取.txt 文件格式如下:机器名称:测试4号 220V 2.5A代码如下import tkinter as tkimport tkinter.messagebox as msgimport reMachines_list = ['机器名称', '额定电压', '额定电流', '故障原因', '故障名称', '故障地点']# 检验文件路径filepath = '.\检验文件.t
2020-06-11 21:48:38
1105
1
原创 常见爬虫技术
反爬虫技术1.降低请求频率2. 修改请求头3. 禁用Cookie4. 伪装成随机浏览器1)设定浏览器列表2)在中间件UserAgentMiddleware中从浏览器列表中随机获取一个浏览器3)启用中间件UserAgentMiddleware。5.更换IP地址1.降低请求频率对于Scrapy框架来说,在配置文件settings.py中设置DOWNLOAD_DELAY即可。以下代码设置下载延迟时间为3秒,即两次请求间隔3秒。DOWNLOAD_DELAY = 3为了防止请求过于规律,可以使用RANDOM
2020-06-04 10:21:02
4233
原创 算法作业
设CiC_iCi为第i步实际的代价,则∑i=1nCi≤n+∑j=0log n2j=n+(2n−1)<3n\sum_{i=1}^nC_i \leq n+ \sum_{j=0}^{log \ n}2^j = n+(2n-1) <3ni=1∑nCi≤n+j=0∑log n2j=n+(2n−1)<3n所以每次分摊费用为O(1)O(1)O(1)定义Ci...
2020-06-03 14:37:41
3482
原创 爬虫小案例
1) 爬取豆瓣电影import requestsimport jsonimport pandas as pdfrom bs4 import BeautifulSoupimport csvimport osimport timeheaders = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 S
2020-05-28 15:45:20
865
3
原创 集成学习
原文链接:https://editor.csdn.net/md?articleId=106394362目录1 二元决策树DecisionTreeRegressor2 自举集成(Bagging)随机森林(Bagging + 随机选择的属性子集)3 Boosting1) AdaBoost2) 梯度提升法(Gradient Boosting)4 总结5 Sklearn实战1) 构建随机森林模型来预测红酒口感2) 用梯度提升来预测红酒品质3) 用Bagging来预测红酒口感误差:偏差:欠拟合(Underfi
2020-05-28 00:34:43
969
原创 惩罚线性回归---Python机器学习:预测分析核心算法
惩罚线性回归参考教材:Python机器学习预测分析核心算法,书中代码较为过时,借用sklearn等工具包进行了重写。实践中遇到的绝大多数预测分析(函数逼近)问题,惩罚线性回归和集成方法都具有最优或接近最优的性能。这些问题包含:大数据集、小数据集、宽数据集(wide data sets)、高瘦数据集(tall skinny data sets)、复杂问题、简单问题惩罚线性回归模型一个重要优势就是它训练所需时间。当面对大规模的数据时,训练所需时间就成为一个需要考量的因素1. 声呐数据集声纳信号又叫作
2020-05-25 23:47:43
1789
原创 HMM
HMM公式推导在 HMM 中,有两个基本假设:齐次 Markov 假设(未来只依赖于当前):p(it+1∣it,it−1,⋯ ,i1,ot,ot−1,⋯ ,o1)=p(it+1∣it)p(i_{t+1}|i_t,i_{t-1},\cdots,i_1,o_t,o_{t-1},\cdots,o_1)=p(i_{t+1}|i_t)p(it+1∣it,it−1,⋯,i1,ot,o...
2020-05-07 12:51:35
803
2
Laravel 基础入门到微信商城实战开发(有源码)
2019-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人