![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
教程
一个菜鸟的奋斗
这个作者很懒,什么都没留下…
展开
-
手把手教你通过PaddleHub快速实现输入中/英文本生成图像(Stable Diffusion)
近来,基于Diffusion的文图生成模型比较火,用户输入一句话,模型就可以生成一副对应的图像,还是很有意思的。本文记录了通过PaddleHub快速实现上述任务的过程,以供参考。PaddleHub底层依赖于百度自研的开源框架PaddlePaddle,可以根据官方提供的方式来快速安装,目前文档还是挺全面的。PaddleHub开源了较为丰富的预训练模型,涵盖大模型、CV、NLP、Audio、Video、工业应用主流六大品类的 360+ 预训练模型。原创 2022-09-15 16:43:13 · 4647 阅读 · 8 评论 -
手把手教你制作自己的YOLOX目标检测docker部署环境
步骤mkdir workspacegit clone https://github.com/Megvii-BaseDetection/YOLOX.gitDockerfileFROM pytorch/pytorch:latest ADD . /WORKDIR /YOLOXRUN apt-get update && apt-get install -y build-essential libgl1-mesa-dev libglib2.0-devRUN pip3原创 2022-03-13 10:36:02 · 4069 阅读 · 6 评论 -
Linux查询及kill所有python进程
当python进程异常中断时,需要查看所有的python进程。命令如下:ps -ef | grep python当采用并行处理的时候,会有非常多的进程存在,一个个kill非常麻烦,可以直接kill所有python进程。命令如下:killall python...原创 2022-03-07 15:25:24 · 3067 阅读 · 0 评论 -
docker: Error response from daemon: could not select device driver ““ with capabilities: [[gpu]]问题解决
docker在19.03版本之后,可以不用安装nvidia-docker,就能获得GPU的计算支持。但是,直接在docker中使用GPU设备,出现报错如下:docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].这个问题可以通过安装nvidia-container-toolkit来解决。1、添加nvidia-docker的源curl -s -L原创 2022-03-01 15:21:13 · 25363 阅读 · 7 评论 -
docker容器与主机间的文件复制传输
docker容器内部与主机是隔离开的,如果需要在二者间传输文件,可以使用本文示例中的方式。先查看容器的名称:docker ps -a下面NAMES项就是容器的名称,我这里是yolox。CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESdee80c5d856e yolox:v1.0 "/bin/bash" 1原创 2022-03-01 15:05:01 · 5355 阅读 · 0 评论 -
docker查询、删除镜像与容器
使用docker的过程中会需要用到查询、删除镜像与容器的操作,记录如下,以备后用。1、查询镜像docker images返回结果如下:REPOSITORY TAG IMAGE ID CREATED SIZEpytorch/pytorch latest c3f17e5ac010 4 months ago 6.26GBpytorch原创 2022-03-01 10:54:29 · 881 阅读 · 0 评论 -
docker执行权限问题Got permission denied while trying to connect to the Docker daemon socket
安装docker之后,执行docker images等命令,提示权限问题,报错如下:Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/json: dial unix /var/run/docker.sock: connect: permiss原创 2022-02-28 16:10:29 · 6619 阅读 · 0 评论 -
Win10安装pyaudio报错error: Microsoft Visual C++ 14.0 is required.问题解决
最近有需要测试在Windows下面通过pip安装pyaudio库,通过如下命令安装失败:pip install pyaudio报错如下图所示:我的python版本是3.7.4,目前pip直接安装pyaudio还不支持3.7,可以直接下载对应版本的whl文件来安装。下载地址如下:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio安装命令如下:pip install PyAudio-0.2.11-cp37-cp37m..原创 2021-12-28 16:37:27 · 1133 阅读 · 0 评论 -
TypeError: ‘Image‘ object does not support item assignment问题解决
通过Image库打开的图像,直接进行矩阵操作时会报错“TypeError: 'Image' object does not support item assignment”。这里,需要先将图像转换成numpy格式。示例如下:import numpy as npfrom PIL import Imageimg = Image.open('1.jpg')img = np.asarray(img) # to numpy# operationimg[:, 1:10, 1:10] = 0原创 2021-12-27 13:08:03 · 3923 阅读 · 0 评论 -
Ubuntu中nohup实现终端session挂断时程序不中断
在服务器上训练深度学习模型的时候,经常需要关闭terminal之后模型继续训练。不然每次都只能电脑一直开着terminal,既费电又不方便。可以通过nohup命令来实现。nohup命令主要就是用于不挂断地执行程序,就算关闭了当前的session,程序也还会继续执行下去。如果在程序没有执行完毕的情况下,只能通过kill等命令来终止。shell脚本的代码示例如下:CUDA_VISIBLE_DEVICES=0 nohup python train.py > 00.log 2>&1原创 2021-12-23 15:46:03 · 1738 阅读 · 0 评论 -
Ubuntu中shell脚本同时运行多个python程序
在ubuntu系统中经常会需要同时执行多个python程序,如果写在不同的脚本中,操作比较繁琐。可以通过&符号来实现,示例如下:(python train_01.py > 01.log) & (python train_02.py > 02.log)建议加括号()把不同的程序放到一起,因为有些程序也包含&符号,不加括号容易出问题。此外,如果一行太长了,可以最后加 ‘\’ 换行。...原创 2021-12-23 15:09:38 · 3574 阅读 · 1 评论 -
Ubuntu中vi编辑器跳转到文本的第一行和最后一行
在Ubuntu的terminal中使用vi查看文本内容时,如果文本内容比较多的话,通过逐行滑动的方式会比较慢。可以通过如下方式,直接跳转到文本的第一行和最后一行。1、跳转到第一行:0 或 :1 或 gg2、跳转到最后一行:$ 或 Shift + g...原创 2021-12-23 11:21:35 · 2699 阅读 · 0 评论 -
Ubuntu重启后nvidia-smi命令报错NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver.
最近在Ubuntu服务器重启之后,使用nvidia-smi命令的时候就不行了。之前也遇到过这个问题,以为是显卡驱动坏了。出现这个问题的原因很可能是系统的内核更新之后,导致驱动不匹配了。针对这个问题,其实不用重新安装驱动,可以通过DKMS来解决这个问题。DKMS全称是Dynamic Kernel Module Support,它可以帮我们维护内核外的这些驱动程序,在内核版本变动之后可以自动重新生成新的模块。1. 查看已安装的Nvidia驱动版本ls /usr/src | grep nvi原创 2021-12-13 13:56:25 · 5388 阅读 · 3 评论 -
python使用opencv(cv2)在图像上绘制点线等
在视觉算法相关工作的时候,经常需要把一些检测的结果绘制在原图像上,以便查看效果。对与python里面使用opencv(cv2)在图像上绘制点、线、矩形框和文本,以下给出具体的示例。原图像如下:python代码如下:import cv2img_path = 's.jpg'# 读图像img = cv2.imread(img_path)# 绘制点point_list = [(360, 80), (230, 270), (470, 270)]for point in point.原创 2021-12-03 10:37:52 · 18626 阅读 · 1 评论 -
手把手教你快速上手人体姿态估计(MMPose)
最近在研究如何快速实现图像中人体姿态的估计,也就是常见的pose estimation任务。花了些时间,实际对比了AlphaPose、BlazePose和MMPose。BlazePose主要为移动端设计,AlphaPose安装配置比较麻烦,MMPose用起来更为方便,而且支持的模型数量也很多。因此,最终选定MMPose作为人体姿态估计的算法库。以下实测环境为Ubuntu20.04系统。MMPose源码:https://github.com/open-mmlab/mmposeMMPose官方文档:原创 2021-11-22 18:30:49 · 11162 阅读 · 11 评论 -
python通过cv2中VideoWriter输出的视频文件只有几KB的问题解决
最近考虑将深度模型在视频帧上的预测结果直接写入视频中,采用cv2中的VideoWriter写视频,发现生成的视频都只有几KB。查询了各种方案,最大的可能是写入视频的size和图像的size不匹配。但是按照我的代码是直接获取的原视频的size,一般不会有这个问题。多方查看分析,发现是模型输出的图像size和原视频的size差了几个像素,导致了这种不匹配。实际使用时,如果出现了类似的问题,一定要把模型输出的图像保存下来,对比原视频的size,看二者是否匹配。如果不匹配的话,需要将cv2.VideoW原创 2021-11-17 18:19:58 · 5307 阅读 · 0 评论 -
Ubuntu服务器用户磁盘空间quota分配
Ubuntu服务器上有多个用户,需要给用户分配一定额度的磁盘空间。不然,在不限额的情况下,很容易出现磁盘爆满的情况。具体步骤如下:(1) 安装quotasudo apt-get install quota(2) 修改/etc/fstab文件sudo vi /etc/fstab用户在主目录/下,在defaults后面增加usrquota,grpquota这两个选项,如下图所示。建议修改之后重启服务器。(3) 挂载磁盘重新挂载磁盘,并生成aquota.group和aqu.原创 2021-11-17 16:25:34 · 3357 阅读 · 0 评论 -
PIL保存图像“cannot write mode P as JPEG”的解决方法
在使用PIL模块保存图像时,报了个错误“cannot write mode P as JPEG”,这里P表示原始的图像时8位像素,另外也有错误涉及到“RGBA”格式。问题在于直接save的时候图片模式不是“RGB”,需要先将图片转成“RGB”模式才可以正常保存。from PIL import Imageimage_path = '001.jpg'image = Image.open(image_path)if image.mode == 'P' or image.mode == 'RGBA'原创 2020-09-22 14:57:13 · 5814 阅读 · 2 评论 -
python判断图像是否为灰度图
最近接触到一批数据,发现有部分图像是灰度图,找了个代码自动找出来那些灰度图,以备后用。def is_gray(img, threshold=10): if len(img.getbands()) == 1: return True img1 = np.asarray(img.getchannel(channel=0), dtype=np.int16) img2 = np.asarray(img.getchannel(channel=1), dtype=np.in原创 2020-09-22 14:46:45 · 5498 阅读 · 0 评论 -
Git更新本地文件夹到GitHub
在本地调试和修改之后的代码,需要上传到Github上面,常用的操作指令记录下来。git initgit add .git statusgit commit -m "This is a new commit"git remote add origin xxx@xxx/test.gitgit push origin master如果push的过程中提示github上有文件夹本地没有,需要先pull。git pull origin master也许还会有一些其他的问题,原则原创 2020-08-07 11:34:19 · 1624 阅读 · 0 评论 -
Ubuntu18.04服务器端安装Nvidia 430显卡驱动+cuda10.0+cudnn7.6
前段时间服务器的配置出了问题,只能将显卡驱动、cuda、cudnn都重新安装配置。 没想到,才刚过了没多久,有两台服务器又相继出现问题,需要重新安装。想到上次安装的时候临时找教程和资料的痛苦,这次决定将整个安装过程以及遇到的问题和解决方法记录下来,以后或许还会用到。原创 2020-06-24 11:01:50 · 2622 阅读 · 0 评论 -
Python将SVG转换成PNG图像
继json和xml之后,需要处理SVG格式的图像数据。这次没有想象中的顺利,找了几种方案最后才成功。转换SVG格式用到的是cairosvg库,但是安装的时候失败了很多次,主要是下载过程经常中断,需要耐心,别急。这个库不再支持python2,要求在python3下使用,安装指令如下:sudo pip3 install cairosvg从SVG转到PNG格式,命令行输入:cai...原创 2020-04-30 14:57:30 · 10992 阅读 · 7 评论 -
Python读写json文件
在处理标注数据文件的时候,需要用python来读写json文件。常用的读写方式如下:# read the local json filewith open('dict.json', 'r') as obj: dict = json.load(obj)# write the dict to local json filewith open('test.json', 'w') a...原创 2020-04-24 17:26:11 · 1723 阅读 · 0 评论 -
Python并行处理充分利用CPU实现加速
最近在用Python处理公共的图像数据库,由于数据量比较大,一张张串行处理图片时间太久了。因此,决定采用并行的方式来充分利用主机上的CPU来实现处理过程的加速,可以大大减少总的处理时间。这里采用的是concurrent.futures模块,它可以利用multiprocessing实现真正的平行计算。核心原理是:concurrent.futures会以子进程的形式,平行的运行多个python...原创 2019-12-11 12:43:04 · 6551 阅读 · 2 评论 -
手把手教你训练自己的Mask R-CNN图像实例分割模型(PyTorch官方教程)
近来在学习图像分割的相关算法,准备试试看Mask R-CNN的效果。关于Mask R-CNN的详细理论说明,可以参见原作论文https://arxiv.org/abs/1703.06870,网上也有大量解读的文章。本篇博客主要是参考了PyTorch官方给出的训练教程,将如何在自己的数据集上训练Mask R-CNN模型的过程记录下来,希望能为感兴趣的读者提供一些帮助。PyTorch官方教程(...原创 2019-09-06 10:39:49 · 63466 阅读 · 261 评论