自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

修炼之路

路漫漫其修远兮,吾将上下而求索

  • 博客(299)
  • 资源 (20)
  • 论坛 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 OCR图片预处理之去除印章(一)

导读import cv2import numpy as npdef remove_red_seal(input_img): # 通道分离 blue_c, green_c, red_c = cv2.split(input_img) # 选择阈值 thresh, ret = cv2.threshold(red_c, 0, 255,cv2.THRESH_TRIANGLE) # filter_condition = int(thresh * 0.9) fil

2020-12-01 23:28:34 32

原创 python通过字符串来调用函数

导读有时候我们想要通过字符串来直接调用函数,方便通过输入的参数来直接控制调用的函数常规操作def function1(): print("function1")def function2(): print("function2")def function3(): print("function3")def call_fun_by_str(fun_str): if fun_str == "function1": function1()

2020-11-19 10:40:20 48

原创 pywintypes.error: (1314, ‘SetSystemTime‘, ‘客户端没有所需的特权。‘)

报错原因在使用win32api来修改同步windows的系统时间时报win32api.SetSystemTime(tm_year, tm_mon, tm_wday, tm_mday, tm_hour, tm_min, tm_sec, int(msec)) pywintypes.error: (1314, 'SetSystemTime', '客户端没有所需的特权。')代码如下win32api.SetSystemTime(2020,11,1,11,13,10,10,0)错误原因导致这个错误的原因是在

2020-11-11 21:14:52 153 1

原创 人脸识别常用的评估指标

导读随着硬件性能的提升和人脸数据量的增大,人脸识别也越来越成熟,商业应用也越来越多。经常看到各种软文吹嘘,说在LFW上的识别准确率达到99%以上等等。实际上,在评估一个人脸识别模型的时候并不会只用一个准确率来恒量模型的效果,下面我们来看看到底应该通过什么指标来恒量人脸识别模型的性能人脸识别...

2020-10-17 23:31:46 248

原创 gluoncv model转symbol

使用gluoncv加载模型先从gluoncv的model zoo加载模型的网络结构,设置类别数量,然后再加载已经训练好的模型参数#设置GPU的IDgpu_id = 0#设置分类模型的标签类别classes = ["A","B"]#使用gluoncv加载ResNet50_v2模型,并设置模型类别的数量classify_net = gcv.model_zoo.get_model("ResNet50_v2", classes=classify_names, pretrained=False,.

2020-10-10 14:38:41 71

原创 flask GPU内存泄漏问题

