- 博客(432)
- 资源 (21)
- 问答 (1)
- 收藏
- 关注
原创 opencv常用的形态学操作
导读在使用opencv做图像处理的时候,我们经常会需要用到一些基础的图像形态学操作腐蚀、膨胀。通过这些基本的形态学操作我们可以实现去噪以及图像的切割等。形态学变换是基于图像形状的基础变换,它只能在二值图像上做处理。形态学操作需要两个输入,输入图像和structuring element或kernel,structuring element和kernel决定我们做何种形态学处理的操作。腐蚀和膨胀是形态学处理的基础操作,而开运算和闭运算是基于腐蚀和膨胀的变种操作。下面我们就介绍一下如何在实际中应用这些操作
2021-12-07 22:37:09 6763 5
原创 imgwarp.cpp:3143: error: (-215:Assertion failed) _src.total() > 0 in function ‘warpPerspective‘
错误缘由在使用opencv做透视变换的时候报error: (-215:Assertion failed) _src.total() > 0 in function 'warpPerspective',错误的详细信息如下cv2.error: OpenCV(4.4.0) /tmp/pip-req-build-dglzv4yn/opencv/modules/imgproc/src/imgwarp.cpp:3143: error: (-215:Assertion failed) _src.total()
2021-12-01 23:00:43 5018
原创 python关闭print的输出信息
import sysprint("1111111")#关闭print的输出sys.stdout = open(os.devnull, 'w')print("2222222")#打开print的输出sys.stdout = sys.__stdout__print("3333333")
2021-11-30 15:51:59 9294
原创 windows bat启动程序和监控程序自启动
导读我们需要监控某个服务进程是否启动,如果服务奔溃了就自动重启,这里以redis为例介绍一下如何在windows上写这种bat文件,来监控服务的状态监控服务的运行状态脚本启动redisredis.bat文件的内容如下@echo offrem 隐藏redis启动后的cmd窗口if "%1" == "h" goto beginmshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&
2021-11-30 15:41:51 4281
原创 python获取mq队列数据报Queue.declare: (406) PRECONDITION_FAILED - inequivalent arg ‘x-max-priority‘
缘由使用kombu读取队列数据的时候报如下错误amqp.exceptions.PreconditionFailed: Queue.declare: (406) PRECONDITION_FAILED - inequivalent arg ‘x-max-priority’ for queue ‘douyin.pg.logo.ready’ in vhost ‘douyin_pggolden’: received none but current is the value ‘5’ of type ‘sign
2021-11-26 17:27:06 2767
原创 python OpenCV给视频去除水印
导读import cv2# 创建读取视频的类capture = cv2.VideoCapture("mapping.mp4")# 得到视频的高度height = capture.get(cv2.CAP_PROP_FRAME_HEIGHT)# 得到视频的宽度width = capture.get(cv2.CAP_PROP_FRAME_WIDTH)# 得到视频的帧数count = capture.get(cv2.CAP_PROP_FRAME_COUNT)# 得到视频的帧速fps = cap
2021-11-26 14:59:34 8377 1
原创 node上传文件到FTP服务器报Error: Timed out while making data connection
错误原因在局域网内搭建了一个FTP服务器,因为项目使用node-ftp封装的一个FTP文件上传和下载服务,在上传文件的时候报如下错误:(node:29020) UnhandledPromiseRejectionWarning: Error: Timed out while making data connectionat Timeout. (D:\git project\nexrender\packages\nexrender-provider-ftp\node_modules\ftp\lib\co
2021-11-19 11:17:54 1946
原创 loss乘以100等价于learning rate乘以100?
导读看到这个问题的时候,可能你会很直观的认为是等价的,其实等不等价这个应该取决于在更新参数时所选择的优化算法。因为无论是缩放loss还是learning rate最终的影响都是对更新参数时偏移量(Δ\DeltaΔ)的影响,而不同的优化算法会导致这个偏移量存在差别,下面我们来讨论一下不同优化算法之间的差别。SGD梯度下降优化算法,也是最常见的一种优化算法,公式如下:θ=θ−η∗ΔθJ(θ)\theta = \theta - \eta * \Delta_{\theta}J(\theta)θ=θ−η
2021-10-24 22:45:30 3707
原创 Python报mongod: error while loading shared libraries: libcrypto.so.1.1
导读使用Python安装完mongodb之后,在执行mongod报如下错误mongod: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory解决办法找到使用的虚拟环境,例如我的虚拟环境的名称叫torch,使用下面的命令查看环境下是否存在libcrypto.so.1.1文件#切换到lib目录下cd /root/anaco
2021-09-12 23:21:04 14892
原创 TensorRT报Cuda initialization failure with error
起因在使用TensorRT将onnx模型转换为engine时报[TRT] Cuda initialization failure with error详细错误信息如下[TensorRT] ERROR: CUDA initialization failure with error 222. Please check your CUDA installation: http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html问
2021-09-03 16:07:57 10278 2
原创 只需要5秒就能克隆出你的声音
导读只需要一段5秒钟的录音,就能将其他的文字转换成你的声音。Real-Time-Voice-Cloning该项目目前在git上以及接近30k的星,作者将克隆后的效果已经上传到youtube演示视频。遗憾的是这个项目只支持英文。最近从这个项目中发展了一个中文的分支Realtime-Voice-Clone-Chinese,作者已经在效果上传到了bilibili演示视频下面我就教大家如何在你的电脑上使用这个项目运行环境系统:Windows、LinuxPython版本:3.7+pytorch版本:
2021-08-28 11:14:20 18495 28
原创 TensorRT onnx转engine报Assertion failed: dims.nbDims == 4 || dims.nbDims == 5
错误信息在使用TensorRT将onnx转为engine的时候报错,错误信息如下[08/27/2021-15:27:08] [I] === Model Options ===[08/27/2021-15:27:08] [I] Format: ONNX[08/27/2021-15:27:08] [I] Model: glintr100.onnx[08/27/2021-15:27:08] [I] Output:[08/27/2021-15:27:08] [I] === Build Options =
2021-08-27 15:38:54 2146
原创 python通过url获取文件名和文件的后缀
导读很多时候我们需要获取url的文件名以及文件的后缀,方便我们来处理数据。获取url的后缀名称from urllib.parse import urlparse# url = "http://photographs.500px.com/kyle/09-09-201315-47-571378756077.jpg"# url = "https://img1.baidu.com/it/u=1845235267,872385921&fm=26&fmt=auto&gp=0.jpg"
2021-08-13 10:52:29 4474 1
原创 微软开源的机器学习入门课程
文章目录欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编
2021-08-04 22:18:03 521
原创 什么?Python的多进程居然比单进程慢?
导读很多时候,当我们需要使用Python来处理大量的数据的时候,为了缩短处理的时间,我们会使用多线程或多进程来并行处理任务。由于Python全局解释器锁的存在,导致在执行多线程的时候实际上只有一个线程在运行,这使得多核CPU无法发挥它真正的效率。而多进程就可以很好的解决这个问题。如果你打开多进程的姿势不对,会导致它比单进程更慢,下面我们就来看看如何正确的打开多进程。实验环境系统:Ubuntu16.04Python:3.7示例这个示例是基于Python对图片做一个预处理,以便于后面神经网络使
2021-08-02 22:17:49 9534
原创 redis.exceptions.ResponseError: unknown command `KEYS`
错误信息在使用python的查询redis里面所有的键信息时报错redis.exceptions.ResponseError: unknown command `KEYS`, with args beginning with: `*`, 代码如下import redispool = redis.ConnectionPool(host='127.0,0.1', port=6379, db=0, password='123456')r = redis.StrictRedis(connection
2021-07-21 18:05:12 3858
原创 Ubuntu、CentOS、macOS测试服务器上传和下载速度
导读通过speedtest我们可以方便的电脑的上传和下载速度。除此之外,我们还可以通过speedtest-cli来测试网速。macOSbrew tap teamookla/speedtestbrew update# Example how to remove conflicting or old versions using brew# brew uninstall speedtest --forcebrew install speedtest --forceUbuntu## If mi
2021-07-21 15:49:07 1310
原创 pip install报python setup.py egg_info Check the logs for full command output.
错误信息pip install nvidia-pyindexLooking in indexes: https://pypi.tuna.tsinghua.edu.cn/simpleProcessing ./nvidia-pyindex-1.0.3.tar.gz ERROR: Command errored out with exit status 1: command: /root/anaconda3/envs/cv_1/bin/python -c 'import io, os, s
2021-07-20 11:47:11 6561
原创 torch里面的Tensor、as_tensor、tensor以及from_numpy究竟有何区别?
导读在使用pytorch的时候我们经常会用到将numpy array转为tensor,以及将tensor转为numpy array的情况。pytroch内置了几种不同的方法可以方便我们将numpy array转换称为tensor,那么这些方法之间究竟有何异同呢?下面我们就来介绍一下实践import torchimport numpy as np#创建一个numpy array的数组array = np.array([1,2,3,4])#将numpy array转换为torch tensor
2021-07-05 18:51:24 5600 3
原创 聊聊特征分解和SVD分解
矩阵分解矩阵分解(decomposition,factorization):将矩阵拆分为多个矩阵的乘积的运算。矩阵的分解包括以下几种:特征分解SVD分解PCAQR分解LU分解极分解矩阵分解在数据压缩、推荐系统以及NLP等都有着比较广泛的应用。特征分解特征分解(eigendecomposition):能够将矩阵分解成一组特征向量和特征值,是一种使用最为广泛的矩阵分解。并不是所有的矩阵能够使用矩阵分解,只有方阵(矩阵的行数等于列数)才有特征分解,我们可以使用下面的数学形式来表示特征分解:
2021-07-04 11:37:21 2061 3
原创 triton server报The engine plan file is generated on an incompatible device
错误信息在启动triton inference server的时候报I0701 02:42:42.028366 1 cuda_memory_manager.cc:103] CUDA memory pool is created on device 0 with size 67108864I0701 02:42:42.031240 1 model_repository_manager.cc:1065] loading: resnet152:1E0701 02:43:00.935893 1 loggin
2021-07-01 11:03:40 3793
原创 triton-inference-server报Error details: model expected the shape of dimension 0 to be between
错误信息描述在使用perf_client对模型的性能做基准测试的时候报了如下错误./perf_client -m resnet152 -u 127.0.0.1:8001 -i grpc system --concurrency-range 4*** Measurement Settings *** Batch size: 1 Measurement window: 5000 msec Using synchronous calls for inference Stabilizing u
2021-06-30 10:56:22 1310
原创 triton-inference-server启动报Internal - failed to load all models
启动nvidia-serverdocker run --gpus=1 --rm -p 8000:8000 -p 8001:8001 -p 8002:8002 -v /full_path/deploy/models/:/models nvcr.io/nvidia/tritonserver:21.03-py3 tritonserver --model-repository=/modelstrtexec --loadEngine=resnet152.engine#输出信息[06/25/2021-22.
2021-06-26 22:24:40 6392 3
原创 triton-inference-server启动报Invalid argument: unexpected inference
错误信息在启动tritonserver的时候报错,错误信息如下:I0625 14:41:46.915214 1 cuda_memory_manager.cc:103] CUDA memory pool is created on device 0 with size 67108864I0625 14:41:46.978097 1 model_repository_manager.cc:1065] loading: resnet152:1I0625 14:42:16.968665 1 plan_bac
2021-06-25 23:42:12 1853
原创 cvat启动成功之后无法访问
$ docker-compose up -d/root/anaconda3/lib/python3.5/site-packages/paramiko/transport.py:33: CryptographyDeprecationWarning: Python 3.5 support will be dropped in the next release of cryptography. Please upgrade your Python. from cryptography.hazmat.back
2021-06-21 21:49:12 3590
原创 sqllite插入numpy数组到数据库
https://stackoverflow.com/questions/18621513/python-insert-numpy-array-into-sqlite3-database
2021-06-20 18:36:46 1074 1
原创 sqllite根据条件一次查询多条数据
https://stackoverflow.com/questions/5766230/select-from-sqlite-table-where-rowid-in-list-using-python-sqlite3-db-api-2-0
2021-06-20 18:09:10 7441 1
原创 找出数组中非重复元素的下标
https://stackoverflow.com/questions/432112/is-there-a-numpy-function-to-return-the-first-index-of-something-in-an-array
2021-06-18 22:24:09 564 1
原创 标量、向量、矩阵、张量之间的区别和联系
文章目录前言标量向量矩阵张量标量向量矩阵张量之间的联系线性代数常用的运算一、向量的运算1.点积代数意义几何意义2.外积3.向量的范数二、矩阵的运算1 .转置2.矩阵的范数3.常见的矩阵4.矩阵的乘法5.矩阵哈达马积6.克罗内克积前言深度学习的表现之所以能够超过传统的机器学习算法离不开神经网络,然而神经网络最基本的数据结构就是向量和矩阵,神经网络的输入是向量,然后通过每个矩阵对向量进行线性变换,再经过激活函数的非线性变换,通过层层计算最终使得损失函数的最小化,完成模型的训练。所以要想学好深度学习,对这些基
2021-06-10 22:47:22 24698 10
原创 git push nothing to commit, working tree clean
错误原因在使用git push的时候报Your branch is up to date with ‘origin/master’. nothing to commit, working tree clean解决办法rm -rf .git/git initgit remote add origin https://repository.remote.url(地址改成你git clone的地址)git commit -m “Commit message”git push -f origin m
2021-05-27 17:11:56 4835 1
原创 flask logging不能写入到日志文件
错误原因在使用logging记录flask日志的时候,发现INFO级别的日志始终写入不进去,代码如下import flask# 实例化 flaskapp = flask.Flask(__name__)if __name__ == '__main__': applogger = app.logger file_handler = FileHandler("error.log") file_handler.setLevel(logging.DEBUG) applo
2021-05-25 14:39:53 2476
原创 detectron2报AttributeError: Attribute ‘evaluator_type‘ does not exist in the metadata of dataset
错误分析AttributeError: Attribute ‘evaluator_type’ does not exist in the metadata of dataset ‘firekp_val’. Available keys are dict_keys([‘name’, ‘thing_classes’]).在使用detectron2训练模型的时候报了上面的错误,错误发生在使用验证集评估模型性能的时候。错误原因detectron2在计算模型的时候会选择一种评估的方法,如果你在Metada
2021-05-11 17:29:45 1489
原创 实现人脸识别APP(二)
导读上一篇文章介绍了人脸识别组成模块,这篇文章主要介绍一下如何来实现一个人脸识别应用,代码我也开源了,在文章最后有开源地址项目结构这个项目主要实现了人脸检测和人脸识别两个模块,人脸检测是基于retinaface模型,人脸识别是基于insightface实现的。整个的人脸识别项目的结构和之前的图像分类是一样的,这里就不重复介绍了。face_jni.cpp:JNI接口,结合了人脸检测和人脸识别函数,提供给java调用recognition.cpp:封装了人脸识别函数retinaFace.cpp:
2021-05-05 23:51:46 1001 5
原创 实现人脸识别APP(一)
导读前面我们介绍了如何使用ncnn来构建一个基于mobilenet的图像分类应用,通过这个项目大家已经熟悉在移动端上部署深度学习模型的整个流程以及每个步骤。接下来,我们来部署一个稍微复杂点项目,教你如何在手机上来实现一个人脸识别应用。这个应用由两个模型组成,由人脸检测和人脸识别模型组成,我们这里实现的只是一个simple版的。一个人脸识别应用除了人脸检测和人脸识别之外还包括活体检测、姿态检测、质量评估等模块。如果大家有兴趣,后期可以在我的项目上进行扩展现在人脸识别的应用已经随处可见了,刷脸支付、登录、
2021-05-05 21:06:49 2773 2
原创 在Android上部署深度学习模型之apk的编译(九)
导读上一篇文章中,我们已经实现了按钮的功能,并且通过CPU和GPU来调用JNI里面的函数来预测图片,这篇文章就教大家如何来编译apk,并且将编译出来的apk文件安装到手机里。Android手机调试Android studio提供了两种方式来调试,一种是通过Android模拟器,另一种是使用真机来调试。这里我们使用真机来调试打开手机的开发者模式不同的机型会略有差别,具体大家可以百度,我这里主要介绍华为手机打开开发者模式的方法,打开设置–>关于手机(滑到最下面)–>点击版本号,如下图所示
2021-05-05 15:43:47 578
原创 在Android上部署深度学习模型之按钮功能实现(八)
导读上篇文章我们介绍了Android UI设计的相关知识,这篇文章我们来看看如何来实现这些按钮的功能。按钮功能实现在我们启动APP的时候会执行MainActivity.java中的代码,文件路径如下创建全局变量和图片识别对象定义控件的全局变量用来保存信息,并且创建一个图片识别对象 private static final int SELECT_IMAGE = 1; //结果展示控件 private TextView infoResult; //图片展示控件
2021-05-05 14:42:57 327
原创 在Android上部署深度学习模型之UI设计(七)
导读前面介绍了一些Android相关的配置文件,这篇文章我们主要来介绍一下Android UI设计相关的知识,如何来设计界UI。Android的布局Android的UI主要是利用布局结合控件来设计出展示给用户的UI,Android中常用的布局主要有LinearLayout(线性布局)、RelativeLayout(相对布局)、FrameLayout(帧布局)、TableLayout(表格布局)、AbsoluteLayout(绝对布局)、GridLayout(网格布局)。控件主要包括有文本控件、按钮控
2021-05-05 12:11:47 581
原创 在Android上部署深度学习模型之Android配置文件(六)
导读这篇文章我们主要讲下,我们用到的一些配置文件以及相关的一些设置,只要稍微了解一下知道那个配置文件是干什么的就行。build.gradle配置文件在使用Android studio创建Android项目的时候,默认会创建两个build.gradle文件,一个是工程目录下的,一个是module目录下的,一个工程目录下可以由多个module。我们下面来看看这两个build.gradle文件的位置工程目录下的build.gradle我们不需要过多关注,使用默认设置即可。这里主要介绍一下app目录下的b
2021-05-05 12:01:33 494
原创 在Android上部署深度学习模型之编写JNI接口(五)
导读上篇文章我们介绍了CMakeLists文件的编写,以及相关参数的配置。在配置好环境之后,我们就开始编写我们的cpp了,因为我这里实现的功能比较简单,所以就直接通过一个jni.cpp就可以实现这些功能。如果功能复杂,使用的模型比较多,最好多分成几个cpp便于管理和更新。JNI函数编写JNI(java native interface),用来编写java与c++交互的接口,在编写的时候需要注意一些编写的规则,java数据类型与c++数据类型的转换。这里简单介绍一下JNI中的数据类型在JNI中如
2021-05-05 11:49:41 685 9
原创 在Android上部署深度学习模型之CMakeLists文件(四)
导读在上篇文章中,我们已经介绍过了如何给Android项目来配置一个ncnn的环境,这篇文章我们主要来介绍一下如何来配置CMakeLists.txt文件。CMakeLists.txt文件CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序或共享库。下面来看看如何编写CMakeList.txt
2021-05-05 11:22:25 662 2
机器学习常用数据集(iris、wine、abalone)
2018-06-06
imaging.jar
2017-04-02
zxing cpp lib
2017-03-05
ListView中因layout_height是wrap_content而引发的问题
2018-06-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人