![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 72
blgpb
E-mail: windu.yu@qq.com
展开
-
Windows10安装rdkit
之前我尝试使用WIndows10从源码编译安装rdkit,但是尝试了很久都失败了。于是,我又重新尝试使用conda安装。最终,我换了个思路,终于顺利安装成功rdkit和pyg了。我的python版本是3.8.13,亲测可以成功安装。最后,我们再安装PyG。参考下面的命令就可以顺利安装。安装torch后测试,可以使用GPU运算。安装完之后,再安装torch,可以参考。创建一个新的conda环境,然后运行。...原创 2022-08-02 13:22:08 · 655 阅读 · 0 评论 -
Windows10源码编译安装RDKit
RDKit是一个非常重要的库,可是它的安装却非常不友好。我尝试了使用conda安装,但是按照博客上写的方法,都无法安装。因此,我只好硬着头皮按照RDKit官网上提供的方法安装。RDKit是由C++语言编写的,因此在WIndows下的安装需要从源代码进行编译,困难重重。下面是我的安装教程。......原创 2022-08-01 23:06:31 · 738 阅读 · 1 评论 -
docker更换为国内的镜像源
为了提高镜像的下载速度,我们需要将docker的镜像更换为国内的源,方法很简单cat > /etc/docker/daemon.json << EOF{ "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]}EOF然后systemctl restart docker可以通过docker info查看是否成功更换源...原创 2020-12-27 18:11:04 · 1498 阅读 · 1 评论 -
对python的package进行修改
很多时候,python提供的大量的package极大地方便了我们的编程。但是,当我们想要修改部分代码的时候,该怎么办呢?本文以mmcv为例,介绍修改代码的过程。# 找到package所在的路径在此之前,我是通过...原创 2020-11-08 21:38:51 · 6804 阅读 · 1 评论 -
Pytorch nn.Linear() 使用示例
由于我之前一直用Keras,感觉Keras中的Dense()层非常好用,可以非常方便地进行全连接操作。这次需要用到Pytorch中的全连接层,一开始还不太会用,但是仔细研究后发现,其实两者殊途同归,方法很相似。当我们需要将形如[batch_size, 18, 1, 1]的张量全连接操作后分别得到[batch_size, 18, 16]和[batch_size,1]的张量,该如何操作呢?[batch_size, 18, 16]class my_network(nn.Module): def __原创 2020-11-04 09:51:45 · 1291 阅读 · 1 评论 -
调用mmdetection框架代码进行COCO数据集加载
mmdetection目标检测框架提供了非常方便的数据集加载接口,只需要简单地修改几个参数,就可以配置不同的数据预处理方式。如果我们需要用COCO数据集进行除目标检测之外其他的计算机视觉方法研究,需要使用到COCO数据集,如何进行数据集加载呢?为了避免重复造轮子,本文提供了一种利用mmdetection框架代码的方法,只需要简单几行代码就可以实现数据加载。from mmdet.datasets.coco import CocoDatasetfrom functools import partialfr原创 2020-11-03 22:24:38 · 903 阅读 · 1 评论 -
COCO数据集的加载过程
在mmdetection框架中,数据集的加载是一个非常重要的过程。 在之前的博客中,我主要讲解了pipeline,本文将更进一步,向更底层深入,讲解COCO数据集在进行pipeline处理之前的加载过程。在mmdet/datasets/coco.py中,定义了CocoDataset这个类,这个类是继承自CustomDataset(我的博客中介绍分析了这个类)。我将这个类的部分代码展示在下面@DATASETS.register_moduleclass CocoDataset(CustomDataset)原创 2020-10-31 22:43:26 · 1672 阅读 · 0 评论 -
pycocotools的COCOeval的stats实例属性
pycocotools提供的COCOeval非常方便,可以让我们计算目标检测结果的mAP.一般常见的代码是cocoEval.evaluate()cocoEval.accumulate()cocoEval.summarize()会将最终的计算结果在终端输出,如下图所示如果我们想将最终的结果返回,该怎么做呢?我在认真阅读了pycocotools/cocoeval.py的源代码,发现在COCOeval类中定义了stats实例属性,cocoEval.summarize()函数中给stats原创 2020-10-28 17:53:40 · 2568 阅读 · 2 评论 -
在python程序被终止的“弥留之际”再执行最后一段代码
对于深度学习训练或者验证过程,由于数据太多,很多时候我们等不及程序执行完毕就直接“Control+C”终止了程序运行。但是,我们还想程序在结束运行之前,清理一下环境,删除一些文件。于是,我们可以用下面的方法完成,非常简单。无论按了多少次“Control+C”,都不用担心,下面的代码都能成功执行。import atexitimport glob@atexit.registerdef clean(): print('-'*100) print('clean up the envir原创 2020-10-28 16:22:35 · 1187 阅读 · 0 评论 -
COCOeval 计算一张图像的mAP 目标检测
pycocotools提供了COCOeval,可以让我们方便地计算coco数据集的mAP。然而,如果我们只想计算少量图像的mAP,该如何做呢?coco2017数据集由训练集、验证集、测试集组成。训练集中一共拥有118287张图像,验证集中有5000张图像,测试集中有40670张图像。训练集的annotations文件的大小为469.8MB,验证集的annotations文件的大小为20MB,测试集的annotations文件没有提供。如果我们手动分割训练集或者验证集,需要额外的处理,很不方便。因此,本文提原创 2020-10-27 22:15:20 · 2650 阅读 · 2 评论 -
mmdetection中的pipeline
首先,我们要明确2个不同的对象。在train.py中,先进行的是build_dataset然后是build_dataloader。需要注意的是输入图像resize等图像预处理工作和pipeline都是在build_dataset阶段完成的,相反build_dataloader阶段做的事儿很少(mmdet/datasets/loader/build_loader.py)\在研究pipeline之前,需要先研究mmdet/datasets/coco.py,我之前就是漏了这一个部分,直接去研究pipeline原创 2020-10-24 17:47:19 · 2463 阅读 · 1 评论 -
mmdetection遇到ValueError: ctypes objects containing pointers cannot be pickled
问题描述:在使用mmdetection进行训练时,使用单个GPU可以正常训练,当我尝试使用2个GPU分布式训练,产生了奇怪的报错:ValueError: ctypes objects containing pointers cannot be pickled运行环境mmcv (0.2.16)mmdet (1.0rc0+unknown, /home/DCTNet/segmentation)torch (1.4.0)torchvision (0.5.0)CUDA 10.1问题解决原创 2020-10-21 22:51:34 · 3377 阅读 · 4 评论 -
DCTNet目标检测环境配置
最近我在研究CVPR2020的一篇论文:《Learning in the Frequency Domain》,这篇文章的创新点在于将RGB图像进行DCT变换,然后只用其中一部分通道送入图像分类和目标检测网络,在大大降低网络计算量的情况下,仍能够保持原有的性能。作者提供了源代码,我想复现一下目标检测部分的内容。DCTNet中的目标检测使用的是mmdetection框架,本文主要介绍的是如何搭建这个环境并成功运行测试代码,包括了我在搭建过程中遇到的报错以及解决方法。第一步 下载docker镜像随着容原创 2020-10-15 19:35:29 · 994 阅读 · 0 评论 -
model.fit 无法输入生成器的数据
history = model.fit(x=next(batch_generator_X), y=[next(batch_generator_y), domain_labels], epochs=epochs, callbacks=callbacks)对于Tensorflow2.0+Keras,使用Keras函数式API可以非常高效便捷地搭建网络,但是会丧失一些灵活性。比如输入训练数据,只能...原创 2020-02-10 14:08:47 · 740 阅读 · 1 评论 -
TensorFlow2.0 TypeError: 'list' object is not callable
在写TensorFlow2.0的程序时,采用Keras函数式API搭建模型,model.summary()可以正确生成模型表格,可是训练了一个epoch后就提示TypeError: 'list' object is not callable,也没有别的报错。一开始,我以为是我训练数据提供model.fit()有问题,主要精力都用在了排查数据集是否有问题。经过漫长时间的研究,还是报错。最后,...原创 2020-02-08 20:51:03 · 576 阅读 · 0 评论 -
基于深度学习的人脸表情实时检测(一)
最近,我fork了GitHub上的一个深度学习的开源项目,项目链接为:https://github.com/oarriaga/face_classification我的系统环境是虚拟机Ubuntu18.04,Python3.6.5,使用的开发环境是pycharm-2018.1.4专业版。本项目所需要的环境配置请见我之前的技术博客:https://blog.csdn.net/blgpb/arti...原创 2018-06-25 00:41:53 · 9015 阅读 · 18 评论 -
OpenPose安装过程中遇到的问题及解决办法
参考的博客:https://blog.csdn.net/qq_35468937/article/details/81514198,按照博客上的步骤操作,但是在安装过程中还是遇到了问题。我遇到的这些问题都非常诡异,谷歌、github issue上都没有类似的问题。苦思冥想,多次实验,终于找到了原因和解决办法。操作系统:Ubuntu 18.04 LTS 64位已安装的CUDA版本:CUDA9....原创 2019-02-25 23:19:15 · 14829 阅读 · 13 评论 -
ST-GCN网络安装过程中遇到的问题
ST-GCN网络:https://github.com/yysijie/st-gcn问题一:在安装完环境和依赖,准备运行demo程序时,报错:VideoCapture (IP camera/video) could not be opened for path: 'examples/media/video.avi'.由于ST-GCN在运行时,先要调用运行OpenPose,所以这个问...原创 2019-02-26 10:27:15 · 3924 阅读 · 6 评论 -
Ubuntu 18.04.2 LTS 安装 caffe
参考文档:https://blog.csdn.net/yhaolpz/article/details/71375762在安装过程中,遇到了一些问题,分享如下1. 需要在build之前,调整gcc g++的版本在命令行逐行输入下面的命令:sudo apt-get install gcc-5sudo apt-get install g++-5cd /usr/binsudo ...原创 2019-03-22 22:24:28 · 521 阅读 · 0 评论 -
Windows下YOLOv3的python接口
通常来说,在linux系统上,使用yolo官方提供的darknet代码编译,同时使用它提供的python例程代码就可以运行yolo网络。在Windows下,使用AlexeyAB贡献的C++版yolo代码,也可以运行,而且他还提供了将yolo编译成.dll的工程(CPU版本和GPU版本都有),非常方便。本文的目的在于提供在Windows下python版本的yolo调用接口。众所周知,Window...原创 2019-07-22 12:00:55 · 3359 阅读 · 6 评论 -
Ubuntu 18.04 Python3.6.5 安装opencv2-python
大家好,这是本人在CSDN分享的第一篇技术博客。在fork一个GitHub开源项目时,需要安装opencv2-python环境,安装过程进行到最后遇到了无法“import cv2”的问题。折腾了好长时间,终于找到了解决办法。现将完整步骤写下。 在Ubuntu 18.04环境下,默认安装好了Python3.6.5,但是没有安装Python2版本。 第一步,安装需要的pack...原创 2018-06-23 10:40:36 · 6000 阅读 · 5 评论