导读在使用flask部署mxnet模型的时候,测试的时候发现调用flask接口的时候GPU内存一直在增长,最终导致GPU内存爆掉,服务自动荡调了。解决办法从flask1.0之后,app.run中默认打开了threaded=True来支持多个并发请求,从而导致了GPU内存泄漏app.run(debug=False, host='0.0.0.0', port=5010)比较简单粗暴的方法就是,将多线程改成单线程,代码如下app.run(debug=False, host='0.0.0

2020-10-10 10:50:27 222 1

原创 分类算法中常用的评估指标

导读通常我们在解决某个问题的时候,会设计多种分类算法在训练的时候我们还会调节各种超参以及使用各种trick以获取最优的分类模型,那这时候我们应该如何来衡量这个最优呢?分类算法的评估指标有很多种,选择使用哪一种评估指标,应该根据实际情况来进行选择,而不能一概而定。混淆矩阵我们先来了解一下混淆矩阵,后面的分类评估指标其实都是在这个基础上发展而来,理解了这个,再去学习后面的评估指标就很简单了。混淆矩阵(confusion matrix):是机器学习领域和统计分类问题中常用的可视化工具,从名字上不能看出其

2020-09-27 22:18:18 174

原创 编译ncnn时报OpenCV not found, examples won‘t be built

导读在编译ncnn的时候,报如下错误:CMake Warning at examples/CMakeLists.txt:35 (message):OpenCV not found, examples won't be built解决方法在编译ncnn的时候,默认还编译了ncnn的examples,里面用到了OpenCV,没有找到OpenCV的环境变量所以导致报错了编译ncnn库的时候不编译examples使用cmake命令的时候添加-DNCNN_BUILD_EXAMPLES参数设置,

2020-09-27 16:09:13 225

原创 OSError: libnvidia-ml.so.1: cannot open shared object file: No such file or directory

错误信息在docker中使用GPU版的mxnet时报了如下错误>>> import mxnet as mxTraceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python3.5/dist-packages/mxnet/__init__.py", line 23, in <module> from

2020-09-09 15:37:28 704

原创 tensorflow报No OpKernel was registered to support Op ‘NcclAllReduce‘

导读在使用tensorflow训练模型的时候报如下错误tensorflow.python.framework.errors_impl.InvalidArgumentError: No OpKernel was registered to support Op 'NcclAllReduce' used by node AllReduceGrads/NcclAllReduce (defined at /home/zw/anaconda3/envs/tf_models/lib/python3.7/sit

2020-08-14 14:11:39 937

原创 python给人脸带上口罩(简单版)

导读因为目前公开的口罩人脸数据比较少,如果想训练一个口罩人脸识别模型,必须依赖大量的人脸数据。为了收集到更多的口罩人脸数据,我们只能利用已有的公开人脸数据上通过程序来模拟人脸带口罩。这篇文章向大家介绍一个简单版本使用python来给正常人脸带上口罩的思路和代码原理介绍想要给人脸戴口罩,就必须要用到人脸关键点的信息,通过关键点信息,我们就能知道应该将口罩放在哪个位置人脸关键点检测这里我们使用的是68个人脸关键点,关键点的位置在人脸上的分布如下图所示后面我们只需要用到其中四个关键点,用来计算口

2020-07-28 23:12:28 521

原创 ndk编译error: undefined reference to ‘fegetenv‘

导读在使用Android studio的CMake重新编译OpenCV的时候报/build/master_pack-android/build/o4a/3rdparty/tbb/tbb-2018_U1/src/tbb/scheduler_common.h:431: error: undefined reference to ‘fegetenv’/build/master_pack-android/build/o4a/3rdparty/tbb/tbb-2018_U1/src/tbb/scheduler

2020-07-24 09:54:04 555

原创 Python计算点到直线距离的两种方法

import numpy as npdef get_distance_from_point_to_line(point, line_point1, line_point2): A = line_point2[1] - line_point1[1] B = line_point1[0] - line_point2[0] C = (line_point1[1] - line_point2[1]) * line_point1[0] + \ (line_point2[0]

2020-07-22 14:04:19 1811 4

原创 使用Pillow绘制圆、矩形、饼图、圆弧以及绘制文字

导读Pillow是Python中一个常用的图像处理库,这篇文章我们就来介绍一下如何通过Pillow来实现在图片上绘制各种图像以及文字。安装pip install Pillow绘制文字下载字体文件在使用PIL在图片上绘制文字的时候,需要先准备一个字体文件,这里我们使用SimHei.ttf字体文件下载地址:SimHei.ttf字体下载文字绘制代码from PIL import Image,ImageFont,ImageDrawdef draw_text(): #加载字体

2020-07-20 16:23:25 589

原创 insightface训练mobilenet的时候模型太大

导读在使用insightface训练mobilefacenet的时候,训练完成之后模型还有22.5M,而官方训练的模型只有4.7M左右,训练的命令如下: CUDA_VISIBLE_DEVICES='0,1' python -u train_softmax.py --network y1 --ckpt 2 --loss-type 4 --margin-s 128 --lr-steps 120000,180000,210000,230000 --emb-size 512 --per-batch-siz

2020-07-16 16:49:58 398

原创 mxnet Record IO详解

导读当我们需要使用大数据集来训练模型的时候,这时候加载和读取数据就成为了我们训练的瓶颈。Mxnet提供了一种数据的存储格式ImageRecord,通过这种数据的存储格式可以使用多进程来加载数据,可以极大的提高训练的效率。Mxnet提供了一个mx.recordio模块,可以对ImageRecord文件进行操作,该模块里面包含了两个子模块。MXRecordIO支持顺序读写,MXIndexedRecordIO支持随机读写。下面就来我们一起来看一下,这两个子模块中的一些接口函数,以及如何使用它们来读取和保存Im

2020-07-09 13:16:37 621

原创 将numpy array转换为bytes

问题分析需要将图片的numpy的array数据转换为bytes,转换之后的bytes数据要等价于open(file,"rb")。在使用numpy的tobytes(等价于tostring)方法发现得到的bytes数据并不等价于open(file,"rb")数据,需要对array数据进行相同的图片格式编码之后,再使用tobytes才行。代码import cv2img_path = "img/test.jpg"#打开图片文件获取二进制数据with open(img_path,"rb") as

2020-07-08 16:42:09 1923

原创 pickle报UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xff in position 0:

错误描述在使用Python3的pickle读取Python2的pickle保存的bin文件时报UnicodeDecodeError: 'ascii' codec can't decode byte 0xff in position 0: ordinal not in range(128)代码python2使用pickle保存bin文件使用pickle读取图片,将图片保存为bin文件import picklepath = "test.jpg"lfw_bins = []issame_l

2020-07-07 18:55:47 655

转载 AttributeError: module ‘_pickle‘ has no attribute ‘HIGHEST_PROTOCOL‘

错误描述Python3在使用pickle保存文件的时候,使用protocol=HIGHEST_PROTOCOL保存的时候报AttributeError: module '_pickle' has no attribute 'HIGHEST_PROTOCOL'解决办法将protocol=HIGHEST_PROTOCOL用-1替换,代码如下with open(output_path, 'wb') as f: pickle.dump((save_bins, issame_list), f

2020-07-07 14:36:51 340

原创 cupy利用GPU来加速你的numpy操作

导读numpy是python中常用的一个矩阵运算库,而且numpy的底层都是采用c实现的,所以执行效率和速度也是很快的,但numpy是利用CPU来进行矩阵运算的,如果遇到大数据的矩阵运算,你会发现numpy真的很慢。那有没有什么办法来加速呢?想到大矩阵的运算肯定会想多使用GPU来计算,就让我们来看看numpy的GPU版本cupy。环境要求操作系统官方推荐安装环境是在linux操作系统下安装:Ubuntu 16.04 / 18.04 LTS (64-bit)CentOS 7 (64-bit)

2020-07-04 12:16:50 1091

原创 JNI将Android Bitmap转为OpenCV的Mat

导读在封装so库的时候,底层c++代码的实现使用了OpenCV对图片进行操作,而Android中从摄像头中获取到的图片数据类型是Bitmap数据类型的,所以这里就避免不了做数据类型的转换。转换的方案主要有两种,一种是封装的JNI接口方法直接接收cv::Mat数据类型的参数,第二种是JNI方法的接口接收Bitmap数据类型的参数,在JNI中实现Bitmap到cv::Mat的转换。使用OpenCV的SDK实现数据类型的转换第一种方法,如果想在Android中使用cv::Mat的数据类型,我们可以直接

2020-07-03 16:22:44 364

原创 pymysql提示Warning: (1300, “Invalid utf8mb4 character string: ‘F9876A‘“)

错误原因使用pymysql连接MySQL数据库,新增数据的字段中有blob类型的数据,在新增的时候报Warning: (1300, "Invalid utf8mb4 character string: 'F9876A'")解决方法未修改的代码如下def insert_vector(table_name ,vector_id,vector_str): connect = None cursor = None try: connect = pymysql.

2020-07-02 18:07:09 1189 1

原创 c++ opencv的Mat多维数组的初始化、dot、Element-wise

Mat多维数组初始化#include <iostream>#include <opencv2/opencv.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/highgui/highgui.hpp>int main(){ //定义一个float数组 float a[4] = {1,2,3,4}; //将数组转换为矩阵,2行2列的矩阵 cv::

2020-06-15 10:46:57 331

原创 mxnet ValueError: Parameter *** because it has not been in

导读在使用mxnet的gluon训练网络的时候,报ValueError: Cannot reset context for Parameter 'mobilenet0_dense1_weight' because it has not been initialized.错误原因通过错误信息不难看出是因为参数mobilenet0_dense1_weight没有初始化导致的,所以我们只需要初始化这个参数即可,mxnet有多种可以初始化参数的方法,这里我们介绍两种collect_params函数初

2020-06-10 16:27:01 308

原创 ncnn使用GPU时报error: undefined reference to *******

导读根据ncnn的官方教程使用vulkan-sdk编译了一个带gpu功能的libncnn.a库,官方教程如下:https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-windows-x64-using-visual-studio-community-2017详细错误../../../../src/main/cppLibs/ncnn/lib/armeabi-v7a/libncnn.a(modelbin.cpp.o):modelb

2020-06-05 11:06:57 786 1

原创 multi-model-server报--model-store is required to load model locally

导读在使用multi-model-server来部署mxnet模型的时候,遇到了--model-store is required to load model locally问题分析在不使用config.properties配置文件的时候,安装官方文档的提示能够正常启动,启动命令如下multi-model-server --start --model-store examples --models ssd=resnet50_ssd_model.marmodel-store:本地目录,模

2020-06-03 15:08:19 120

原创 Python3模拟curl发送请求

导读有些时候我们需要使用Python来模拟curl发送请求获取,响应的结果,在这篇文章中,我们将介绍如何在Python3中通过使用urllib3来获取请求的响应结果urllib3urllib3可以模拟HTTP和HTTPS的post以及get请求安装在Python3的版本中,应该默认安装了这个模块,如果没有安装,请使用下面的命令进行安装pip install urllib3不带参数的get请求 import urllib3http = urllib3.PoolManage.

2020-06-02 15:18:22 2841

原创 pycocotools报TypeError: object of type class numpy.float64 cannot be safely interpreted as an int

错误详情在使用pycocotools的时候报TypeError: object of type <class 'numpy.float64'> cannot be safely interpreted as an integer.错误详细信息如下 File "/home/disk0/zw/workspace/models/research/object_detection/metrics/coco_evaluation.py", line 415, in first_value_fu

2020-06-01 20:37:37 1253

转载 WARNING:tensorflow:Entity bound method BatchNormalization.call of

信息描述在使用TensorFlow的时候报一堆的warningWARNING:tensorflow:Entity <bound method BatchNormalization.call of <tensorflow.python.layers.normalization.Ba$chNormalization object at 0x7f3905978cf8>> could not be transformed and will be executed as-is. P

2020-05-30 17:29:49 1460

原创 tensorflow2没有slim模块

错误原因在TensorFlow2的版本中,已经移除了contrib模块,所以就没有slim模块,在TensorFlow1的版本中slim的模块导入如下from tensorflow.contrib import slim解决办法我们可以通过安装tf_slim模块来替换contrib中slim,安装tf_slim模块pip install tf_slimimport tf_slim as slim...

2020-05-30 13:25:11 1390

原创 TensorFlow报AttributeError: module tensorflow has no attribute io

错误描述在使用TensorFlow的models参考的代码训练目标检测模型时候报AttributeError: module 'tensorflow' has no attribute 'io'错误,错误是由下面的代码导致的with tf.io.gfile.GFile(path, 'r') as fid:python版本:3.6.10TensorFlow版本:1.8.0解决办法因为TensorFlow版本的升级对接口做了调整,将上面的代码改成下面的行with tf.gfile

2020-05-27 21:25:47 4533 4

原创 TensorFlow报ImportError: cannot import name string_int_label_map_pb2

错误描述models仓库地址:https://github.com/tensorflow/models在使用TensorFlow的models来训练目标检测算法,通过object_detection/datasets_tools来在自己的数据集上构建一个tfrecord文件的时候报ImportError: cannot import name 'string_int_label_map_pb2'错误错误定位在label_map_util文件中第27行from object_detect

2020-05-26 23:16:29 815

原创 ncnn报null pointer dereference异常

错误描述基于c++使用ncnn封装了深度学习模型,并将c++项目打包成为了一个so库给Android调用,在打包成为so库之前,在Windows系统以及Ubuntu系统利用电脑的camera测试过都能正常运行没有任何异常,打包成so库之后给Android的开发人员调用时,直接报了一个null pointer dereference错误,并且APP直接奔溃错误定位对于打包的so库不好定位错误的位置,能够提供的信息都是内存地址相关信息,所以我们需要先通过这些错误信息提供的内存地址来定位so库报错的位

2020-05-19 16:48:55 876

原创 python OpenCV保存图片error: (-215:Assertion failed) !_img.empty()

错误详细描述在使用OpenCV的imwrite函数保存图片的时候报cv2.error: OpenCV(4.2.0) C:\projects\opencv-python\opencv\modules\imgcodecs\src\loadsave.cpp:715: error: (-215:Assertion failed) !_img.empty() in function ‘cv::imwrite’错误原因分析使用clip来切分图片,代码如下clip_img = img[top:(top+heigh

2020-05-16 11:24:50 3984

原创 ncnn在visual studio上编译报platform.h找不到标识符

错误提示在使用visual studio编译ncnn的项目时报了很多关于platform.h找不到标识符的错误解决办法需要导入#include <windows.h>头文件,在第一行导入

2020-05-12 21:45:33 291

原创 ndk-build ncnn报undefined reference to '__kmpc_fork_call'

错误原因使用c++写了一个关于ncnn调用深度学习模型的项目,需要部署到手机端,在Ubuntu系统下使用ndk-build来编译so库提供给Android端使用,在ndk-build的时候报了上面的错误错误描述absval.cpp:28: error: undefined reference to '__kmpc_global_thread_num'absval.cpp:34: error: undefined reference to '__kmpc_push_num_threads'

2020-05-10 20:28:53 670

翻译 conversion from ‘const cv::Mat’ to non-scalar type ‘IplImage’ {aka ‘_IplImage’}

错误详细描述/dlib/opencv/cv_image.h:37:22: **error**: conversion from ‘const cv::Mat’ to non-scalar type ‘IplImage’ {aka ‘_IplImage’} requested IplImage temp = img;原因在c++中使用dlib的front_face_detector人脸检测,需要对OpenCV的Mat格式的图像进行转换,原代码const cv::Mat& bgr;c

2020-05-09 23:35:39 1363

原创 mxnet加载模型的params和json文件来预测

导读有时候我们在使用别人的mxnet预训练模型时,会有两个文件params和json文件,其中params文件中包含的是模型的网络参数,json文件包含的是网络的结构。这里我们以ImageNet的预训练模型为例,来介绍如何加载模型并进行预测。使用预训练模型进行预测下载预训练模型import mxnet as mx#定义一个data batchfrom collections imp...

2020-05-02 23:37:29 1342 4

原创 mxnet通过模型的json文件和params文件导出模型的结构图

导读有时候我们需要导出网络的结构图,来了解网络的结构和网络的输入输出节点等信息导出网络结构图通过mxnet模型的json文件和params文件可以很容易的导出模型的结构图,代码如下下载模型的json文件和params文件这里我们以ResNet-18网络结构为例,通过下面的代码先下载需要的文件import mxnet as mxdef download_model(): pa...

2020-05-01 16:58:52 1176

原创 mxnet报graphviz.backend.ExecutableNotFound: failed to execute

错误描述graphviz.backend.ExecutableNotFound: failed to execute ['dot', '-Tpdf', '-O', 'resnet-18'], make sure the Graphviz executables are on your systems' PATH原因介绍在使用mxnet通过json文件来保存模型的计算图结构时报错,保存...

2020-05-01 10:43:49 385

OpenCC windows版

OpenCC windows版,用来在中文简体、繁体之间相互转换。

2018-07-30

机器学习常用数据集(iris、wine、abalone)

包括了常用的机器学习数据集,都是csv格式的。有iris.csv、wine.csv、abalone.csv、glass.csv一共由11个数据。

2018-06-06

zxing源码,包含编译好的lib

包含zxing源码和已经编译好的lib,包含zxing源码和已经编译好的lib。

2018-05-28

葡萄酒数据集(wine.csv)

UCI网站上的机器学习样本数据集,包含了13个不同的特征,对178个葡萄酒数据样本的化学特征做出了描述,包含了列表,是一个csv表格。

2018-03-07

opencv2.4.11配置文件

vs的opencv2.4.11配置文件,包含了项目的opencv配置环境

2018-02-27

chromedriver

chromedriver2.32版本,selenium的chrome驱动,selenium是一款模拟浏览器行为的工具,可以支持多款浏览器chrome。

2017-09-04

朴素贝叶斯文本分类

基于朴素贝叶斯的文本分类,结合了TF-IDF算法和textrank算法

2017-08-29

opencv_python-3.3.0-cp35-cp35m-win_amd64.whl

python3.5安装opencv的whl文件

2017-08-26

TextRank算法的实现原理

该PDF是英文版的,主要介绍了TextRank算法的实现

2017-08-08

gensim2.3.0.tar.gz

gensim2.3.0安装包,具体安装步骤请参照我的博客

2017-08-05

k近邻算法的实现

使用python实现k近邻算法,以及测试用例如何识别手写数字,该算法的实现是基于python3,python2的代码可能部分有所不同

2017-07-30

htmlunit爬取网页并保存成Excel

htmlunit爬取网站的数据并保存成Excel表格

2017-07-08

imaging.jar

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/imaging/Imaging

2017-04-02

itext5.5.11 dll

itext5.5.11 dll

2017-04-02

itext5.5.11

itext5.5.11解析PDF

2017-04-02

PDF reference 1.6中文版

PDF reference 1.6中文版+PDF reference 1.7英文版+PDF 分析工具

2017-03-31

itext7-7.0.2(java的pdf jar)

这个我是从git上下载的,上传的目的,只是在git上下载东西真的很慢,受不了。

2017-03-23

zxing lib的使用

zxing c++ lib的使用

2017-03-05

zxing cpp lib

visual studio2013环境下编译生成的lib,从网上下载的,但是我已经更正好了所有的错误,而且还在zxing的基础上,封装了解析二维码的方法,封装是基于opencv的基础,可以去我的博客中看如何使用。这个lib生成的时候是使用,MTD,所以在使用的时候需要注意一下,也要选择MTD,具体操作详见我的博客。

2017-03-05

zxing cpp解析二维码|zxingTest.zip

zxing c++解析二维码,这个是在visual studio2013的测试通过的,基于opencv所以,在使用的时候需要opencv的环境

2017-03-05

修炼之路的留言板

发表于 2020-01-02 最后回复 2020-03-08

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

TA关注的人 TA的粉丝

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